Nun wir können schon helfen, aber hier ergibt sich ein kleines Problem, was
du offensichtlich noch nicht so ganz verstanden hast.
Deine SQL ist innerhalb ACCESS natürlich korrekt, das zumindestens schreibst
du ja. Nun verwendest du einen SQL Befehl, der sich dynamisch zusammensetzt.
Und jetzt kommt das aus meiner Sicht hierfür verantwortliche Problem...
Ich führe hier mal ein kleines Beispiel aus einer meiner DB-Projekte kurz auf, welches
zwei schlichte miteinander verknüpfte Tabellen in einer Abfrage abbildet....
So schaut es in Access aus:
SELECT Factory.ID, Factory.SerialNr, Factory.RegDate, Factory.DiverID, [Name] & _
", " & [Vorname] & " - " & [Strasse] & ", " & [PLZ] & "-" & [Ort] AS _
DiveCardInfo, Factory.LastAccess, Factory.Locked, Factory.LockStatus, _
Factory.ValidDate
FROM Factory LEFT JOIN Kontakte ON Factory.DiverID = Kontakte.ID; und so im DataGrid
sevSQL = "SELECT " & _
"Factory.ID, " & _
"Factory.SerialNr, " & _
"Factory.RegDate, " & _
"Factory.DiverID, " & _
"Kontakte.Name & "", "" & " & "Kontakte.Vorname & "" - "" & " & _
"Kontakte.Strasse AS DiveCardInfo, " & _
"Factory.LastAccess, " & _
"Factory.Locked, " & _
"Factory.LockStatus, " & _
"Factory.ValidDate " & _
"FROM Factory " & _
"LEFT JOIN Kontakte ON Factory.DiverID = Kontakte.ID " Vom Ergebniss liefern beide Abfragen das selbe... Sowohl in Access, als auch im Grid.
Nun kann es vorkommen und das ist dass, was ich deiner dynamischen SQP Struktur nicht entnehmen kann, das... z. B. doppelte Felder aufteten können... (s. Bsp. Left JOIN)
Ebenso treten Fehler im Grid auf, wenn bei der zusammensetzung mehrerer Felder zu einem Feld via AS ... (s. Bsp.) du diese mit doppelten Ausführungszeichen behandeln must. Wenn du die SQL von Access auf das Grid direkt anwendest, dann kommt es zum Fehler... Sie muß der Syntax entsprechend für das Grid neu konstruiert werden.
Mein Tipp für dich wäre.... du könntest es dir wesentlich einfacher machen, wenn du
aus deiner dynamischen SQL eine Tabellenerstellungsabfrage bastelst, und dann im Grid lediglich via 'SELECT * FROM arbeiten würdest....
Die Schilderung deiner Problematik würd mit Sicherheit hier keiner sol salop umsetzen...
MfG.
RSVisionmaster (der nie zeit hat !)
CardManager (SmartCard Tools a la CARD)
|