Newsgroup: it.comp.appl.access
Titolo: ciclo Do Loop

Ciao!! La mia prima volta!! Ebbene si la prima volta che uso un ciclo
Do...Loop...e mi ci sto scontrando! Dunque vi faccio vedere la routine
che mi han suggerito e che ho provato a cambiare:
1Dim dbs As Database
2Dim strNome As String
3Dim strCognome As String
4Dim Tabella As Recordset
5
6Set dbs = CurrentDb
7Set = dbs.OpenRecordSet ("Tabella", OpenDynaset")
8
9strNome = Forms!Maschera!Nome
10strCognome = Forms!Maschera!Cognome
11
12Do While tabella!nome = strNome And tabella!Cognome = strCognome
13tabella.edit
14tabella!data_dimissione = Forms!Maschera!data_dimissione
15If tabella!data_dimissione = "11/11/2099" Then
16tabella!data_dimissione = Forms!Maschera!data_dimissione
17End If
18
19Tabella.Update
20Tabella.MoveNext
21Tabella.Close
22Loop
Di sicuro qualcosa sbaglio perchè non funziona, l'errore mi viene
segnalata alla riga 12!!!
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel
messaggio
news:a7fca5b546fc4ab1bb...@mygate.mailgate.org...

Te ne darà diversi.
Anzitutto inserisci i riferimenti DAO
poi dichiarali
dim rst as dao.recorset
x le date servono i #
usa foi findfirst e lì editi
Massimiliano


l'errore vero è alla riga 7 :
hai sbagliato ad inizializzare il Recordset Tabella
quindi quando provi ad usarlo (alla riga 12) si pianta tutto!
devi scrivere:
set Tabella = dbs.OpenRecordSet ("Tabella", OpenDynaset")
ciao
Giovanni
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 segnalata alla riga 12!!!
Set TABELLA = dbs.OpenRecordSet ("Tabella", DBOpenDynaset")
Ti sei dimenticato il nome del recordset e se il campo data_Dismissione č
definito data devi scrivere #11/11/2099#
saluti
GB

Scusate...ho dimenticato di inserire la “tabella”, gli errori di
battitura accidenti!!! in realtà nella routine scritta l'ho inserita e
non funziona!!
Se la routine è così funziona tutto ma cambia la data a tutti i record
ed io non lo voglio:
1 Dim dbs As Database
2 Dim strNome As String
3 Dim strCognome As String
4 Dim Tabella As Recordset
5 Set dbs = CurrentDb
6 Set  Tabella = dbs.OpenRecordSet ("Tabella", OpenDynaset")
7 strNome = Forms!Maschera!Nome
8 strCognome = Forms!Maschera!Cognome
9 Do While tabella.EOF = False
10 tabella.edit
11 tabella!data_dimissione = Forms!Maschera!data_dimissione
12 tabella.Update
13 Tabella.MoveNext
14 Loop
15 Tabella.Close
se alla routine aggiungo il ciclo If…then..End If:
1 Dim dbs As Database
2 Dim strNome As String
3 Dim strCognome As String
4 Dim strData_dim As String
5 Dim Tabella As Recordset
6 Set dbs = CurrentDb
7 Set  Tabella = dbs.OpenRecordSet ("Tabella", OpenDynaset")
8 strNome = Forms!Maschera!Nome
9 strCognome = Forms!Maschera!Cognome
10 striData_dim = Forms!Maschera!data_dimissione
11 Do While tabella.EOF = False
12 If tabella!nome =strNome And tabella!cognome =strCognome Then
13 tabella.edit
14 tabella!data_dimissione = strData_dim
15 tabella.Update
16 Tabella.MoveNext
17 End If
18 Loop
18 Tabella.Close
non funziona più, nel senso che access si blocca e devo uscire dal
programma, e mi vien generato un errore alla riga 12!!! Sembra quasi che
la routine entri in un ciclo e non riesce ad uscirne e quindi si blocca
tutto. In definita non riesco a cambiare la data a quei soggetti che
hanno nome e cognome uguali a quelli della maschera!! Buh!!!! L
Grazie e ciao
mike :-)


 ha scritto nel messaggio
news:a7fca5b546fc4ab1bb...@mygate.mailgate.org...

Tabella.close va messo fuori dal ciclo e cioè dopo il loop, perchè altrimenti, con il
movenext ti sposti sul record successivo di un recordset che hai già chiuso.
Ciao
Galliano.