Newsgroup: it.comp.appl.access
Titolo: Aggiornare i record di una maschera continua

Ho una maschera continua che contiene un elenco di record.
Vorrei fare dei controlli su alcuni campi dei record dell'elenco e
modificare un flag in base a certe condizioni.
Il problema è che non so come spostarmi da un record all'altro della
maschera (vorrei dal primo all'ultimo) per utilizzare i controlli e i
valori presenti.
Saprei farlo usando il recordset associato con ADO, ma mi sembra uno
spreco visto che ho il recordset aperto davanti e posso usare i controlli
della maschera. Oltretutto se modifico il recordset associato dovrei avere
problemi di locking.
Si può fare? Altrimenti come si risolve normalmente questo problema?
Grazie a tutti
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it


Non capisco qual'è il problema di usare ADO appoggiandosi al
Recordset.Clone della Form, è assolutamente il metodo migliore.
Io poco esperto di ADO ti avrei suggerito DAO, ma presumo tu stia
lavorando con un progetto MSDE, quindi ADO è OK.
Con DAO:
Un bel Ciclo
    Dim rs as DAO.Recordset
    Dim fld as DAO.Field
    Set Rs=me.RecordsetClone
    rs.movefirst
    Do Until Rs.Eof
        rs.Edit
        'Controlli
        'Se poi per caso il Nome Campi del
        'Recordset è = al Nome dei Controlli
        For each fld in rs.Fields
            If  Me.Controls(fld.Name)=xxxx then rs.Fileds(
fld.name
)="AAA"
        Next
        rs.Update
        rs.Movenext
    Loop
     Riaggiorni il Recordset di Form.
Ciao.
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 -- 
Io che uso solo Access 97, con DAO aprirei il RecordsetClone della maschera
e fare tutte le modifiche del caso, quindi opererei un requery della
maschera.
Oppure opera le modificehe con una query di aggiornamento basata sulla
tabella origine record della maschera e quindi un bel requery della
maschera.
-- 
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 lavorando con un progetto MSDE, quindi ADO è OK.
Infatti pensavo di fare così, ma ad una prima prova, mi sono accorto che
ci possono essere problemi di lock, perchè effettivamente ho una maschera
continua aperta in modifica e vado a modificare anche la sua sorgente dati!
Quindi devo fare alcune prove, magari riaprendo il recordsource in sola
lettura e, dopo le modifiche via ADO al recordsetclone, riaggiornare la
maschera e rimetterla in modalità modifica!
Cosa ne pensi?
Grazie


 Grazie
Secondo me non hai problemi in nessun caso.
Li avresti se il Recordset non fosse Editabile.
Nel momento che vai a Leggere i dati nelle TextBox
li scrivi nella Tabella è la Form che non ha il recordset
aggiornato, ma Requery è meglio dell'aspirina....!
[A meno di considerazioni che non hai esposto]
Ciao


 Ciao
Ho provato il tutto e devo dire che funziona senza problemi di lock!
QUindi grazie della segnalazione.
Solo una cosa: per poter assegnare il recordsetclone ad un recordset devo
usare per forza DAO! Mi sai dire come mai non posso usare un recordset ADO?
Mi dice che il tipo non è corrispondente se faccio :
set rst=me.recordsetclone
con rst di tipo ADODB.recordset. Tutto OK se invece rst è DAO.recordset.
Mi sembra un grosso problema se non si può usare il recordsetclone con ADO.
Grazie ancora


 valori presenti.
Le soluzioni proposte sono valide e consigliabili.
Aggiungo che in passato ho gestito casi simili al tuo con
- docmd.gotorecord acfirst
- ciclo con docmd.gotorecord acnext
- ciclo interrotto al verificarsi di una certa condizione sul record
  corrente (tipo valore null).
Perdona la sintassi moooolto approssimativa ma in questo momento non
riesco a verificarla e preferisco sia clamorosamente cosě.
Ciao+
MArco
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

   corrente (tipo valore null).
Grazie, questo era proprio quello che volevo fare in origine.
Secondo te è più veloce (come prestazioni) questo modo o l'utilizzo del
recordsetclone con DAO.
Hai idea del perchè con ADO non riesco a utilizzare il recordsetclone
stesso?
Grazie


 Grazie
Di niente.


 Grazie
Prego, ma usa l'Help.
