Abfrage über Macro öffnen

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

Perrork
*
Beiträge: 18
Registriert: So, 07.06.2009 20:54

Abfrage über Macro öffnen

Beitrag von Perrork »

Hallo zusammen,

ich möchte eine Abfrage über Macro öffnen.

Code: Alles auswählen

' Tests um Abfrage zu öffnen

Option Explicit
Global oDBDok as Object ' Datenbankobjekt
Global oDBVer as Object ' Datenbankverbindung

Sub sub_004
Dim sDBUrl as String ' URL der Datenbank
Dim oBaseContext

sDBUrl = ConvertToUrl(".............\db-V01_00.odb")
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDBDok = oBaseContext.getByName(sDBUrl)
oDBVer = oDBDok.getConnection("", "")

OeffneView("Abfrage_Adressen_Bauteil_Daten")

'DisplayMethods(oDBdok, "P")

End Sub

Function OeffneView(sFormName as string) as variant

Dim args(1) As New com.sun.star.sdb.Queries
Dim oForm as Object
args(0).Name = "ActiveConnection"
args(0).Value = oDBVer
args(1).Name = "OpenMode"
args(1).Value = "open"
oForm = oDBCon.loadComponentFromURL(sFormName,"_blank",0,args())

End Function
So geht es nicht!
Fehler: ungültige Objektreverenz

Hat jemand ein Beispiel oder kann mir meinen Fehler erklären?

Gruß PerRork
Perrork
*
Beiträge: 18
Registriert: So, 07.06.2009 20:54

Re: Abfrage über Macro öffnen

Beitrag von Perrork »

:D :D :D :D :D :D :D
ok war ne blöde Frage.

Meine Lösung ist, erstellen eines Formulars aus der Abfrage.
Zum ändern des Abfrage-Ergebnisses wird der SQL der Abfrage überschrieben und dann das Formular geöffnet.

Code: Alles auswählen

REM  *****  BASIC  *****
' Tests um Abfrage zu öffnen

Option Explicit
Global oDBDok as Object ' Datenbankobjekt
Global oDBVer as Object ' Datenbankverbindung
Global oDBCon as Object

Sub sub_004
Dim sDBUrl as String ' URL der Datenbank
Dim oBaseContext as Object
Dim oDBQueries as Object

sDBUrl = ConvertToUrl("...............\db-V01_00.odb")
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDBDok = oBaseContext.getByName(sDBUrl)
oDBVer = oDBDok.getConnection("", "")
oDBCon = oDBDok.DataBaseDocument.getFormDocuments()
oDBQueries = oDBVer.Queries(1)
Dim SQL as String
SQL = "SELECT ""Bauteil"".""Beschreibung"", ...... ""Adressen"".""ID"" = 6 ORDER BY ""Adressen"".""Kundennummer"" ASC, ""Bauteil"".""Beschreibung"" ASC"

oDBQueries.command =SQL

OeffneView("Abfrage_Adressen_Bauteil_Daten")
End Sub

Function OeffneView(sFormName as string) as variant

Dim args(1) As New com.sun.star.beans.PropertyValue
Dim oForm as Object
args(0).Name = "ActiveConnection"
args(0).Value = oDBVer
args(1).Name = "OpenMode"
args(1).Value = "open"
oForm = oDBCon.loadComponentFromURL(sFormName,"_blank",0,args())
End Function
Gruß PerRork
Antworten