Post by Bruno CampaniniPost by AkeryPost by Bruno CampaniniPost by Bruno CampaniniPost by Akerybuongiorno,
con il seguente script
_________________________________________________________________________________
Dim rs As Recordset
Dim tmp As String
On Error Resume Next
DoCmd.GoToRecord , , acFirst
Do Until Me.Recordset.EOF = True
Kill Me.cert
tmp = "select * from check_att_base where cf='" &
Me.codice_fiscale & "'"
Set rs = CurrentDb.OpenRecordset(tmp, dbOpenDynaset)
rs.Edit
rs!att_delete = True
rs.Update
rs.Close
Set rs = Nothing
Me.Refresh
'Error 11
DoCmd.GoToRecord , , acNext
Loop
MsgBox ("fatto!")
_________________________________________________________________________________
cancello dei file che non mi servono più, lo script funziona ma poi
resta impallato sull'ultimo record.
come faccio per uscire dal loop?
grazie
A me sembra tu voglia cancellare records non files,
ma forse ho male inteso.
==================================
Tabella: LT_Inviti
Cancellazione del record che ha il campo [ID_Ditta] = 164
Dim RS As Recordset
Set RS = CurrentDb.OpenRecordset("LT_Inviti", dbOpenDynaset)
Do Until RS.EOF
If RS![ID_ditta] = "164" Then
RS.Edit
RS.Delete
Exit Do
End If
RS.MoveNext
Loop
Bruno
per muoverti dentro un definito RS (Recordset)
RS.MoveFirst
RS.MoveLast
RS.MoveNext
Bruno
mi sto muovendo su una maschera, trovo il percorso del file "me.cert"
poi kill cancella il file poi apro una tabella che contiene dei flag
quindi spunto che il file è stato cancellato, tutto funziona! Poi
arrivo all'ultimo valore della maschera e da quel momento in poi si
impalla tutto, nel senso che non esce dalla sub e devo interompere
forzatamente.
Pertanto la questione è come far capire ad access che una volta
arrivato in fondo alla maschera deve interrompere le operazioni?
Cosa vuol dire "mi sto muovendo su una maschera"?
la maschera (visualizzazione "dividi maschera") è costruita su una query
non aggiornabile, ed è giusto che sia così perchè è una query che mi
cerca dei valori, i valori sono rappresentati dai vari percorsi dei file
da cancellare.
nel do until ho dato l'istruzione di scorrere tutti i record della
maschera me.recordset.eof e
con le istruzioni nel corpo del ciclo do until richiamo un'altra tabella
dove vado ad appuntare di aver fatto l'operazione di cancellazione del file.
il problema nasce sull'ultimo valore del recordset della maschera perchè
il ciclo non si arresta. Come si fa per far capire ad access che è
arrivato all'ultimo valore di me.recordset?
utilizzo DoCmd.GoToRecord , , acNext perchè sto scorrendo sulla maschera
Post by Bruno CampaniniLa procedura sarà attivata da un codice che è nel Form, o no?
- On error Resume Next
tolto ma se il file non esiste esce fuori dalla sub senza controllare il
resto
Post by Bruno Campanini- DoCmd.GoToRecord , , acFirst
lo utilizzo come comando per andare al primo record della maschera
Post by Bruno Campanini- rs.Close > - Set rs = Nothing
- Me.Refresh
ok, li toglierò
Post by Bruno Campanini- sostituisci: DoCmd.GoToRecord , , acNext
con: rs.MoveNext
il rs richiamato è unico ed appartiene alla tabella dei flag
Post by Bruno CampaniniSenza una prova concreta io non do dire altro.
Bruno
Grazie
Akery