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.
  •