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
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