Seite 1 von 1
SQL Befehl per Makro ausführen
Verfasst: Di, 14.04.2009 17:56
von Civilatio
Hallo,
ich habe mich bereits durch Google und dieses Forum gepflügt, aber entweder bin ich zu blöd, oder ich habe wirklich nichts brauchbares gefunden...
Ich erstelle eine Datenbank für unsere Feuerwehr und möchte nun diesen einfachen SQL-Code in ein Makro einbinden, damit ich die Abfrage über ein Formular ausführen kann
Code: Alles auswählen
INSERT INTO "Atemschutz" ("ID") SELECT "ID" FROM "Mitglieder" WHERE "Atemschutz" = true
An sich funktioniert diese Abfrage über Extras --> SQL einwandfrei, nur kann ich sie hier nicht speichern, weshalb ich ein Makro bräuchte.
Vielen Dank für eure Hilfe,
Civi
Re: SQL Befehl per Makro ausführen
Verfasst: Di, 14.04.2009 20:09
von eBayer
So etwa müsste Dein Makro aussehen.
Du mußt das SQL-Statement in eine Variable bringen und diese dann mit execute ausführen.
Beachte bitte auch die doppelten Hochkommas..... ich hoffe, ich habe keinen Tippfehler reingebracht.
Was das Makro macht, dokumentiert sich hoffentlich aus den sprechenden Namen. Deshalb habe ich auf Kommentare verzichtet.
Gruß eBayer
Sub LoadTable
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( "DeineDatenbank" )
oVerbindung = oDatenquelle.getConnection( "" , "" )
oStatement = oVerbindung.createStatement()
sSQL = "INSERT INTO ""Atemschutz"" (""ID"") SELECT ""ID"" FROM ""Mitglieder"" WHERE ""Atemschutz"" = true"
oStatement.execute(sSQL)
oVerbindung.close()
oStatement.close()
End Sub
Re: SQL Befehl per Makro ausführen
Verfasst: Mi, 15.04.2009 16:14
von Civilatio
oDatenquelle = oDatenbankKontext.getByName( "DeineDatenbank" )
Hier tritt ein Fehler auf (habe den Namen natürlich ausgetauscht

)...
Text:
"Hier ist eine Exception aufgetreten
Type: com.sun.star.container.NoSuchElementException
Message: Feuerwehr.odb."
Habe es auch ohne die Dateiendung versucht...
Re: SQL Befehl per Makro ausführen
Verfasst: Mi, 15.04.2009 17:06
von eBayer
hast du die Datenbank registriert?
Extras - Optionen - OpenOffice.org Base - Datenbanken......
Dann sollte es laufen..... mögliche Tippfehler mußt Du selbst herausfinden.
viel Spaß
Re: SQL Befehl per Makro ausführen
Verfasst: Mi, 15.04.2009 17:09
von Civilatio
Jetzt funktioniert es

herzlichen Dank!