Oppure

Loading
20/05/08 9:45
JJ69
Ho fatto un piccolo gestionale di amministrazione personale in VB6 che, anche senza essere il massimo di programmazione, assolve alle mie esigenze. Ho utilizzato ADO con archivi in Access. Funziona tutto tranne l'aggiornamento dei fields contenuti nel Data susseguenti ad una modifica. Mi spiego meglio. Ho due form nello stesso codice. Il form principale mi permette di creare dei nuovi record ed il secondo viene aperto per modificare un record esistente. Faccio un esempio: nel primo form inserisco tre nuovi record e tramite il seguente codice

Dim rs As Integer
rs = data1.Recordset.RecordCount
lblLemmi.Caption = "Record presenti: " & rs

inserito nell'evento Validate di data1 mi viene restituito il valore effettivamente corrispondente al numero di record presenti. Il problema è che quando entro nel form2 e cancello uno dei tre records nel form2 il recorcount si aggiorna e visualizza 2 record presenti ma quando ritorno al form1 ho ancora la vecchia lettura a 3 record presenti e tale rimane anche agendo sui tasti di data1. L'unico sistema di aggiornare il record count del form1 è quello di uscire dal programma e farlo ripartire. Ho provato diverse soluzioni (form resize, refresh ecc.) ma nessun risultato e tanti errori. Consigli? Ciao
aaa
20/05/08 11:39
gantonio
Perche' parli di ADO dato che il controllo Data utilizza DAO ?
aaa
20/05/08 11:48
JJ69
Ops! Chiedo scusa a tutti per l'imprecisione del titolo fuorviante. Utilizzo il componente: Microsoft Data Bound Grid Control 5.0 (SP3)
aaa
20/05/08 11:52
gantonio
La griglia di cui parli e' la DBGrid che e' collegata al controllo Data ...

Rimane quindi il fatto che utilizzi il controllo Data che, come ti ho detto, utilizza DAO e non ADO ...

In ogni caso, prima di rientrare nel form1 (o al rientro) devi eseguire un refresh del controllo perche' questo effettui una requery ... probabilmente ti basta scrivere

Data1.Refresh
Ultima modifica effettuata da gantonio 20/05/08 11:54
aaa
20/05/08 12:04
JJ69
Ho provato a mettere data1.refresh all'uscita del form2 ma non fa niente e non da errore. Ho provato a metterlo nell'evento validate di data1 ma mi da errore 444 (method not appicable in this context) e ho provato a cambiare la sintassi in data1.recordset.refresh = valanga di errori. Ho provato ad utilizzare data1.recordset.recordstatus ma niente da fare.
aaa
20/05/08 12:18
JJ69
GRANDE! La sintassi giusta è proprio data1.refresh! Ho inserito quattro command button per scorrere i lemmi e in ognuno ho inserito data1.refresh e quando rientro nel form1 basta che ne prema uno qualsiasi di questi che il contenuto dei record si aggiorna correttamente. Fino alle due di stanotte continuavo a fare la stessa cosa solo che mettevo data1.RecordSet.Refresh e giustamente non funzionava. Sono proprio un merluzzo. Avrei dovuto postare prima e sarei andato a letto prima! GRAZIE ANCORA !!!
aaa