von F3K Total » Sa, 21.01.2017 10:50
Guten Morgen Robert
RobertG hat geschrieben: ↑Sa, 21.01.2017 09:48
Für Abfragen kann ich Dir nicht helfen.
Anbei dein Code, etwas erweitert, und ein zusätzliches Makro. Damit kann man, ausgehend von der Zusatzinformation einer Schaltfläche auch Abfragen und Tabellen öffnen. Ansichten werden wie Tabellen behandelt, Beispiele für die Zusatzinformation:
- form,fMeinFormular
- report,rMeinBericht
- query,qMeineAbfrage
- table,tMeineTabelle
- table,vMeineAnsicht
Code: Alles auswählen
SUB Navigation(oEvent AS OBJECT)
DIM stTag AS String
stTag = oEvent.Source.Model.Tag
aOpen() = Split(stTag, ",")
SELECT CASE Trim(aOpen(0))
CASE "form"
ThisDatabaseDocument.FormDocuments.getByName(Trim(aOpen(1))).open
CASE "report"
ThisDatabaseDocument.ReportDocuments.getByName(Trim(aOpen(1))).open
CASE "query"
nType = 1
Open_Table_Query_View(Trim(aOpen(1)),nType)
CASE "table"
nType = 0
Open_Table_Query_View(Trim(aOpen(1)),nType)
END SELECT
END SUB
Sub Open_Table_Query_View(sName,nType)
oController = ThisDatabasedocument.CurrentController
if not oController.isconnected then oController.connect
Dim URL as New com.sun.star.util.URL
Dim Args(5) as New com.sun.star.beans.PropertyValue
oConnetion = oController.ActiveConnection
URL.Complete = ".component:DB/DataSourceBrowser"
Dispatch = StarDesktop.queryDispatch(URL,"_Blank",8)
Args(0).Name = "ActiveConnection"
Args(0).Value = oConnetion
Args(1).Name = "CommandType"
Args(1).Value = nType '0=Table 1=SQL_Query 2=Command
Args(2).Name = "Command"
Args(2).Value = sName
Args(3).Name = "ShowMenu"
Args(3).Value = True
Args(4).Name = "ShowTreeView"
Args(4).Value = False
Args(5).Name = "ShowTreeViewButton"
Args(5).Value = False
Dispatch.dispatch(URL, Args)
End Sub
Gruß R
Guten Morgen Robert[quote=RobertG post_id=267316 time=1484988535 user_id=47077]
Für Abfragen kann ich Dir nicht helfen.
[/quote]Anbei dein Code, etwas erweitert, und ein zusätzliches Makro. Damit kann man, ausgehend von der Zusatzinformation einer Schaltfläche auch Abfragen und Tabellen öffnen. Ansichten werden wie Tabellen behandelt, Beispiele für die Zusatzinformation:
[list][*]form,fMeinFormular
[*]report,rMeinBericht
[*]query,qMeineAbfrage
[*]table,tMeineTabelle
[*]table,vMeineAnsicht[/list]
[code]SUB Navigation(oEvent AS OBJECT)
DIM stTag AS String
stTag = oEvent.Source.Model.Tag
aOpen() = Split(stTag, ",")
SELECT CASE Trim(aOpen(0))
CASE "form"
ThisDatabaseDocument.FormDocuments.getByName(Trim(aOpen(1))).open
CASE "report"
ThisDatabaseDocument.ReportDocuments.getByName(Trim(aOpen(1))).open
CASE "query"
nType = 1
Open_Table_Query_View(Trim(aOpen(1)),nType)
CASE "table"
nType = 0
Open_Table_Query_View(Trim(aOpen(1)),nType)
END SELECT
END SUB
Sub Open_Table_Query_View(sName,nType)
oController = ThisDatabasedocument.CurrentController
if not oController.isconnected then oController.connect
Dim URL as New com.sun.star.util.URL
Dim Args(5) as New com.sun.star.beans.PropertyValue
oConnetion = oController.ActiveConnection
URL.Complete = ".component:DB/DataSourceBrowser"
Dispatch = StarDesktop.queryDispatch(URL,"_Blank",8)
Args(0).Name = "ActiveConnection"
Args(0).Value = oConnetion
Args(1).Name = "CommandType"
Args(1).Value = nType '0=Table 1=SQL_Query 2=Command
Args(2).Name = "Command"
Args(2).Value = sName
Args(3).Name = "ShowMenu"
Args(3).Value = True
Args(4).Name = "ShowTreeView"
Args(4).Value = False
Args(5).Name = "ShowTreeViewButton"
Args(5).Value = False
Dispatch.dispatch(URL, Args)
End Sub[/code]
Gruß R