Domenico Odetti ha scritto:
ciao *,
con base
qualcuno sa come si scrive una macro che, collegata ad un pulsante
all'interno di un formulario, apra un altro formulario?
se il form è esterno al db (come era in Oo 1.x) basta l'url. Altrimenti
prova questa macro che tempo fa è stata postata nella mailing list (non
l'ho provata eh):
La mail va' a capo dopo 72 caratteri quindi la macro la devi aggiustare.
' Qui gli passi il nome del file .odb e qui il nome
del formulario
Sub subDisplayForm(sDatabaseName as string, sFormName as string)
Dim oForm
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
--
http://www.venerandi.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]