Newsgroup: it.comp.appl.access
Titolo: Gestire Record di una sottomaschera

Buona anno a tutti!
Ho una maschera(M_DDTT non associata) con una sottomaschera(M_DDTR associata
ad una query) e, alla pressione di un pulsante, vorrei che i dati della
maschera e della sottomaschera vengano aggiunti ad una tabella;
I dati della maschera vengono copiati correttamente così con ADO:
---- CUT
' Aggiunge un nuovo record
    rstT.AddNew
    ' Specifica i valori per i campi TESTA
    rstT!DDTTDATA = Me!DDTDATA
    rstT!DDTNUMERO = Me!DDTNUMERO
...
Il problema è con la sottomaschera, in pratica non riesco a gestire il
recordset. Ho provato così ma senza successo
Dim rstRIGHE As Recordset, intI As Integer
Dim fld As Field
    Set rstRIGHE = Forms!M_DDTT.M_DDTR.Form
   For Each fld In rst.Fields
       rstord!qtaDDT =rstRIGHE!ORDFORNRQTAARR
    Next
Grazie a tutti.

     Next
Non si capisce se l'Addnew lo esegui sulla SubForm, quindi il tuo
problema diventa solo di aggiornare il Recordset della stessa
o se le cose non siano proprio cosě...!
Sempre UPDATE alla fine, ma do per scontato sia un effeto del CUT...!
Nel caso 1 non serve, oltre con non funzinare, l'aggiornamento
in quel modo, ma per riaggiornare il Recordset della SubForm
č necessario eseguire il REQUERY della Stessa.......!!
Non sono sicuro di aver inteso correttamente, nel caso fai un pň
piů luce sull'argomento...!
Buon anno anche a te.
@Alex.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG


nella maschera ho 2 caselle di testo DATA E NUMERO;
Nella sottomaschera visualizzo le righe dell'ordine (Q_ORDFORNR) inserisco
le quantità arrivate  poi col pulsante devo aggiornare due
tabelle: la prima T_DDTT rappresenta la testa dei DDT quindi DATA E NUMERO(e
fin qui tutto
bene):
La seconda DDTR devo scrivere le quantità inserite nella sottomaschera
quindi devo semplicemente capire come fargli leggere i record della sub form
e
inserirlii in un'altra tabella.
Ho provato così ma mi scrive solo il primo record
CUT--
 rstORD.Open "Select MPANGRACOD, ORDFORNRQTAEVASA from Q_ORDFORNR", cnn,
adOpenKeyset, _
        adLockOptimistic
    ' Aggiunge un nuovo record
    rstT.AddNew
    ' Specifica i valori per i campi TESTA (QUESTO FUNZIONA)
    rstT!DDTTDATA = Me!DDTDATA
    rstT!DDTNUMERO = Me!DDTNUMERO
    ' Salva le modifiche al record corrente nel recordset
    rstT.Update
    rstR.AddNew
    'Specifica i valori per i campi RIGHE (QUI MI AGGIUNGE SOLO IL PRIMO
RECORD)
While Not rstORD.EOF
   For Each fld In rstORD.Fields
   rstR!MPANGRACOD = rstORD!MPANGRACOD
    rstR!IDDDTT = rstT!IDDDTT
    rstR!DDTRQTA = rstORD!ORDFORNRQTAEVASA
    rstORD.MoveNext
   Next
Wend
    ' Salva le modifiche al record corrente nel recordset
    rstR.Update
    'Chiude il recordset
    rstR.Close
    rstT.Close
    rstORD.Close

 ha scritto nel messaggio
news:bt48g8$r3b$1...@lacerta.tiscalinet.it...

Ho trovato l'inghippo!!!
While Not rstORD.EOF
   For Each fld In rstORD.Fields
   rstR.AddNew    '(QUESTO MALEDETTO L'AVEVO SCRITTO A MONTE DI WHILE)!!!!!
   rstR!MPANGRACOD = rstORD!MPANGRACOD
    rstR!IDDDTT = rstT!IDDDTT
    rstR!DDTRQTA = rstORD!ORDFORNRQTAEVASA
    Debug.Print rstORD!MPANGRACOD
    Debug.Print rstT!IDDDTT
    Debug.Print rstORD!ORDFORNRQTAEVASA
    rstORD.MoveNext
   Next
Wend
Grazie per l'imbeccata
Ciao

 Ciao
In realtà avrei voluto risponderti, ma non mi funzionava la rete....!
Mi pare di capire che lavori con Form non Associate o sbaglio...?
Hai valutato di usare Form Associate, l'aggiornamento dei Recordset
è automatica...!
Ciao.
@Alex.