Seite 1 von 1
Makro - öffnen Tabelle und Abfrage
Verfasst: Do 23. Feb 2017, 19:46
von Kpfeiler
Hallo
Als Umsteiger von MS - Access habe ich so meine Schwierigkeiten.
Ich habe ein Makro zum öffnen von Formularen, nun möchte dieses abändern um eine Tabelle zu öffnen oder eine Abfrage auszuführen.
"SUB Abfrage_Feste_Ausgaben_oeffnen
ThisDatabaseDocument.QueryDocuments.getByName( "Abfrage_Feste_Ausgaben" ).open
END SUB"
QueryDocuments für Abfrage ist offensichtlich falsch, finde aber das richtige Schlüsselwort dafür nicht.
Für Hilfe bin ich dankbar.
Gruß
Klaus - Peter
Re: Makro - öffnen Tabelle und Abfrage
Verfasst: Fr 24. Feb 2017, 00:14
von swolf
Hallo Klaus - Peter,
eine Sammlung Informationen über Programmierung/Makros in LibreOffice/OpenOffice findest du hier:
http://de.openoffice.info/viewtopic.php ... 017a48ac72
Wenn du dort in betreffender Rubrik stöbern möchtest,
findest du in den Postings direkt eine Lösung für dein Anliegen.
Re: Makro - öffnen Tabelle und Abfrage
Verfasst: Fr 24. Feb 2017, 11:03
von Kpfeiler
Hallo
Viele Dank, habe aber keine passende Lösung gefunden.
Habe es hiermit versucht:
SUB Tbl_Feste_Ausgaben_oeffnen
ThisDatabaseDocument.TableDocuments.getByName( "Tbl_Feste_Ausgaben" ).open
END SUB
Dann kommt aber die Fehlermeldung "Methode TableDokuments" nicht bekannt.
Gruß
Klaus - Peter
Re: Makro - öffnen Tabelle und Abfrage
Verfasst: Fr 24. Feb 2017, 16:17
von RobertG
Hallo Klaus-Peter,
http://de.openoffice.info/viewtopic.php ... e4#p189730
hilft Dir hier schon einmal ein Stück weiter. Ich meine, dass ich dazu auch etwas zusammengefasst hätte - finde ich im Moment aber nicht.
Ich habe das hier einmal überarbeitet:
Code: Alles auswählen
SUB Open_Query_Table(oEvent AS OBJECT)
DIM URL AS NEW com.sun.star.util.URL
DIM Args(5) AS NEW com.sun.star.beans.PropertyValue
DIM oDispatch AS OBJECT
DIM stSQL AS STRING
DIM stQueryName AS STRING
stQueryName = oEvent.Source.Model.Tag
aQuery = Split(stQueryName,",")
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource=DatabaseContext.getByName(ThisDatabaseDocument.URL)
oConnection = oDataSource.GetConnection("","")
IF Trim(aQuery(0)) = "Query" THEN
stSQL = oConnection.Queries.getByName(Trim(aQuery(1))).command
ELSE
stSQL = "SELECT * FROM """+Trim(aQuery(1))+""""
END IF
URL.Complete = ".component:DB/DataSourceBrowser"
oDispatch = StarDesktop.queryDispatch(URL,"_Blank",8)
Args(0).Name = "ActiveConnection"
Args(0).Value = oConnection
Args(1).Name = "CommandType"
Args(1).Value = 2
Args(2).Name = "Command"
Args(2).Value = stSQL
Args(3).Name = "ShowMenu"
Args(3).Value = True
Args(4).Name = "ShowTreeView"
Args(4).Value = False
Args(5).Name = "ShowTreeViewButton"
Args(5).Value = False
oDispatch.dispatch(URL, Args)
END SUB
Der Button muss in den Zusatzinformationen z.B. Query,Meine Abfrage stehen haben. Dann das Makro an den Button binden und die Abfrage wird geöffnet. Bei einer Tabelle dann entsprechend Table,Meine Tabelle.
Beides macht das dann über einen SQL-Code. Die Tabelle wird schlicht als Allround-Abfrage aufgerufen.
Gruß
Robert
Re: Makro - öffnen Tabelle und Abfrage
Verfasst: Di 28. Feb 2017, 08:21
von Kpfeiler
Vielen Dank, das werde ich dann so nutzen.
Gruß
Klaus - Peter
Re: Makro - öffnen Tabelle und Abfrage
Verfasst: Fr 3. Mär 2017, 20:55
von RobertG
Hallo Klaus-Peter,
inzwischen habe ich gefunden, wo ich das Makro bereits abgehandelt habe: Aktuelles Handbuch Base für die Version LO 5.3. Da ist das dann drin zum Öffnen von Tabellen, Abfragen, Formularen und Berichten mit einer einzigen Prozedur. Und in der Version Handbuch Base LO 5.4 werde ich das dann noch für die Leute ergänzen, die auch mit dem Aufruf Formulare und Berichte in Unterverzeichnissen erreichen wollen oder mit dem Button gleichzeitig auch ein Formular schließen wollen.
Gruß
Robert