Viele Forumsnutzer kennen sich ja sehr gut mit VBA und Access (sicherlich auch mit SQL) aus. Mich würde interessieren, wie Ihr folgendes Problem lösen würdet:
In einem Access-Formular können verschiedene Optionen ausgewählt werden. Über verschiedene Buttons werden dann dynamisch Abfragen erstellt.
Meine Vorgehensweise ist dabei so:
- einlesen der ausgewählten Optionen
- SQL-String aufbauen
- Abfrage erstellen
- Falls erwünscht, Abfrage öffnen
Dabei enstehen kaum noch lesbare "sql"-Textmonster. In diesem Beispiel etwa 5 Zeilen lang, ich habe aber auch komplexere Abfragen von bis zu 15 Zeilen. Ist mein Lösungsansatz sinnvoll, oder kennt ihr bessere? Und wenn ja wie sollte ich die Abfragen am besten erstellen?
Private Sub CreateQuery_Messdaten(Optional bolOpenQuery As Boolean = False)
Dim sql As String
Dim query As String
On Error GoTo Err_CreateQuery_Messdaten
'überprüfen, ob eine Messung ausgewählt wurde
If KombMessungAuswählen.Value = "" Then GoTo Exit_CreateQuery_Messdaten
'Abfragebefehl
sql = "SELECT Messdaten.Temp, Messdaten.Time, Messdaten.DSC, Messdaten.Sensit, Messdaten. _
Segment, Messung.DscID FROM Messung INNER JOIN Messdaten ON Messung.MessungID = Messdaten.MessungID" & _
" WHERE ((Messdaten.Segment)>= " & KombSegmentIDab.Value & _
" AND (Messdaten.Segment)