Newsgroup: it.comp.appl.access
Titolo: In una maschera si verificano errori che poi è impossibile ricreare per risolverli....

Buongiorno a tutti
Sono alle prese con una maschera di inserimento "Autovetture" (Targa,Cliente, 
marca_Tipo,Nsociale,Ntelaio e TipoMotore i campi, ma poco importa).
L'origine record per questa maschera è la più semplice, in quanto è il nome della tabella 
"Autovettura", il recordset è Dynaset e tutti gli effetti collaterali dei tasti Tab, Up, Dn, Left, 
Right, Return sono gestiti tramite anteprima tasti. ho escluso quindi tutti i passaggi maligni tra 
un record e l'altro senza autorizzazione da VBA.
Nella situazione di inserimento di un nuovo record, dò la possibilità di annullare l'azione tramite 
tasto annulla. Dopo che l'utente ha confermato l'annullamneto, il codice esegue(Valido as boolean, 
true di default)
Valido=false
Me.refresh
e su evento Beforeupdate della form ho scritto
If not Valido then
    me.undo
    Cancel=true
end if
Praticamente il refresh richiama in primis l'evento beforeupdate della maschera e se valido=false 
allora mi effettua l'undo e poi forza il cancel.
Alla fine sistemo il cursore sul primo record e tutto è OK
Il sistema che ho creato va che è uno spendore, data la sua semplicità.
Tuttavia, in un'occasione, mi si è presentato l'errore "3021 Nessun record corrente".
Ho provato 100 volte a ricreare l'errore utilizzando la maschera, ma devo ancora riuscirci.
Ora io mi chiedo, è un errore isolato che è stato un caso, oppure c'è la possibilità che si possa 
ripetere?
Ho forse sbagliato qualcosa utilizzando il refresh per richiamare il BeforeUpdate?
Grazie a chiunque riuscirà ad illuminarmi (ma non d'immenso però).
---------------------------
Michele (Giò)
joyl...@alice.it
 

Michele (Giò) ha scritto:

Perchè fai il Refresh...?
C'è qualcosa che mi sfugge....
Su Before Update mi pare normale, non capisco dove metti la variabile
Valido e come interagisce....
Non è che ti convenga il clasico MsgBox "Vuoi Salvare" su
BeforeUpdate...?
@Alex

 ha scritto nel messaggio 
news:1162124144.8...@f16g2000cwb.googlegroups.com...
Michele (Giò) ha scritto:
.................................


 end if
Perchè fai il Refresh...?
C'è qualcosa che mi sfugge....
Su Before Update mi pare normale, non capisco dove metti la variabile
Valido e come interagisce....
Non è che ti convenga il clasico MsgBox "Vuoi Salvare" su
BeforeUpdate...?
@Alex
Allora, la variabile Valido la posto a false nel caso precedenti controlli sulla conformità dei dati 
abbiano dato esito negativo, e comunque per evitare la cancellazione del record nel caso venga 
inserito un nuovo record e l'utente decida di salvarlo. Infatti nel caso di salvataggio si verifica 
l'eventoBeforeUpdate e Valido=true evita l'undo e il cancel. Valido è una maniera come un'altra per 
conmunicare con l'evento per fargli capire cosa l'utente abbia deciso di fare.
Il refresh lo faccio perchè se l'utende decide in un qualsiasi momento(campi tutti vuoti, 
parzialmente o totalmente completi)di annullare l'inserimento, mi attiva l'evento BeforeUpdate che 
poi gestisce la cosa.
Esistono altre maniere per richiamare l'evento? Alla fin fine un refresh su nuovo record inizializza 
la convalida i dati...... o sbaglio?
Michele