Aggiorna record

di il
8 risposte

Aggiorna record

Salve a tutti!
Ho un problema di aggiornamento dati di una tabella.
Io ho scritto questa Macro allo scopo di aggiornare dei Record ma il problema è che non funziona, ovvero, non va in errore e non aggiorna i record. In parole povere non succede niente e non capisco perchè.

Spero nel Vostro aiuto
Private Sub Comando10_Click()
    Dim aggiornaRecord As New ADODB.Recordset
    
    aggiornaRecord.Open "Tab_Magazzino", CurrentProject.Connection, adOpenForwardOnly, adLockOptimistic
    
    If Me.STATUS.Value = "DISPONIBILE" Then
        Do Until aggiornaRecord.EOF
            If aggiornaRecord![ID-Inserimento] = Me.ID_Inserimento Then
                aggiornaRecord!IdClienteAssegnazione = Form_Frm_Ordini2.ID_Cliente.Value
                aggiornaRecord!PRODUZIONE = Form_Frm_Ordini2.PRODUZIONE.Value
                aggiornaRecord![DATA DI ASSEGNAZIONE] = Date
                aggiornaRecord!STATUS = "PRENOTATO"
                aggiornaRecord!REPARTO = "MPF"
                Exit Sub
            Else
                aggiornaRecord.MoveNext
            End If
        Loop
        aggiornaRecord.Update
        aggiornaRecord.Close
        Set aggiornaRecord = Nothing
        Form_Frm_AssegnaSeriali.Requery
        Form_Frm_Ordini2.Requery

    End If
End Sub
Provo a spiegarlo così se sbaglio mi correggete

1) Ho creato un oggetto Recordset
2) Ho aperto questo oggetto e gli ho detto che il Recordset appartiene alla tabella "Tab_Magazzino" che si trova nel progetto corrente; poi ho impostato il cursore adOpenForwardOnly ed impostato anche adLockOptimistic per consentire la modifica dei dati (spero sia tutto corretto)
3) Poi c'è una condizione che fa partire un ciclo se il valore di Me.STATUS è uguale a "DISPONIBILE"
4) Nel caso sia vero inizia il ciclo che parte dal primo Record fino alla fine (EOF)

Ora la parte che non capisco perchè non funzioni

5) Se nel campo [ID-Inserimento] c'è un valore uguale a Me.ID_Inserimento alcuni campi di quel record devono essere aggiornati in base al valori di alcune TextBox di una determinata maschera.

Purtroppo non succede nulla...

Grazie a tutti per l'aiuto!!

8 Risposte

  • Re: Aggiorna record

    Me la suono e me la canto!!!!
    Scusate tanto!!

    Bastava sostituire Exit Sub con Exit Do!!!!

    Ad ogni modo se avete suggerimenti dite pure
  • Re: Aggiorna record

    È evidente... la exit sub non ti permette di eseguire il resto delle istruzioni...
  • Re: Aggiorna record

    La domanda che viene spontanea... perché usi ADO...?
    Se hai un motivo tecnico vorrei saperlo... altrimrnti ti suggerirri di ragionare con DAO o ACEDAO che sono nativi di Access... i recordset di maschera ad esempio non sono ADO...
  • Re: Aggiorna record

    @Alex ha scritto:


    La domanda che viene spontanea... perché usi ADO...?
    Se hai un motivo tecnico vorrei saperlo... altrimrnti ti suggerirri di ragionare con DAO o ACEDAO che sono nativi di Access... i recordset di maschera ad esempio non sono ADO...
    Ciao Alex!!
    Grazie per il tuo suggerimento
    Magari avessi un motivo tecnico

    Sarò sincero: uso ADO perchè sono sono alle prese con un libro che spiega come effettuare questo genere di procedure con ADO ma ho già notato che fra circa 100 pagine inizierà a parlare di DAO e ACEDAO

    C'è tanta strada da fare...
  • Re: Aggiorna record

    Giusto conoscere entrambi ma sappi che Access lavora in modo ottimale con DAO/ACEDAO diciamo che Accdb=Acedao mentre Mdb=Dao
  • Re: Aggiorna record

    @Alex ha scritto:


    Giusto conoscere entrambi ma sappi che Access lavora in modo ottimale con DAO/ACEDAO diciamo che Accdb=Acedao mentre Mdb=Dao
    Grazie mille per il suggerimento!!
    Ne farò tesoro!
    Ci arriverò presto

    Ma allora la domanda sorge spontanea:
    in quali casi conviene usare ADO?
  • Re: Aggiorna record

    Non esiste solo Access - JET... ed ADO offre qualche flessibilità maggiore nell'accesso ai dati su server SQL, oltre a supportare Oggetti recordset in memoria, quindi non necessariamente appoggiati ad una tabella, supportare l'apertura Sincrona... ecc..
    Sono concetti meno accessibili se sei all'inizio...
  • Re: Aggiorna record

    Spero di poterne discuterne in futuro in modo più approfondito

    Grazie per le info!!
Devi accedere o registrarti per scrivere nel forum
8 risposte