sono un nuovo utente alle prese per la prima volta con un database. Ho copiato e incollato questa macro (vedi sotto) per l'apertura del formulario "DATI POZZO". Il mio database si chiama invece "DEMANIO AQ". Vorrei utilizzare la macro per collegarla ad un pulsante da inserire all'interno di un altro formulario.
Ovviamente la macro mi dà errore, non so se ho modificato correttamente la mia macro per adattarla al mio database. Potete gentilmente aiutarmi?
Grazie!
Uliana
Codice: Seleziona tutto
Dim oForm
sub main
subDisplayForm("DEMANIO AQ.odb","DATI POZZO")
end sub
sub subDisplayForm(sDatabaseName as string, sFormName as string)
dim mArgs(1) as new com.sun.star.beans.PropertyValue
oDatabase = fnGetOpenDatabase(sdatabaseName)
oConnection = oDatabase.DataSource.getConnection("","")
mArgs(0).name = "OpenMode"
mArgs(0).value = "open" '"openDesign" ' '"openForMail"
mArgs(1).name = "ActiveConnection"
mArgs(1).value = oConnection
oForm = oDatabase.getFormDocuments.getByName(sFormName)
'oForm.visibilityChanged(true)
oDatabase.getFormDocuments.loadComponentFromURL(sFormName, _
"_blank", 0, mArgs())
end sub
function fnGetOpenDatabase(sDatabaseName as string)
oEnum = StarDesktop.getComponents.createEnumeration
while oEnum.hasMoreElements
oPosDB = oEnum.nextElement
if oPosDB.implementationName = "com.sun.star.comp.dba.ODatabaseDocument" then
msgbox oPosDB.DataSource.name
if right(oPosDB.DataSource.name, len(sDatabaseName)) = sDatabaseName then
fnGetOpenDatabase = oPosDB
exit function
end if
end if
wend
end function