Hallo, ich schon wieder ^^
Es ist bestimmt nur wieder eine kleinigkeit die ich Übersehe.
Ich möchte eingetragene Werte in eine andere Tabelle übertragen die aber ein bestimmtes Kriterum der Eintragung erfüllen.
Private Sub ueberTragen()
Dim x As String
Dim SQLstr1 As String
Dim SQLstr2 As String
'x = "select tabvok.spanisch into FROM tabvok WHERE (((tabvok.spanisch) Not In (SELECT verb FROM tabverben))and(tabvok.verb) = -1)"
SQLstr1 = "select tabvok.spanisch into FROM tabvok WHERE (((tabvok.spanisch) Not In (SELECT verb FROM tabverben))and(tabvok.verb) = -1)"
SQLstr2 = "insert into tabverben (verb) values (x)"
db.Execute SQLstr1
x = SQLstr1
Debug.Print x
'If (x <> -1) Then
'db.Execute SQLstr2
'End If
End Sub
Das habe ich mir ausgedacht, allerdings bleibt es beim db.execute hängen.
Was übersehe ich ?
Gruß
Uwe
Hallo Uwe,
Rufe doch zu erst einmal die Methode mit dem Parameter "dbFailOnError" auf.
db.Execute SQLstr1, dbFailOnError
Damit bekommst du eine, meist auch verständliche, Fehlermeldung der JET-
Engine, die sich auf die übergebene Abfrage bezieht. Anhand dieser Meldung
kannst du dann mal die Syntax deines SQL-Strings überprüfen.
Sehr komfortabel geht das i.Ü. mit diesem kleinen Tool: http://access-codelib.net/download/addins/SqlDebugPrint.zip (http://access-codelib.net/download/addins/SqlDebugPrint.zip)
gruss ekkehard
Zitat von: Uwe_Noob am März 30, 2020, 16:27:32
SQLstr1 = "select tabvok.spanisch into FROM tabvok WHERE (((tabvok.spanisch) Not In (SELECT verb FROM tabverben))and(tabvok.verb) = -1)"
INTO was? - Es fehlt der Name der Zieltabelle.
Stimmt *omg*
Aber das war es nicht
Habe es über eine Aktualisierungabfrage gelöst.
Das ist die SQL Anweisung in der Abfrage.
INSERT INTO tabverben ( Verb )
SELECT tabvok.Spanisch
FROM tabvok
WHERE (((tabvok.spanisch) Not In (SELECT verb FROM tabverben))
and (tabvok.verb) = -1);
Danke und Gruß
Uwe