Pulsante per aprire form

libreoffice base 6.4.1.2
Ho provato varie macro prese sui forum per aprire una form alla pressione di un pulsante.
Nessuna ha funzionato, ottengo sempre lo stesso errore: “Errore di runtime BASIC. Variabile dell’oggetto non impostata”
Questo è uno degli esempi che ho trovato:

Sub Ouvre_New_Contact( oEvent as variant ) 
temp() = ThisDatabaseDocument.FormDocuments.ElementNames
count = ThisDatabaseDocument.FormDocuments.Count
MsgBox count
For i = 0 to count -1
MsgTxt = MsgTxt & Chr$(13) &  temp(i)
Next
MsgBox MsgTxt
ThisDatabaseDocument.FormDocuments.getByName("New_Contact").open 
End Sub

ma il risultato è lo stesso.

Diversamente i report si aprono correttamente con la macro seguente:

Sub allievi_x_docente
nometuoreport="allievi_x_docente"
ApriReportPernome(nometuoreport)
End Sub
'________________________________________________
Sub ApriReportPernome(nome)
pip = thisComponent.Parent.getReportDocuments
Dim ReportPropArgs(1) As New com.sun.star.beans.PropertyValue
ReportPropArgs(0).Name = "ActiveConnection"
ReportPropArgs(0).Value=thisComponent.Drawpage.Forms(0).ActiveConnection
ReportPropArgs(1).Name = "OpenMode"
ReportPropArgs(1).Value = "open"
penReport1 = pip.loadComponentFromURL(nome,"_blank",8,ReportPropArgs())
End Sub

Grazie per ogni aiuto.

Pier Luigi

Ho provato la prima macro che può essere così semplificata:

Sub Ouvre_New_Contact( oEvent as variant ) 
ThisDatabaseDocument.FormDocuments.getByName("New_Contact").open 
End Sub

Se al posto di “New_Contact” metto il nome di un formulario, questo mi viene aperto da un pulsante che si trova in un altro formulario. La macro deve essere assegnata all’evento Eseguire l'azione del pulsante.

Se la mia riposta ti ha aiutato, votala con :heavy_check_mark: (qui a sinistra)

Edit: vedi esempio allegato. Il pulsante in Formulario1 chiama il formulario Tabella1.

Nuovo database1.odb

Ciao, intanto grazie per la velocità
Il problema però rimane: sempre lo stesso messaggio di errore, ho anche copiato la macro dal tuo esempio e l’errore lo da sul secondo statement Temp()…
Mi pare che il problema possa essere a più alto livello, qualche settaggio sul DB?
Pier Luigi

io penso con sospetto alla tua versione li LibreOffice. Sei in grado di provare una versione precedente?

Disinstallo e installo nuovamente dici?
Non ti pare strano che la macro x i report funzioni?
Da qualche parte ho letto di registrare il data base, non so cosa voglia dire, tu?

Registrare il database, significa renderlo disponibile ad essere visto da Calc e Writer. Non credo ti possa essere utile. Prova ad andare in Aiuto > Riavvia in modalità sicura. Se la prova fosse positiva vorrebbe dire che il problema è del profilo utente di libreOffice.

Fatti due tentativi riavviando con i settaggi di fabbrica, ho dovuto reinserire le macro perchè le aveva cancellate; risultato identico. Guardando in giro non ho trovato segnalazioni aperte di questo tipo.
Ho terminato le idee.
Consigli?

Prova una versione precedente di LO. Con la 6.2.8.2 (x macOS) funziona bene.

Ciao ancora, disinstallato e reinstallato la 6.3.5.2 Still. non cambia nulla. Sto lavorando con un pc win 7 home, non mi pare che questo possa essere un problema, è una versione molto diffusa.
Volendo aggirare il problema, conosci un modo diverso per creare un menu di una applicazione?
Sto anche pensando di installare open office e vedere se c’é compatibilità, potrei concludere il lavoro con quello.
Pier Luigi

C’è un’altra strada per creare un menu, ma non è semplice. Prova aseguire questo tutorial: [Tutorial] Database autonomo (standalone) (Leggi argomento) • Apache OpenOffice: forum della comunità
Naturalmente puoi provare con Open Office.

Ciao, grazie per l’indicazione.
Ho guardato l’esempio, proverò a riprodurlo anche se mi pare un metodo barbaro.
Giusto per informazione ho fatto le seguenti prove:

  • scaricato OpenOffice e fatta prova: identico risultato;
  • spostato su altro PC con win10, scaricato LO e OO e fatte prove: identico risultato.
    Sono veramente perplesso. Mi sorprende anche che su questo argomento tu sia l’unico a rispondere, consideravo la costruzione dei menu un problema comune a tutti gli sviluppatori.
    Grazie ancora, ti farò sapere.
    Pier Luigi