Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Listenfeld via vba sortieren

Begonnen von Fronti, März 25, 2023, 10:55:07

⏪ vorheriges - nächstes ⏩

Fronti

Hallo liebe Community,

ich spiele seit gestern mal wieder: "Finde den Fehler!"
Habe folgenden VBA-Code und kann mir nicht erklären, weshalb mein Listenfeld, nachdem ich die Schaltfläche angeklickt habe leer bleibt...  :o

Private Sub Befehl434_Click()

' Datenquelle des Formulars

strSQL = "SELECT tblMessung.mes_id " & _
         ",tblFilm.film_download AS Download " & _
         ",IIf([mes_zurueckgesetzt_reset]=1,'X','') AS RST " & _
         ",DateAdd('m',3,[Erster]) AS Verjährung " & _
         ",tblKameraTyp.KamTyp_initialen AS Syst " & _
         ",Format([Erster],'mm' + '/' + 'yyyy') AS Monat " & _
         ",Sum(tblFilm.film_bildanzahl) AS Bildanzahl " & _
         ",tblPlatz.pla_code AS Code " & _
         ",tblPlatz.pla_Bezeichnung AS Bezeichnung " & _
         ",'(' + [fahr_code] + ') ' + [fahr_richtung] AS Fahrtrichtung " & _
         ",[gem_name] + ' - ' + [ort_name] AS Standort " & _
         ",(CONVERT(date, GETDATE())-[film_zeitstempel_plantafel]) AS [Pool seit (T)] " & _
         ",tblFilm.film_zeitstempel_plantafel " & _
         ",Min(tblFilm.film_beginn_messreihe) AS Erster " & _
         ",tblMessung.mes_zurueckgesetzt_reset " & _
         "FROM ((tblGemeinde " & _
         "LEFT JOIN tblOrtschaft ON tblGemeinde.gem_id = tblOrtschaft.gem_id_f) " & _
         "LEFT JOIN tblPlatz ON tblOrtschaft.ort_id = tblPlatz.ort_id_f) " & _
         "LEFT JOIN (((tblKameraTyp " & _
         "RIGHT JOIN tblKamera ON tblKameraTyp.KamTyp_id = tblKamera.Kamtyp_id_f) " & _
         "RIGHT JOIN (tblFahrtrichtung " & _
         "LEFT JOIN (tblEichung " & _
         "RIGHT JOIN tblMessung ON tblEichung.eich_id = tblMessung.eich_id_f) ON tblFahrtrichtung.fahr_id = tblMessung.fahr_id_f) ON tblKamera.Kam_id = tblEichung.Kam_id_f) " & _
         "LEFT JOIN tblFilm ON tblMessung.mes_id = tblFilm.mes_id_f) ON tblPlatz.pla_id = tblFahrtrichtung.pla_id_f " & _
         "WHERE (((tblFilm.film_plantafel)=1))"
         
strSQL = strSQL & "GROUP BY tblMessung.mes_id " & _
         ",tblFilm.film_download " & _
         ",tblKameraTyp.KamTyp_initialen " & _
         ",tblPlatz.pla_code " & _
         ",tblPlatz.pla_Bezeichnung " & _
         ",'(' + [fahr_code] + ') ' + [fahr_richtung] " & _
         ",[gem_name] + ' - ' + [ort_name] " & _
         ",tblFilm.film_zeitstempel_plantafel " & _
         ",tblMessung.mes_zurueckgesetzt_reset " & _
         "ORDER BY Min(tblFilm.film_beginn_messreihe) " & _
         ""


Me.lstPlantafel.RowSource = strSQL

Me.Requery
Me.lstPlantafel.Requery
End Sub

Köbi

Schuss ins Blaue. Müsste man im strSQL das + nicht durch & ersetzen?

Fronti

Auch schon probiert, leider nein. Dennoch vielen Dank. :)

Köbi

Du hast sicher schon getestet, ob die Abfrage überhaupt irgendwelche Werte liefert.

markusxy

In dem SQL-String sind doch jede Menge Funktionen die Jet SQL nicht kennt.
Das kann also niemals funktionieren.
Wenn du da im Hintergrund einen Server verwendest, solltest du die Abfrage - ohne Sortierung - direkt am Server speichern und nach Access verknüpfen.
Alternativ natürlich als Passthrough, oder du verwendest adodb.

Abgesehen davon, dass die Abfrage eine einzige Katastrophe ist.

Fronti

Liefert keine Werte, wie von markusxy vermutet.