Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Endlosformular aus 2 Tabellen

Begonnen von stemo, Mai 29, 2015, 23:09:39

⏪ vorheriges - nächstes ⏩

stemo

Hallo VBA Spezialisten,
ich bin hier ganz neu und brauche mal Eure Unterstützung, da ich schon einige Tage an dem folgenden Problem verzweifle.
Ich habe ein Endlosformular welches durch eine Abfrage mit Werten aus Tabelle A gefüllt wird. In Tabelle A hat jeder Datensatz eine eindeutige ID. Im Endlosformular gibt es aber auch ein ungebundenes Textfeld in das Werte aus Tabelle B eingefügt werden sollen. Verbunden sind die Tabellen durch die ID, nur das in Tabelle B die ID mehrmals auftaucht. Der Datensatz mit der ID Nr.1 komme in Tabelle A also einmal vor, in Tabelle B  X-mal.
Die Erstellung des Endlosformulars mit den Werten der Tabelle A über die Abfrage ist einfach, aber wie bekomme ich jetzt in diese Datensätze die X Werte der Tabelle B?

Habt ihr da eine Idee?

Hondo

Hallo,
erstelle aus beiden Tabellen eine Abfrage, und verwende diese als Datensatzherkunft. Auf das ungebundene Feld kannst du dann verzichten.

Andreas

stemo

#2
Hallo Andreas,
vielen Dank für diese superschnelle Antwort.
Aber ich verstehe das mit den 2 Abfragen nicht. Vielleicht sehe ich ja den Wald vor lauter Bäumen nicht. Sorry.
Das Endlosformular wird mit der 1. Abfrage gefüllt. Ein Unterformular ist im Endlosformular nicht erlaubt. Was mach ich jetzt mit der 2. Abfrage und wie stelle ich das Ergebnis der 2. Abfrage im Endlosformular dar?

Stefan

Nachtrag: Aus beiden Tabellen eine Abfrage erstellen: Wenn ich so abfrage erscheint als Ergebnis jeder Datensatz der Tabelle 1 so oft wie es dazugehörige Einträge in der Tabelle 2 gibt. Das ist aber nicht das was ich benötige. Ich brauche jeden Datensatz der Tabelle 1 einmal und die dazugehörigen Datensätze der Tabelle 2 so oft wie jeweils Einträge da sind.

MzKlMu

Hallo,
irgendwie verstehe ich das Problem gerade nicht.
Kannst Du mal eine Bild des Beziehungsafensters zeigen und das dann mal genauer an Hand des Bildes erläutern ?

Übrigens, Andreas hat nicht von 2 Abfragen gesprochen, sondern von einer Abfrage mit den 2 Tabellen.
Gruß Klaus

stemo

Hier mal ein Versuch das Ganze grafisch darzustellen. Ich hoffe mein Problem wird dadurch etwas klarer.

Montag bin ich wieder in der Firma. Dann kann ich auch ein Bild des Beziehungsfensters anhängen.

MzKlMu

Hallo,
die grafische Darstellung ist Dir nicht gelungen, ich verstehe es nicht. Ein Bild des Beziehungsfensters in dem man die Tabellen, deren Felder und die Beziehungen sieht wäre einfacher gewesen und hätte mehr ausgesagt.

Also müssen wir bis Montag warten, oder Du beschreibst mal die beiden Tabellen mit den Feldern und was in der DB erfasst wird.
Gruß Klaus

MaggieMay

Hi,
ZitatHier mal ein Versuch das Ganze grafisch darzustellen.
eine detaillierte Beschreibung zur grafischen Darstellung hätte evtl. helfen können, diese zu verstehen.
Freundliche Grüße
MaggieMay

stemo

Hallo,

ich habe jetzt noch mal versucht alles etwas klarer zu machen und ein PDF mit ein paar Bildschirmcopies angehängt. Ich hoffe es war jetzt verständlicher und ihr könnt mir helfen.

