Gestione degli errori

di il
4 risposte

Gestione degli errori

Buongiorno.

Sto cercando di sviluppare una procedura per gestione contabile di un bar-tabacchi. Premesso che per l'accesso ai dati utilizzo la connessione diretta al database e gli oggetti ADOTable per le tabelle, mi succede che nel caso in cui in un campo che è di valore double (nel database dichiarato come float)  inserisco erroneamente questa cifra 12,25, il programma mi genera questo errore :

Fino a qui va bene. Il problema è che non riesco più ad uscire dall'errore nel senso che, nonostante premi il tasto ok, il programma mi ripropone sempre il messaggio e non mi da la possibilità di correggere quello che ho scritto e per poter uscire devo per forza intervenire con ctrl-alt-canc, avviare la gestione attività e dopo aver selezionato il programma terminare lo stesso.

4 Risposte

  • Re: Gestione degli errori

    Strano… dove succede? Un tdbedit?  Che proprietà ha l'oggetto? C'è una maschera impostata?

  • Re: Gestione degli errori

    L'evento avviene nel momento in cui eseguo l'operazione di “INSERT” o “EDIT” . Si, il campo è associato ad una tdbEdit e l'oggetto, a parte le proprietà di default, non ha nessuna proprietà e si trova all'interno di un oggetto tGroupBox. Nell'oggetto TAdoTable, il campo ha la proprietà displayformat impostata come “###,###.00”

  • Re: Gestione degli errori

    Il problema potrebbe essere dovuto al separatore decimale: prova a usare il punto (.) al posto della virgola (,) per verificare se cambia qualcosa.

    Rimango comunque perplesso del fatto che lo riproponga all'infinito: ci sono altre parti di codice che possono interferire?
    Hai intercettato degli eventi sul componente della tabella?

  • Re: Gestione degli errori

    RISOLTO, grazie per la collaborazione. Ad un certo punto le le avevo provate tutte  e su tutti i vari frame dove sono presenti dei campi di tipo float ma mi dava sempre lo stesso problema. Per curiosità ho provato a fare una simulazione creando un nuovo progetto dove sul form principale ho messo un oggetto adodataset collegato direttamente al db e alla tabella; ho sistemato gli oggetti tDBedit collegti all'oggetto adodataset ed ho provato a generare l'errore con il risultato in prima battuta ricevevo il messaggio di errore ma poi mi lasciava continuare a lavorare tranquillamente.

     A questo punto, o diventi scemo oppure ti metti a spulciare di sana pianta quello che hai scritto o creato ed in merito ho visto che nel form principale ho trovato la proprietà FormStyle messa su "fsMDIForm". Ho modificato la proprietà mettendo fsNormal e, come per magia, tutto funziona alla perfezione.

    Grazie ancora.

Devi accedere o registrarti per scrivere nel forum
4 risposte