[gelöst] Filterergebnis in Formular ausgeben
Verfasst: Sa 27. Sep 2014, 12:00
Hallo liebe Leute,
vorweg, ich bin absoluter Anfänger und es ist mein erster Versuch. Antworten also bitte für Doofe.
Es geht um eine Datenbank für ein kleines Übersetzungsbüro. Dort soll eine Formular entstehen, über das Auftragsdaten nach bestimmten Kriterien gesucht werden können.
Es besteht aus Listenfeldern, mit denen die Suchkriterien bestimmt werden können und einer Tabelle, in der die gefundenen Datensätze angezeigt werden sollen.
Die Suche versuche ich mit folgendem Makro zu organisieren, leider stehe ich im Moment völlig auf dem Schlauch und weiß einfach nicht, wie ich das Suchergebnis in der Formulartabelle anzeigen kann. Oder bin ich völlig auf dem Holzweg?
Den entsprechenden Teil der Datenbank habe ich angehängt.
Über Eure Hilfe würde ich mich sehr freuen.
Sub Auftrag_filtern
DIM oDatasource AS OBJECT
DIM oConnection AS OBJECT
DIM oDoc AS OBJECT
DIM oForm1 AS OBJECT
DIM oForm2 AS OBJECT
DIM oSQL_Statement AS OBJECT 'das Objekt, das den SQL-Befehl ausführt
DIM sSql AS STRING 'Text des eigentlichen SQL-Befehls
DIM oResult AS OBJECT 'Ergebnis für executeQuery
DIM sWert_1 AS STRING
DIM iWert_2 AS INTEGER
DIM iWert_3 AS INTEGER
DIM iWert_4 AS INTEGER
DIM iWert_5 AS INTEGER
' Verbindung zur Datenbank herstellen
oDatasource = thisDatabaseDocument.CurrentController
IF NOT (oDatasource.isConnected()) THEN oDatasource.connect()
oConnection = oDatasource.ActiveConnection()
' Formulare ansprechen
oDoc = ThisComponent
oForm1 = oDoc.drawpage.forms.getByName("Auftragsfilter")
oForm2 = oDoc.drawpage.forms.getByName("Anzeige")
' Filterbedinungen holen
oForm1.updateRow()
sWert_1 = oForm1.getString(2)
iWert_2 = oForm1.getInt(3)
iWert_3 = oForm1.getInt(4)
iWert_4 = oForm1.getInt(5)
iWert_5 = oForm1.getInt(6)
' print sWert_1
' print iWert_2
' print iWert_3
' print iWert_4
' print iWert_5
' SQL-Kommunikationskanal aufbauen
oSQL_Statement = oConnection.createStatement()
' SQL-Abfrage ausführen
' Später soll die Abfrage nach diesem Muster zusammengestellt werden
sSQL = "SELECT ""Auftrag"".* FROM ""Auftrag"" WHERE ""Auftrag"".""Bezeichnung-ID"" = '" + iWert_2 + "'"
' print sSQL
oResult = oSQL_Statement.executeQuery(sSQL)
' Wie kann ich das Ergebnis der Abfrage in "Anzeige" ausgeben????
End Sub
vorweg, ich bin absoluter Anfänger und es ist mein erster Versuch. Antworten also bitte für Doofe.
Es geht um eine Datenbank für ein kleines Übersetzungsbüro. Dort soll eine Formular entstehen, über das Auftragsdaten nach bestimmten Kriterien gesucht werden können.
Es besteht aus Listenfeldern, mit denen die Suchkriterien bestimmt werden können und einer Tabelle, in der die gefundenen Datensätze angezeigt werden sollen.
Die Suche versuche ich mit folgendem Makro zu organisieren, leider stehe ich im Moment völlig auf dem Schlauch und weiß einfach nicht, wie ich das Suchergebnis in der Formulartabelle anzeigen kann. Oder bin ich völlig auf dem Holzweg?
Den entsprechenden Teil der Datenbank habe ich angehängt.
Über Eure Hilfe würde ich mich sehr freuen.
Sub Auftrag_filtern
DIM oDatasource AS OBJECT
DIM oConnection AS OBJECT
DIM oDoc AS OBJECT
DIM oForm1 AS OBJECT
DIM oForm2 AS OBJECT
DIM oSQL_Statement AS OBJECT 'das Objekt, das den SQL-Befehl ausführt
DIM sSql AS STRING 'Text des eigentlichen SQL-Befehls
DIM oResult AS OBJECT 'Ergebnis für executeQuery
DIM sWert_1 AS STRING
DIM iWert_2 AS INTEGER
DIM iWert_3 AS INTEGER
DIM iWert_4 AS INTEGER
DIM iWert_5 AS INTEGER
' Verbindung zur Datenbank herstellen
oDatasource = thisDatabaseDocument.CurrentController
IF NOT (oDatasource.isConnected()) THEN oDatasource.connect()
oConnection = oDatasource.ActiveConnection()
' Formulare ansprechen
oDoc = ThisComponent
oForm1 = oDoc.drawpage.forms.getByName("Auftragsfilter")
oForm2 = oDoc.drawpage.forms.getByName("Anzeige")
' Filterbedinungen holen
oForm1.updateRow()
sWert_1 = oForm1.getString(2)
iWert_2 = oForm1.getInt(3)
iWert_3 = oForm1.getInt(4)
iWert_4 = oForm1.getInt(5)
iWert_5 = oForm1.getInt(6)
' print sWert_1
' print iWert_2
' print iWert_3
' print iWert_4
' print iWert_5
' SQL-Kommunikationskanal aufbauen
oSQL_Statement = oConnection.createStatement()
' SQL-Abfrage ausführen
' Später soll die Abfrage nach diesem Muster zusammengestellt werden
sSQL = "SELECT ""Auftrag"".* FROM ""Auftrag"" WHERE ""Auftrag"".""Bezeichnung-ID"" = '" + iWert_2 + "'"
' print sSQL
oResult = oSQL_Statement.executeQuery(sSQL)
' Wie kann ich das Ergebnis der Abfrage in "Anzeige" ausgeben????
End Sub