Gruß aus dem bewölkten Hamburg

MaggieMay

Hi,

du könntest die Funktion "SQLListe" aus dem dbWiki einsetzen, um die B-Daten zum aktuellen Datensatz direkt in der Abfrage hinzuzuholen.
Freundliche Grüße
MaggieMay

DF6GL

Hallo,

die Darstellung mit einem Endlosform und darin eingebetteten weiteren Ufo bei jedem Datensatz wird nicht gelingen, weil das einfach (Gruppierungen) nicht geht. Allenfalls kannst Du einen Bericht erzeugen, der nach der Projekte-ID gruppiert und dadurch "Blöcke" erzeugt, die aus einem Projekt und den dazugehörenden Zusätzen besteht. Das käme in etwa an die Darstellung heran.

Wenn Du das ungebundene Form Textfeld wie gezeigt per Code füllst,
ist und bleibt es nicht editierbar.


Es ist aber möglich, in den Fußbereich des Endlosforms ein Unterformular mit entspr. Verknüpfung einzubauen. Access meckert zwar ein wenig, aber das kann ignoriert  und die geänderten Einstellungen( Endlosform--> Einzelform) zurückgenommen werden.

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

stemo

Hallo,

vielen Dank für Eure Vorschläge.
Das vom mir im PDF gezeigt Endlosformular wird schon so erzeugt wie angezeigt. Wenn die Daten im ungebundenen Textfeld nicht editierbar sind ist das zwar doof aber ich kann damit leben. Es fehlt jetzt eigentlich nur noch die Abfrage im VBA Code der ID des jeweiligen Datensatztes. Und genau daran scheitere ich. Ich habe auch im Endlosformular die jeweilige ID angezeigt  (im PDF mit rotem Pfeil markiert) und versucht diese per ME!ID in den VBA Code zu bekommen, klappt aber nicht. Es ist immer nur die ID des ersten Datensatzes.
Wißt ihr wie man die ID des jeweiligen Datensatzes per VBA abfragt?


DF6GL

Hallo,

in einem Endlosform sind nur die Felder (Werte) des aktuell angezeigten DS (der, der den Fokus besitzt) per VBA zugreifbar .

Was ist aber das genaue Problem jetzt?  Die Daten aus Tabelle B kannst Du doch jetzt schon anzeigen?
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

Folge meinem Rat und setze die dbWiki-Funktion ein, damit lässt sich das Problem mit der Anzeige lösen.

Wenn du dabei Hilfe brauchst, zeige bitte den Code der aktuellen Abfrage - aber bitte als Text und nicht als Screenshot!
Freundliche Grüße
MaggieMay

stemo

Hallo Franz,

Dank für die Antwort.
Mein Problem ist das ich nur alle in Tabelle B enthaltenen Datensätze anzeigen kann. Ich möchte aber die die zum Datensdatz passenden und über die ID verbundenen anzeigen.

Gruß

Stefan

DF6GL

Hallo,


verwende die von MaggieMay vorgeschlagene Funktion und ruf die im Steuerelementinhalt des entspr. Form-Textfeldes auf mit Übergabe des ID-Feldes und des passenden SQL-String.  (=SqlListe(....)   )

oder

wie auch  vorgeschlagen, Aufruf in der Abfrage in einer "berechneten Spalte":

Feld:   tblBText: SqlListe(....)



oder

erstelle ein Endlosform mit Datenherkunft zu tblB und binde das, auch wie schon gesagt, im FormularFUSS ein. Das Meckern von Access kannst Du ignorieren und die Form-Eigenschaften wieder anpassen. Evtl. müssen die Eigenschaften "Verknüpfen von/nach" des UFO-Steuerelementes auch angepasst werden.
Diese Lösung zeigt die zugehörenden Daten aus tblB zum akt. angezeigten DS ( aus tblA) an. Wird auf einen anderen DS geklickt, aktualisiert sich das Ufo entspr.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access