Ich habe Code in Access VBA, das ist Abfrage-Vorlage mit SQL ausfüllen und ausführen. Ich muss querydefs. First funktioniert gut, aber mit zweiten, wenn ich SQL-String zuweisen, bekam ich Fehler 3305.Zweite QueryDefs.SQL funktioniert nicht
Beide Tabellen eingefügt sind auf Oracle DB und ich habe Tabellen verknüpft.
Code
Sub prc()
Dim pSQLStr As String
Dim pQuery As QueryDef
Dim pBaza As Database
Set pBaza = CurrentDb
Set pQuery = pBaza.QueryDefs("qryInsertTemplate")
pSQLStr = ""
pSQLStr = pSQLStr & "INSERT INTO tbl1 ("
pSQLStr = pSQLStr & "ID, POS)"
pSQLStr = pSQLStr & "SELECT xlsx.ID, xlsx.pos"
pSQLStr = pSQLStr & " FROM xlsx;"
With pQuery
.SQL = pSQLStr
.ReturnsRecords = False
.Execute
End With
Set pQuery = pBaza.QueryDefs("qryInsertTemplate")
pSQLStr = ""
pSQLStr = pSQLStr & "INSERT INTO tbl2 ("
pSQLStr = pSQLStr & "ID, POS)"
pSQLStr = pSQLStr & "SELECT xlsx.ID, xlsx.pos"
pSQLStr = pSQLStr & " FROM xlsx;"
With pQuery
.SQL = pSQLStr 'here I got error 3305
.ReturnsRecords = False
.Execute
End With
End Sub
Wenn Sie die Reihenfolge der Abfragen umkehren können, wurde die Excel-Datei möglicherweise nicht ordnungsgemäß geschlossen. Angenommen, die Abfrage zwei funktioniert, wenn sie eigenständig ausgeführt wird. – Gustav
Stand-alone Es läuft – Gadziu