Hallo
Schreibe den Speiseplan für mehrere Bereiche über Access.
In einem Listenfeld möchte anzeigen, wann es ein Gericht das letzte Mal in einem Bereich gab.
Dazu benötige ich eine Abfrage, in der die Spalte Dynamisch ist.
Eine Spalte heißt z.B. „FHMittag“.
In einer globalen Variable speichere ich den Spaltennamen. Die Variable heißt vFeldN.
Eine Function wird mit der Variablen gefüllt. Function heißt: FeldN()
Nun zur Abfrage.
Wie kann ich in der Abfrage auf die Spalte zugreifen, die den Namen der Varialblen trägt.
So habe ich es versucht:
Hier:frowning:FeldN()) 'als Beispiel gefüllt mit „FHMittag“
Die neue Spalte „Hier“ wird aber nicht mit den Werten der Spalte „FHMittag“ gefüllt, sondern in der ganzen Spalte steht dann das Wort „FHMittag“.
es ist nicht möglich, in einer gespeicherten Abfrage in deren Select-Liste eine Variable, bzw. Funktion für die Bestimmung einer Tabellenspalte zu nutzen.
Allenfalls kann der Abfrage-SQL-String per VBA (dynamisch) zusammengesetzt und dem Listenfeld zugewiesen werden (im Formular mit dem Listenfeld) :
Dim strSQL as String
strSQL = „Select [“ & vFeldN & „] From tblTabelle1“
Me!lst_Liste.Rowsource = strSQL
Nachtrag zum Kommentar.
Der Code für Listenfeld:
Dim strSQL as String
strSQL = „select [“ & vFeldN & „] , Datum from Master where [“ & vFeldN & „] = '“ & vGericht & „’“
Me!ListeMittag.RowSource = strSQL