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