von VolkerH » Di, 09.02.2021 12:10
Hallo,
ich komme mit einer Tabellenanfügeabfrage nicht weiter und brauche Hilfe!
Habe folgendenden SQL text erstellt der auch unter SQL Ausführen funktioniert:
INSERT INTO "BestellungGesTbl" ("Hersteller","Artikelnummer","Bezeichnung","Menge","RepNr", "Ersatzteil_ID","Status" ) SELECT "Ersatzteil_Tbl"."Hersteller", "Ersatzteil_Tbl"."Artikelnummer", "Ersatzteil_Tbl"."Bezeichnung", "ReptaraturteileNeu_Tbl"."Menge", "ReptaraturteileNeu_Tbl"."RepNr", "Ersatzteil_Tbl"."Ersatzteil_ID", "ReptaraturteileNeu_Tbl"."Status" FROM "ReptaraturteileNeu_Tbl", "Ersatzteil_Tbl" WHERE "ReptaraturteileNeu_Tbl"."RTID" = "Ersatzteil_Tbl"."Ersatzteil_ID" AND "Ersatzteil_Tbl"."Hersteller" = 0 AND "ReptaraturteileNeu_Tbl"."Status" = 1
Daraus für ein Makro folgendes geschrieben:
"INSERT INTO ""BestellungGesTbl"" (""Hersteller"",""Artikelnummer"",""Bezeichnung"",""Menge"",""RepNr"", ""Ersatzteil_ID"",""Status"" ) (SELECT ""Ersatzteil_Tbl"",""Hersteller"", ""Ersatzteil_Tbl"",""Artikelnummer"", ""Ersatzteil_Tbl"",""Bezeichnung"", ""ReptaraturteileNeu_Tbl"",""Menge"", ""ReptaraturteileNeu_Tbl"",""RepNr"",""Ersatzteil_Tbl"",""Ersatzteil_ID"", ""ReptaraturteileNeu_Tbl"",""Status"" FROM ""ReptaraturteileNeu_Tbl"",""Ersatzteil_Tbl"" WHERE ""ReptaraturteileNeu_Tbl"",""RTID"" = ""Ersatzteil_Tbl"",""Ersatzteil_ID"" AND ""Ersatzteil_Tbl"",""Hersteller"" = 0 AND ""ReptaraturteileNeu_Tbl"",""Status"" = 1)"
Nun reichen meine SQL kenntnisse beiweitem nicht aus um das zukontrollieren bzw zu verbessern.
Dann habe ich hier im Forum folgendes gefunden und meinen SQL Text eingefügt:
Sub NeueBestellung
Dim oStatement As Object, oDatenbankKontext As Object, oDatenquelle As Object
Dim oVerbindung As Object
Dim sSQL As String
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "Lokdatenbank" )
oVerbindung = oDatenquelle.getConnection( "" , "" )
oStatement = oVerbindung.createStatement()
sSQL = "INSERT INTO ""BestellungGesTbl"" (""Hersteller"",""Artikelnummer"",""Bezeichnung"",""Menge"",""RepNr"", ""Ersatzteil_ID"",""Status"" ) (SELECT ""Ersatzteil_Tbl"",""Hersteller"", ""Ersatzteil_Tbl"",""Artikelnummer"", ""Ersatzteil_Tbl"",""Bezeichnung"", ""ReptaraturteileNeu_Tbl"",""Menge"", ""ReptaraturteileNeu_Tbl"",""RepNr"",""Ersatzteil_Tbl"",""Ersatzteil_ID"", ""ReptaraturteileNeu_Tbl"",""Status"" FROM ""ReptaraturteileNeu_Tbl"",""Ersatzteil_Tbl"" WHERE ""ReptaraturteileNeu_Tbl"",""RTID"" = ""Ersatzteil_Tbl"",""Ersatzteil_ID"" AND ""Ersatzteil_Tbl"",""Hersteller"" = 0 AND ""ReptaraturteileNeu_Tbl"",""Status"" = 1)"
oStatement.execute(sSQL)
oVerbindung.close()
oStatement.close()
End Sub
es ergibt die Fehlermeldung:
.......Missing ) in Statement.......
Ich möchte Euch um Hilfe Bitten
Viele Grüße Volker
Hallo,
ich komme mit einer Tabellenanfügeabfrage nicht weiter und brauche Hilfe!
Habe folgendenden SQL text erstellt der auch unter SQL Ausführen funktioniert:
INSERT INTO "BestellungGesTbl" ("Hersteller","Artikelnummer","Bezeichnung","Menge","RepNr", "Ersatzteil_ID","Status" ) SELECT "Ersatzteil_Tbl"."Hersteller", "Ersatzteil_Tbl"."Artikelnummer", "Ersatzteil_Tbl"."Bezeichnung", "ReptaraturteileNeu_Tbl"."Menge", "ReptaraturteileNeu_Tbl"."RepNr", "Ersatzteil_Tbl"."Ersatzteil_ID", "ReptaraturteileNeu_Tbl"."Status" FROM "ReptaraturteileNeu_Tbl", "Ersatzteil_Tbl" WHERE "ReptaraturteileNeu_Tbl"."RTID" = "Ersatzteil_Tbl"."Ersatzteil_ID" AND "Ersatzteil_Tbl"."Hersteller" = 0 AND "ReptaraturteileNeu_Tbl"."Status" = 1
Daraus für ein Makro folgendes geschrieben:
"INSERT INTO ""BestellungGesTbl"" (""Hersteller"",""Artikelnummer"",""Bezeichnung"",""Menge"",""RepNr"", ""Ersatzteil_ID"",""Status"" ) (SELECT ""Ersatzteil_Tbl"",""Hersteller"", ""Ersatzteil_Tbl"",""Artikelnummer"", ""Ersatzteil_Tbl"",""Bezeichnung"", ""ReptaraturteileNeu_Tbl"",""Menge"", ""ReptaraturteileNeu_Tbl"",""RepNr"",""Ersatzteil_Tbl"",""Ersatzteil_ID"", ""ReptaraturteileNeu_Tbl"",""Status"" FROM ""ReptaraturteileNeu_Tbl"",""Ersatzteil_Tbl"" WHERE ""ReptaraturteileNeu_Tbl"",""RTID"" = ""Ersatzteil_Tbl"",""Ersatzteil_ID"" AND ""Ersatzteil_Tbl"",""Hersteller"" = 0 AND ""ReptaraturteileNeu_Tbl"",""Status"" = 1)"
Nun reichen meine SQL kenntnisse beiweitem nicht aus um das zukontrollieren bzw zu verbessern.
Dann habe ich hier im Forum folgendes gefunden und meinen SQL Text eingefügt:
Sub NeueBestellung
Dim oStatement As Object, oDatenbankKontext As Object, oDatenquelle As Object
Dim oVerbindung As Object
Dim sSQL As String
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
oDatenquelle = oDatenbankKontext.getByName( "Lokdatenbank" )
oVerbindung = oDatenquelle.getConnection( "" , "" )
oStatement = oVerbindung.createStatement()
sSQL = "INSERT INTO ""BestellungGesTbl"" (""Hersteller"",""Artikelnummer"",""Bezeichnung"",""Menge"",""RepNr"", ""Ersatzteil_ID"",""Status"" ) (SELECT ""Ersatzteil_Tbl"",""Hersteller"", ""Ersatzteil_Tbl"",""Artikelnummer"", ""Ersatzteil_Tbl"",""Bezeichnung"", ""ReptaraturteileNeu_Tbl"",""Menge"", ""ReptaraturteileNeu_Tbl"",""RepNr"",""Ersatzteil_Tbl"",""Ersatzteil_ID"", ""ReptaraturteileNeu_Tbl"",""Status"" FROM ""ReptaraturteileNeu_Tbl"",""Ersatzteil_Tbl"" WHERE ""ReptaraturteileNeu_Tbl"",""RTID"" = ""Ersatzteil_Tbl"",""Ersatzteil_ID"" AND ""Ersatzteil_Tbl"",""Hersteller"" = 0 AND ""ReptaraturteileNeu_Tbl"",""Status"" = 1)"
oStatement.execute(sSQL)
oVerbindung.close()
oStatement.close()
End Sub
es ergibt die Fehlermeldung:
.......Missing ) in Statement.......
Ich möchte Euch um Hilfe Bitten
Viele Grüße Volker