Neuigkeiten:

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

Mobiles Hauptmenü

übergeben einer ID aus einer Listbox an ein Textfeld

Begonnen von Carl, Mai 05, 2019, 15:08:03

⏪ vorheriges - nächstes ⏩

Carl

Ich habe mal eine Frage, wie man das am einfachsten machen sollte.

* Ich habe eine Listbox, die auf einer abfListbox basiert
* abfListbox hat die Felder [ID], [Beschreibung], [Text]
* Die Listbox entnimmt die Felder [ID] (gebunden), [Beschreibung]

* In einem Textfeld soll der Inhalt von [Text] angezeigt werden, und zwar für die ID, die in der Listbox gewählt wurde. Wie sollte man das machen?

Carl

MzKlMu

Hallo,
am Besten und am Einfachsten wenn Du die Tabelle der Listbox in die Abfrage für das Formular mit dazu nimmst, dann hast Du auch das Feld Text zur Anzeige zur Verfügung.

PS:
Text ist ein ungeeigneter Feldname, da das auch eine gleichnamige Eigenschaft eines Feld ist.
Bitte unbedingt umbenennen.
Gruß Klaus

Carl

Danke für Deine Antwort. Ja, ich habe es versucht auf Abfrage-Ebene. Wenn ich die Abfrage öffne und die Tabelle, die der Listbox zugrunde liegt, mit einfüge, wird die Beziehung nicht angezeigt. Obwohl im Beziehungsfenster alles in Ordnung ist.

Wahrscheinlich entsteht das Problem, weil ich die Tabelle der Listbox in der Haupttabelle doppelt verwende. Sie wird zweimal benötigt.

Gibt es für das Textfeld nicht eine Lösung mit dlookup oder so? Wie adressiere ich denn in einer dlookup die ID, die aktuell gewählt wurde?

Carl

okay, ich habs formularseitig hinbekommen. Danke.

Was bedeutet denn in einer Abfrage, wenn die Beziehungen in den Tabellen nicht mit den kleinen schwarzen Strichen angezeigt werden, sondern wenn nur eine sehr dünne Linie da ist und bei jeder Tabelle ein kleiner schwarzer Punkt?

Carl

MzKlMu

Hallo,
ZitatWas bedeutet ...
das bedeutet, dass keine entsprechende Beziehung im Beziehungsfenster eingestellt ist. Das solltest Du nachholen und dabei auch die fehlende referentielle Integrität einstellen.
Gruß Klaus

Carl

Ach so, okay! erledigt

Ich habe mal noch eine frage, ich versuche mit diesem Code ein Formular zu öffnen und eine ID zu übergeben, die in der Liste75 ausgewählt wurde.


If IsNull(Me.Liste75) Then
     MsgBox "Bitte einen Probanden wählen."
     Exit Sub
Else
DoCmd.OpenForm "frmAuswertung01a", , , "ID=" & ctl.Parent.ID, , acDialog, ctl.Value
DoCmd.Close acForm, "frmAuswertung00", acSaveYes
End If


Der fehler liegt in DoCmd.OpenForm "frmAuswertung01a", , , "ID=" & ctl.Parent.ID, , acDialog, ctl.Value, aber ich finde ihn nicht. Kannst Du ihn erkennen?

Der gewählte Wert in Liste 75 wird nicht gespeichert, sondern nur zur Weitergabe verwendet.

Carl

DF6GL

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

Carl

Ich weiß es nicht. Was sollte denn an dessen Stelle stehen?

MzKlMu

Hallo,
wo hast Du denn den Code her, man kann doch nicht einfach irgenwas abschreiben und hoffen dass es geht.

ZitatDer fehler liegt...
Was für ein Fehler wird denn gemeldet ?

Du muss Dich doch auch auf das listenfeld beziehen, wenn Du dessen Inhalt verwenden willst.

Was willst Du mit dem acSaveYes ?
Gruß Klaus

Carl

Gib mal bitte einen Tipp, wie man das verbessern könnte? Ich hab schon mindestens 50 Varianten durchprobiert.

Ich war vorhin schon so verzweifelt, dass ich fast einen Makro gemacht hätte ...

Carl

MzKlMu

Hallo,
versuche es so:
DoCmd.OpenForm "frmAuswertung01a", , , "ID=" & Me.Liste75
DoCmd.Close acForm, "frmAuswertung00"
Gruß Klaus

Carl