Cosa dovrebbe fare il programma dentro la Form3? Cerco di spiegarlo intanto a parole, poi mi dirai tu se ho capito:
1) Appurare inizialmente la sequenza di data contabile della giornata corrente rispetto alla precedente;
2) in caso di data non immediatamente successiva, dovrebbe allarmare l'utente proponendogli l'ultima data caricata col suo saldo contabile finale;
3) in quest'ultimo caso, per accettazione da parte dell'utente, della data proposta, proseguire partendo dal saldo contabile letto nel DB ed elencare nella Gridview il dettaglio dei dati relativi alla resta di denaro contanti attinente alla stessa giornata a cui si riferisce il saldo riscontrato prima. Ciò serve per partire da una situazione contabile di fine giornata precedente quadrata. l'Utente, nella fattispecie non dovrebbe digitare né il saldo iniziale, né il relativo dettaglio di cassa contanti; quindi la
TextBox.Saldo_Iniziale manterrebbe inalterata la
proprietà ReadOnly=TRUE, stabilita nella costruzione della Form3.
4) nel caso in cui l'operatore volesse digitare una buova data, successiva all'ultima riscontrata automaticamente dal programma, la
proprietà ReadOnly della
TextBox.Saldo_Iniziale dovrebbe essere modificata in
ReadOnly=FALSE, in modo da permettere la digitazione del saldo iniziale;
5) Una volta digitato il saldo iniziale l'utente dovrebbe scegliere nella
ComboBox.Tipo_di_Contanti il nome del dettaglio di cassa, fra quelli caricati automaticamente dalla tabella del Piano dei Conti del DB. Detta casella ha e mantiene la
proprietà ReadOnly=TRUE.
Le descrizioni riportate sopra sono svolte, dopo le ultime modifiche, dentro gli eventi
1) ---> Form3.Form_Show e
2) e 3) ---> Form3.SdoIniMovvg_GotFocus della TextBox.Saldo_Iniziale
4) ---> Form3.SdoIniMovvg_KeyPress, per il controllo riguarda tutta la fase di digitazione dell'importo
5) ---> SdoIniMovvg_LostFocus, per l'editing dell'importo digitato e l'inserimento del nuovo record riepilogativo di fine giornata precedente.
Stranezze riscontrate:
Dopo la manifestazione dell'evento
Form3.SdoIniMovvg_GotFocus della TextBox.Saldo_Iniziale, pur essendo stata adeguata la proprietà
ReadOnly=FALSE per consentire la digitazione dell'importo relativo viene scatenato immediatamente l'evento
SdoIniMovvg_LostFocusA questo punto il programma entra in un loop infinito che interessa nella situazione di pseudocodifica descritta sopra gli eventi
Form3.SdoIniMovvg_GotFocus
Form3.SdoIniMovvg_LostFocus; almeno così ricordo.
Spero di avere risposto secondo le tue aspettative e se hai tempo per meglio consigliarmi, o ti dovessero necessitare ulteriori notizie, sai che sono qui che aspetto.