Neuigkeiten:

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

Mobiles Hauptmenü

Formular "vergisst" Datenquelle aus Abfrage

Begonnen von rene.hundert, November 23, 2025, 18:00:52

⏪ vorheriges - nächstes ⏩

rene.hundert

Hallo in die Runde,

nachdem ihr mir bei den letzten Problemen so super geholfen habt, würde ich gerne mein nächstes Problemchen beschreiben.

Datenbank mit Tabelle "Adressen". Auf diese Tabelle greifen ich sowohl als Empfänger, als auch als Absender zu. (leider mit Mehrfachauswahl, ab das geht jetzt erstmal auch nicht anders)

Lösung: Mit den beiden Abfragen qryEmpfänger und qryAbsender ziehe ich mir jeweils die Adressdaten wie z.B. den Name.

Nun habe ich ein Formular, mit welchem ich E-Mails versenden will. Hier zeige ich mir natürlich den Absender- und den Empfänger-Namen.

Die Felder haben dann im Steuerelementinhalt:
qryAbsender.tblAdressen.Adressat und qryEmpfänger.tblAdressen.Adressat

Leider ändert er beim erneuten Öffnen immer den Steuerelementinhalt in beiden Feldern in:
tblAdressen.Adressat.Adressat

und "vergisst" somit den Bezug zur Abfrage. Ausgegeben wird dann natürlich ein Fehler #Name?

Vielen Dank für eure Hilfe!

Grüße René

Knobbi38

Hallo René,

das Formular "vergisst" mit Sicherheit keine Datenquelle; auch ist der Zugriff mit "qryAbsender.tblAdressen.Adressat" sehr ungewöhnlich, wenn nicht sogar vollkommen falsch.

Zunächst solltest du für die Steuerelemente einen anderen Bezeichner vergeben als den gebundenen Feldnamen aus der Tabelle/Abfrage. Gängige Namenskonventionen verwenden z.B. für Textboxen den Präfix "txt" und für Komboboxen "cbo".

Wenn du das erledigt hast, solltest du dann mal genauer beschreiben, was "qryAbsender" eigentlich ist und wie du auf die Abfrage zugreifst.

Knobbi38

rene.hundert

#2
Servus,

ich habe in der tblVersandartikel die Mehrfachauswahl Empfänger und Absender (im Hintergrund ergeben sich dann die Werte Empfänger.Value und Absender.value) beide greifen als Quelle auf tblAdressat zu.

Um mir jetzt in einem Formular zum Beispiel die E-Mail-Adresse sowohl des Empfängers, als auch des Absender anzeigen zu lassen, habe ich die beiden Abfragen qryEmpfänger und qryAbsender erstellt.

Nun habe ich wiederrum eine qryEmailVersand erstellt, in welcher ich natürlich nach der Versandart E-Mail filtere und mir natürlich auch Empfänger und Absender mit deren E-Mail-Adressen anzeigen lassen will.

Die qryEmailVersand funktioniert auch einwandfrei. Sie zeigt mir die Felder tblAdressen.Adressat sowohl der Tabelle qryAbsender, als auch der Tabelle qryEmpfänger an.

Die Namen habe ich angepasst mit ctlAbsenderEmail und ctlEmpfängerEmail

Vielen Dank schon einmal dafür



Knobbi38

#3
Hallo René,

kannst du eine Beispiel-DB mit ein paar Testdaten und dem von dir beschriebenen Formular hochladen, damit man das nachvollziehen kann?

Im Übrigen solltest du auf solche Nachschlagefelder in Tabellen verzichten und diese durch "normale" Tabellen mit einer 1:N Beziehung ersetzen. Mit den Nachschlagefeldern baut Access auch so eine Struktur auf, versteckt sie aber und das Ganze wird damit eigentlich nur schwieriger zu handhaben. Besser gleich "richtig" machen.


Knobbi38

Beaker s.a.

Hallo Rene,

Bevor du weitermachst, beherzige Ulrichs Hinweis bezügl. Nachschlagefeldern.
Mach das mit 1:n Beziehungen, da hast du bessere Kontrolle.
Wie viele Absender hast du denn überhaupt?
Ein Kennzeichen für Absender/Empfänger hast du ja scheinbar, sonst könntest
du ja keine zwei getrennte Abfragen haben.
Ohne mehr zu wissen, lässt sich schlecht helfen. Ich würde als erstes es wohl
mit zwei UFo versuchen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)