[Risolto] Macro ed errori di runtime BASIC

Discussioni sulle caratteristiche di database
Rispondi
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

[Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Salve,
sono nuovo su questo forum ma uso oo e lo da un po' di tempo.
Non essendo bravo con il linguaggio per le macro, quando ne ho bisogno cerco in giro ma spesso gli script che trovo danno un errore tipico: Errore di runtime BASIC. Variabile non definita.

In questo caso, per salvare il record presente in una form, ho usato un pulsante che invoca la seguente macro:

Codice: Seleziona tutto

REM **** salva record ****
Sub saveRecord(Optional obj As Object)
On Error Resume Next
   Dim Form As Object
   Form=Event.Source.Model.Parent
   If Form.IsNew Then
      Form.insertRow()
   Else
      Form.updateRow()
   End If
End Sub
Non succede nulla ne tantomeno il record viene salvato, remmando lo statement 'On Error Resume Next' compare l'errore sopra descritto.
Non capisco se c'è qualcosa che non attivo durante l'installazione di oo.
Ringrazio in anticipo per l'aiuto.

Pier Luigi
Ultima modifica di Bonucci il lunedì 4 maggio 2020, 23:53, modificato 2 volte in totale.
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

Ciao, quella macro accede ad un formulario tramite un evento. A quale evento è stata associata?
Puoi condividere il database?
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Mi puoi dire come faccio a condividere il db?
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ciao,
in allegato il db.
Grazie.
Allegati
palestra_produzione_1_0.odb
(174.5 KiB) Scaricato 197 volte
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

Ciao, all'apertura di qualunque formulario, compare questo errore:
Schermata 2020-05-04 alle 16.40.34.png
Il messaggio è abbastanza chiaro: Basic non trova uno script. Ma io non trovo il modulo 'Module1' nella libreria 'Standard' del file.
A che livello memorizzi le tue macro? Perché seguano il file devono essere memorizzate in esso, non a livello 'macro personali'.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ok, in effetti le memorizzo come macro personali. Le devo spostare tutte nella libreria standard e rimandare il file?
Pier Luigi
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

Sì, grazie. Indica anche il formulario interessato dall'errore da te segnalato, ne vedo parecchi ...
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ecco il file modificato,
il form è "anagrafe", c'è un pulsante verde "salva" a cui ho riassociato la macro salvata nella nuova libreria.
L'errore lo indica nello statement "Form=......."

Pier Luigi
Allegati
palestra_produzione_1_0.odb
(176.86 KiB) Scaricato 177 volte
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

(A parte l'errore che ho già segnalato in precedenza e che rimane; adesso il modulo e la macro ci sono, mah! :roll: )

Presumo che l'errore di runtime di Basic stia nel non riuscire ad accedere al formulario di riferimento. Ma non so perché :oops: ... dovrebbe farlo, il codice mi sembra giusto.

Comunque si può superare l'ostacolo accedendo al formulario con il metodo getByName:

Codice: Seleziona tutto

Form=thisComponent.drawpage.forms.getByName("MainForm")
Tutto il resto funziona, anche il salvataggio del record, basta fare una modifica per verificarlo.

Poi ci sarebbe un discorso riguardante il modulo della query che si apre nel formulario per indicare il cognome da cercare. Molto brutto :D , ma è un altro discorso
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

Trovato ! obj al posto di Event!

Codice: Seleziona tutto

Sub saveRecord(Optional Event As Object)
'On Error Resume Next
   Dim Form As Object  
   Form=Event.Source.Model.Parent
   If Form.IsNew Then
      Form.insertRow()
   Else
      Form.updateRow()
   End If
End Sub
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: Macro ed errori di runtime BASIC

Messaggio da Bonucci »

OK ora funziona, grazie mille.

A proposito del parametro COGNOME con il box di dialogo bruttino, mi dai una dritta?

Quando apri il DB non ti si apre automaticamente il form MENU? pur con l'ennesima segnalazione di errore? ho inserito da qualche parte una macro per l'apertura automatica "AutoExec" presa dalla rete.

Se sto esagerando con le richieste, basta una parola e smetto.

Pier Luigi
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: Macro ed errori di runtime BASIC

Messaggio da charlie »

Allora, l'errore rimasto è proprio dovuto al fatto che è stata associata all'evento in Strumenti > Personalizza > Eventi > Apri documento una macro sbagliata (HideAllMenuToolbars) al posto di quella Autoexec.

Per il parametro Cognome, parliamone. Ma apri una nuova discussione.
Bonucci ha scritto:Se sto esagerando con le richieste, basta una parola e smetto.
Assolutamente no, il forum è fatto per quello: domande e risposte in libertà.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ok.
Pier Luigi
Apache OpenOffice 4.1.7 windows10
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] ed errori di runtime BASIC

Messaggio da Bonucci »

Ciao,
come già detto ho spostato tutte le macro sulla libreria dell'applicazione e ho modificato l'aggancio di tutte le macro alla nuova libreria.
Per essere sicuro di aver completato il lavoro ho cancellato "modulo1" dalla vecchia libreria in modo che gli errori mi avrebbero segnalato qualche form non aggiornato. In realtà ogni form che apro mi segnala l'inesistenza di "modulo1 HideAllMenuToolbars" anche se poi si apre correttamente senza le barre di menù. E' come se oltre alla macro inserita in Strumenti-->Personalizza-->Apri documento (che ho modificato) ci fosse una ulteriore dichiarazione che si riferisce alla vecchia libreria.
Suggerimenti su dove cercare?

Pier Luigi
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] ed errori di runtime BASIC

