Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Variable in SQL-String

Begonnen von ulli, Juli 31, 2011, 20:53:16

⏪ vorheriges - nächstes ⏩

ulli

Hallo,

ich möchte eine Anfügeanfrage per VBA ausführen lassen, die Daten in eine andere Datenbank schreibt. Da ich aber damit rechnen muss, dass die Zieldatenbank nicht immer am selben Ort ist, möchte ich die Pfadangabe durch eine Variable ersetzen; der Pfad inkl. Dateiname wird per Dlookup aus einer Tabelle ausgelesen und einer Stringvariablen zugewiesen. Wie muss ich nun an dieser Stelle den SQL-String zusammensetzen, damit es klappt?

Dim strsql As String
Dim ZielDB As String

ZielDB = DLookup("ZentralDB", "Standardwerte")

strsql = "INSERT INTO Kontakte ( ID, Nachname, Vorname, ...) IN 'C:\Users\PC\Documents\...\ZentralBE.mdb' " & _
"SELECT Kontakte.ID, Kontakte.Nachname, Kontakte.Vorname, ... " & _
"FROM Kontakte WHERE (((Kontakte.arch)=-1));"

CurrentDb.Execute strsql


Die Variable "ZielDB" an die Stelle der konkreten Pfadangabe zu setzen funktioniert weder ohne noch mit einschließenden Anführungszeichen oder Hochkommata. Es erscheint die Fehlermeldung "Syntaxfehler in der INSERT-TO-Anweisung.

DF6GL

#1
Hallo,


so sollte das schon gehen:


strsql = "INSERT INTO Kontakte ( ID, Nachname, Vorname, ...) IN """ & ZielDB & """ " & _


vorausgesetzt, dass mit

ZielDB = nz(    DLookup("ZentralDB", "Standardwerte",?????)   , "C:\Users\PC\Documents\...\ZentralBE.mdb" )
auch der richtige PfadDateiname ausgelesen wird.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

ulli

Danke für die Lösung, Franz; mit den vielen "" hat es tatsächlich funktioniert; ich mußte sogar noch eins mehr hinten dran hängen :-)

LG, Ulli

DF6GL

Hallo,

ja, danke für den Hinweis , hab's geändert.  8)
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access