SQL Befehl per Makro ausführen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: SQL Befehl per Makro ausführen

Re: SQL Befehl per Makro ausführen

von Civilatio » Mi, 15.04.2009 17:09

Jetzt funktioniert es :) herzlichen Dank!

Re: SQL Befehl per Makro ausführen

von eBayer » Mi, 15.04.2009 17:06

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

von Civilatio » Mi, 15.04.2009 16:14

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

von eBayer » Di, 14.04.2009 20:09

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

SQL Befehl per Makro ausführen

von Civilatio » Di, 14.04.2009 17:56

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

Nach oben