Messaggio da charlie »

No, così alla cieca non riesco. Puoi allegare di nuovo?
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] ed errori di runtime BASIC

Messaggio da Bonucci »

Eccolo.
A livello generale c'è una macro di apertura del form "Menu" (funziona)
Per ogni form c'è la macro di apertura senza barre che da il problema segnalato.
Grazie.
Allegati
palestra_produzione_1_5.odb
(177.68 KiB) Scaricato 104 volte
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] ed errori di runtime BASIC

Messaggio da charlie »

Mi sembra che gli errori si verifichino a ripetizione. Pare che non riconosca il modulo in cui sono memorizzate le macro.
Con pazienza rimuovi e rimetti i link alle macro uno ad uno.
Io ho provato con un paio e mi pare che funzioni.
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] ed errori di runtime BASIC

Messaggio da Bonucci »

OK
Apache OpenOffice 4.1.7 windows10
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

A me non funziona, ho provato anche a rimuovere del tutto la macro da un form ma all'apertura segnala lo stesso errore.
Non ricordo bene ma mi pare di aver visto da qualche parte dei settaggi che riguardano le librerie, potrei aver fatto qualche errore li ma non riesco a ritrovare da dove ci si arriva.

Pier Luigi
Apache OpenOffice 4.1.7 windows10
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ciao, ho trovato:
strumenti-->macro-->organizza finestre di dialogo
Sul tab librerie si può scegliere tra: macro ...personali, macro ... di open office, macro ... palestra_produzione...
di default compare: personali e nella finestra in basso: Standard.
I pulsanti indicano: modifica, chiudi nuovo, importa
Non capisco se e come si debba settare qualcosa in questo punto.
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da charlie »

Ciao, non c'è stato altro modo che quello di portare con copia/incolla tabelle, query e report dentro un nuovo database.
Per i formulari ho dovuto fare copia/incolla a livello edit mode per evitare che copiasse anche i link. Troverai qualche sfondo da rifare.
Poi ho rimesso dentro macro e link.
Non è attivata la macro autoexec.
Non ho inserito la famigerata macro HideAllMenuToolbar, per scaramanzia :mrgreen: .
Allegati
NUOVO.odb
(131.52 KiB) Scaricato 119 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ciao, mi spiace di averti dato tutto questo lavoro, mi bastava l'indicazione e avrei fatto da me.
Non so come fai a stare dietro a tutti i problemi.
Ti ringrazio ancora.

Pier Luigi
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da charlie »

Bonucci ha scritto: mi bastava l'indicazione e avrei fatto da me
Fossi stato sicuro del risultato ....
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ciao, ho aperto il db che mi hai mandato e incredibilmente ottengo lo stesso esatto errore.
Forse reinstallo oo, che ne dici?

Pier Luigi
Apache OpenOffice 4.1.7 windows10
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

L'ho fatto, disinstallato e reinstallato.
Il problema e' rimasto così mi sono arreso ed ho ricreato la libreria Modulo1 su macro personali, ora sembra funzionare,
Non capisco molte cose:
aperto nuovamente il db c'era la lista dei file aperti di recente, da dove la prende, dove la tiene?
pensavo che da qualche parte nella piattaforma ci fosse un parametro di livello più alto non disponibile allo sviluppatore che fosse rimasto settato sulla libreria personale e quindi reinstallando sarebbe dovuto sparire. boh!
Non essendo un esperto vero di oo il mio parere conta poco, può darsi che involontariamente abbia fatto qualcosa di sbagliato ma a prima vista sembra un baco della piattaforma. Che ne dici?
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da charlie »

No, non servirebbe a niente. Avevi aperto anche il tuo file contemporaneamente?
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da charlie »

charlie ha scritto:No, non servirebbe a niente.
Mi riferivo alla disinstallazione e reinstallazione. ma mi hai preceduto.

Prima di mettere le macro avevo salvato una versione pulita, senza link e macro (saggezza senile ;) ).
Puoi ripartire da questa.
Allegati
NUOVO PULITO.odb
(127.15 KiB) Scaricato 130 volte
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Bonucci
Messaggi: 24
Iscritto il: domenica 3 maggio 2020, 16:53

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da Bonucci »

Ciao, ci siamo incrociati con le risposte.
Grazie per la versione pulita.
Ti se fatto un'idea di cosa è successo? Hai letto il mio precedente post?
Pier Luigi.
Apache OpenOffice 4.1.7 windows10
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8786
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: [Risolto] Macro ed errori di runtime BASIC

Messaggio da charlie »

Bonucci ha scritto:c'era la lista dei file aperti di recente, da dove la prende, dove la tiene?
Probabilmente nel profilo utente di OO. Sono una serie di cartelle nascoste che si trovano dentro la cartella user che non viene toccata disinstallando e re-installando il programma. La si può cancellare/spostare/rinominare, al primo riavvio di OO viene rigenerata automaticamente con le impostazioni di default.
All'interno della cartella 'user' c'è la cartella 'basic' con le macro personali.

viewtopic.php?f=34&t=5100
charlie
macOS 14.3 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
Rispondi