[CUT]
>
> Si ma quel codice da dove lo lanci?
> Ooops!
> Scusa non avevo visto che lo hai sulla Open
> Vabbe' io non uso la tua struttura (e neanche quella di Karl)
> ma non ho /mai/ avuto problemi con le Public di qualsiasi tipo
> Tu mi stai dicendo che mettendo un breakpoint, che ne so,
> ad esempio sulla On Error EserSucc e' impostata e che, invece,
> se guardi poi in sSql dopo averla valorizzata con la INSERT
> trovi il valore vuoto?
> Hai scritto che usi il debugger.
>
> Non ci credo neanche se lo vedo ;-)
Dunque: (e con dunque non si inizia mai un discorso... insegnavano una
volta a scuola...)
- Apertura programma tramite piccola form popup con due listbox in cui
si sceglie l'esercizio ed il condominio; ci sono già evidenziate due
voci in base ai dati ancora memorizzati in quella tab posta nel FE dalla
chiusura precedente.
- Con il pulsante cmdOK
--> se la selezione del condominio è cambiata, riallego le tabelle (per
non complicarmi troppo la vita ho un BE per ogni condominio),
--> assegno i valori alle variabili pubbliche poste in un modulo standard,
--> chiudo la popup di apertura e apro la form principale che, con un
nome molto fantasioso, ho chiamato frmGestione.
Questa è composta da un ctr di tipo spostamento (che fino ad A2003 non
esisteva, giusto?) con sette pulsanti posti in verticale sulla sinistra.
Ogni volta che premo uno di questi pulsanti posso accedere ad un
ulteriore controllo a schede che mi permette di lavorare sulle form che
mi interessano: anagrafiche, impostazioni, spese, letture, suddivisioni,
ripartizioni ecc. ecc.
Funziona tutto perfettamente, le variabili pubbliche hanno sempre il
loro valore, ma... quando premo il pulsante per aprire il ctrScheda con
due schede (Consuntivi e Preventivi rispettivamente) succede l'inghippo.
Aprendo la frmPreventivi (è il codice che ho postato), la var. EserSucc
NON HA PIù il suo valore, è NULLO! La procedura va in errore ed esce.
Tu dubiti che usi il debbuger! E come no! Ho messo il breakpoint subito
dopo la riga on error. L'errore è il 2424 "Impossibile trovare
l'oggetto" o qualcosa di simile. Ho cancellato praticamente tutta la
SELECT rimettendo tutti gli oggetti uno alla volta,beh... l'oggetto che
manca è proprio lo stramaledetto EserSucc... non esiste più, svanito,
puff!... ma EserSucc esiste ancora, solo che è Nullo, e mi puoi credere,
Ale, che è proprio così! Che ci sia qualcosa di sbagliato ne sono
convinto anch'io, ma cosa? A meno che sia proprio access pronto per la
neuro... cosa comunque di cui ne dubito :-)
Se tento di rivalorizzare EserSucc mi appare l'errore chilometrico di
runtime di cui ho già scritto "Impossibile assegnare un valore all'oggetto".
Una precisazione: questa variabile la uso solo in questo modulo, mentre
le altre due le uso in tutto il programma e funzionano benissimo.
Ora sto riscrivendo tutto il codice per questa maschera e proverò a
mettere la variabile solo in locale, speriamo bene! Ciò non toglie però
che le... pallottole mi stiano girando vorticosamente...