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