Seite 1 von 1
Per Makro auf vorhandene Abfrage zugreifen
Verfasst: Mi, 23.07.2008 12:12
von nusta88
hallo,
ich würd gern wissen, mit welchem code man auf eine vorhandene Abfrage zugreifen kann und diese ändern kann.
Auf eure Hilfen danke ich jetzt schon.
cus
Re: Per Makro auf vorhandene Abfrage zugreifen
Verfasst: Mi, 23.07.2008 12:18
von komma4
Zugreifen? Ausführen!
Code: Alles auswählen
' 2008-01-31
' Modul: o_ExecuteQuery
Sub x_execParameterAbfrage
' Kontext holen
oDatenbankKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
' Datenquelle auswählen
oDatenquelle = oDatenbankKontext.getByName( "NameDerDatenquelle" )
sQuery = "qry_NameDerAbfrage"
' Abfragen
oAbfragen = oDatenquelle.QueryDefinitions
' gewünschte Abfrage vorhanden?
if ( oAbfragen.hasByName( sQuery) ) Then
' Abfrage holen
oAbfrage = oAbfragen.getByName( sQuery )
' SQL-Ausdruck von Abfrage entnehmen
sQuery = oAbfrage.Command
' Verbindung zur DB herstellen
oVerbindung = oDatenquelle.getConnection( ,)
' Statement erzeugen
oStatement = oVerbindung.createStatement
' Abfrage absetzen
oResultSet = oStatement.executeQuery( oAbfrage.Command )
' durch alle Resultate iterieren
while oResultSet.next()
[...]
Ändern? Weiss ich nicht.
Hilft das weiter?
Re: Per Makro auf vorhandene Abfrage zugreifen
Verfasst: Mi, 23.07.2008 12:49
von nusta88
Erst einmal dankeschön für deine schnelle Antwort
Also aufjedenfall kann ich zwar damit auf die Abfrage zugreifen und den SQL-Ausdruck, aber weiter komme ich damit nicht.
Aber mir ist so ne andere Methode eingefallen durch dein Makro. Kann man denn z.B. eine Abfrage per Makro in der Datenbank erzeugen?
Also z.b. wir können ja so weit ich weiß extern halt Abfragen erzeugen und diese dann auslesen.
Ich würd es dann so wollen, dass eine Abfrage erstellt wird. und dann halt in der Datenbank zu sehen ist
Meinst du das funktioniert??
Edit:
Ich kann ja auch Tabellen per Makro erstellen
Code: Alles auswählen
sSql = "CREATE TABLE " & DTABez & " (" & sTBez & ")"
oStmt.executeQuery(sSql)
Gibt es sowas ähnliches auch für Abfragen.
was erreicht man mit executeupdate?? würde das nicht helfen