Mám poznamenané makro, které obsluheje SQL dotazy. Svého času jsem něco chystal, ale zřejmě nedodělal. Musíte laborovat. Předpokládám, že syntaxe Vám nebude dělat potíže.
Sub Button_onClick(Event As Object)
'neodzkoušeno - příklad s deklarací SQL nutno přizpůsobit
Dim Form As Object
Dim Stmt As Object
Dim I As Integer
Dim SQL(4) As String
SQL(0)="DELETE FROM ""attendance"""
SQL(1)="INSERT INTO ""attendance"" (""first.name"", ""last.name"", ""present"", ""student.id"") (Select ""first.name"", ""last.name"", FALSE, ""person.id"" From ""youth2"" Where ""still.youth?"" = TRUE)"
SQL(2)="UPDATE ""attendance"" SET ""date"" = (select ""date"" from ""events"" order by ""event.id"" desc limit 1)"
SQL(3)="UPDATE ""attendance"" SET ""event.id"" = (select ""event.id"" from ""events"" order by ""event.id"" desc limit 1)"
SQL(4)="UPDATE ""attendance"" SET ""event.name"" = (select ""event.name"" from ""events"" order by ""event.id"" desc limit 1)"
Form=Event.Source.Model.Parent
Stmt=Form.ActiveConnection.createStatement()
For i = 0 to Ubound(SQL)
Stmt.executeUpdate( SQL(I) )
Next i
End Sub
Někde jsem také tady na fóru získal makro pro vytvoření tlačítka do formuláře.
Sub OpenForm(sName)
'Otevre formular
oContexto = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oFonte = oContexto.getRegisteredObject("NAZEV")
oForms = oFonte.DatabaseDocument.FormDocuments
oAConnection = oFonte.getConnection("","")
Dim pProp(1) As New com.sun.star.beans.PropertyValue
pProp(0).Name = "ActiveConnection"
pProp(0).Value = oAConnection
pProp(1).Name = "OpenMode"
pProp(1).Value = "open"
oForm = oForms.loadComponentFromURL(sName, "_blank", 0, pProp())
End Sub
Databáze musí být zaregistrovaná a při volání procedury se za sName dosadí jméno formuláře (sestavy). Pokud formuláře organizujete do skupin (adresářů), tak musí být dosazena kompletní cesta. Pozor, původní formulář, do kterého se vrátíte po zavření volaného formuláře je nejprve potřeba obnovit před dalším zpracováním dat.
Nějaká makra se dají zřejmě najít v diskusi - zadejte hledat na záložce nad příspěvky. Podobně hledejte pomocí okénka s lupou když otevřete záložku články. Jsou tam někdy dost dobré návody. Tady by to mohlo být například v seriálu OpenOffice ve výrobní firmě, ale i jinde. Když tam nic nebude, hledejte v zahraničních zdrojích.
Editoval neutr (21. 9. 2013 12:21:53)
Moje e-mailová adresa
Pokud je Váš problém vyřešen, označte prosím svůj příspěvek za "VYŘEŠENÝ"
Zlepšíte orientaci při vyhledávání řešení JAK OZNAČIT TÉMA ZA VYŘEŠENÉ