Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Eof

    Ki mi sa dire perkè se uso il seguente codice che dovrebbe trasferirmi i dati presenti nella tabella ad un altra tabella non funzia o meglio conta quanti record deve trasferire ma poi anzichè trasferire il 1, il 2 , il 3 fino ad EOF , mi trasferisce sempre il primo record per quante volte è il numero letto con EOF??

    Private Sub Comando6_Click()
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Nuovoordine")
    Do Until rst.EOF
    rst.MoveNext
    Set rst1 = dbs.OpenRecordset("consegnato")
    rst1.AddNew
    rst1.fornitore = Testo4
    rst1.data = data
    rst1.Prodotto = SottomascheraNuovoordine!Prodotto
    rst1.Quantità = SottomascheraNuovoordine!Quantità
    rst1.magazzino = magazzino

    rst1.Update
    Loop
    rst.Close
    End Sub

    lupoezechiele

  2. #2
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    perchè rs.movenext lo devi mettere dopo rs.update e prima di loop

  3. #3
    avevo già provato e per s rupolo ho riprovato ora
    ma non funzia continua a scrivere sempre lo stesso record
    moltiplicato
    uaaaaaaaaaaaaaaa
    altri suggerimenti??
    lupoezechiele

  4. #4
    Se ho capito bene questa è la soluzione:

    codice:
    Private Sub Comando6_Click()
        Set dbs = CurrentDb
        Set rst = dbs.OpenRecordset("Nuovoordine") 'sorgente
        Set rst1 = dbs.OpenRecordset("consegnato") 'destinazione
        
        Do Until rst.EOF
            rst.MoveNext
            
            rst1.AddNew
            rst1.fornitore = Testo4
            rst1.Data = Data
            rst1.Prodotto = rst!Prodotto
            rst1.Quantità = rst!Quantità
            rst1.magazzino = magazzino
            
            rst1.Update
        Loop
        rst.Close
        rst1.Close
    End Sub
    domande:

    1 - Perchè continuavi ad aprire "rst1" in ogni ciclo?
    Set rst1 = dbs.OpenRecordset("consegnato")
    2 - Che recordset era "SottomascheraNuovoordine"?
    rst1.Prodotto = SottomascheraNuovoordine!Prodotto
    rst1.Quantità = SottomascheraNuovoordine!Quantità
    ...e quando meno te lo aspetti potrebbe capitare qualcosa di bello, di più importante di quello che avevi programmato...

  5. #5
    allora io ho una maschera ,
    all'interno una sottomaschera detta sottomascheranuovoordine
    tutti record presenti in sottomascheranuovoordine devo inviarli alla tabella consegnato.

    facendo come dici tu non mi trova i record da cui prendere i dati?
    rst1.Prodotto = rst!Prodotto ' il codice sui blocca qua,
    se scrivo
    rst1.Prodotto = SottomascheraNuovoordine!Prodotto
    gira il codice ma da il solito problema
    mi replica sempre lo stesso record

    mmmmmmm
    lupoezechiele

  6. #6
    Utente di HTML.it L'avatar di Mychy
    Registrato dal
    Oct 2000
    Messaggi
    794
    Tu stai parlando di access ! :quote:

    rst1.Prodotto = SottomascheraNuovoordine!Prodotto
    Così facendo tutti i record conterranno lo stesso valore.

    Facendo invece come ti ha detto Markho immetti i dati contenuti nella tabella nuovoordine nella tabella consegnato.

    anche se rst.MoveNext lo metterei dopo l'update altrimenti credo che perderesti il primo record

  7. #7
    yeahh!!

    ho fatto un mix tra tutti i consigli ed ho ottenuto
    il codice funzionante:
    Private Sub Comando6_Click()
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Nuovoordine") 'sorgente
    Set rst1 = dbs.OpenRecordset("consegnato") 'destinazione

    Do Until rst.EOF


    rst1.AddNew
    rst1.fornitore = Testo4
    rst1.data = data
    rst1.Prodotto = rst!Prodotto
    rst1.Quantità = rst!Quantità
    rst1.magazzino = magazzino

    rst1.Update

    rst.MoveNext
    Loop
    rst.Close
    rst1.Close
    End Sub

    ' movenext dove lo avevo posizionato non faceva partire il loop, anche se la posizione l'avevo copiata da un manuale!
    c'è poco da fa siete troppo forti.
    Grazie a tutti
    lupoezechiele

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.