ich habe eine Datenbank names "Repertoire"; sie ist auch in OO angemeldet.
In dieser Datenbank gibt es 3 Abfragen:
qryGenre - eine einfache Auswahlabfrage
qryAlleTitelPart1 - eine UNION SELECT Abfrage
qryAlleTitelPart2 - eine auswahlabfrage Abfrage, die auf die Abfrage qryAlleTitelPart1 und eine Tabelle Flaggen zugreift.
Die Abfrage qryAlleTitelPart2 enthält die Felder (alle vom Typ 'Text'):
"Titel", "Interpret", "Erscheinungsjahr", "Author/Country", "Genre", "URL".
Ich möchte nun alle Datensätze mit dem Kriterium "Genre" = "70er" aus der Abfrage qryAlleTitelPart2 ermitteln und jeden der ermittelten Datensätze z.b. in eine Datei schreiben (... glücklicherweise weiss ich zwischenzeitlich wie man Inhalte von z.B. Variablen in eine sequentielle datei schreibt

Das Suchkriterium z.B. "70er" wird in einer Laufvariable abgelegt werden,
sodass man als nächstes nach z.b. "80er" suchen kann u.s.w.
Ich habe mich durch die Doku des SDK durchgewühlt und komm damit leider nicht ganz klar.
Das Anmelden der Datenbank und das ermitteln einer Abfrage geht schon.
Ich weiß aber nicht, wie ich die Abfrage ausführen kann. Weiter weiß ich nicht wie ich Kriterien in das Ergebnis einbringen kann und wie ich durch die Ergebnisse (RowSet ???) navigieren kann.
Ich habe hier meinen bisherigen Code als Listing:
Code: Alles auswählen
Option Explicit
Sub DatabaseAccess
Dim databaseContext As Object, dataSource As Object
Dim connection As Object, interactionHandler As Object
Dim query As Object
Dim resultSet
databaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") 'oberstes Datenbankobjekt
dataSource = databaseContext.getByName("Repertoire") 'Datenquelle (Datenbankname) auswählen
If Not dataSource.IsPasswordRequired Then 'Datenbank passwortgeschützt?
connection = dataSource.GetConnection("","") 'Nein: Verbindung zur Datenbank herstellen
Else 'Ja: Benutzer nach Anmeldedaten abfragen
interactionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
connection = dataSource.ConnectWithCompletion(interactionHandler)
End If
query = dataSource.getQueryDefinitions().getByName("qryGenres") 'Abfrage auswählen
MsgBox query.Command REM Hier wird SQL-String der Abfrage angezeigt; das funktioniert soweit auch.
REM hier sollte nun die Abfrage ausgeführt werden und alles das stehen, was ich oben bereits beschrieben habe.
connection.close() 'Datenbankverbindung wird automatisch nach
'beenden des Makros geschlossen
End Sub

Ich bin am verzweifeln, darum bitte ich um kompetente Hilfe.
Danke in voraus!
keyboard-billy