Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6/Access: ciclare valori di una ListWiev.

    Non riesco ad inserire in una Tbl del DB Access i valori contenuti in una ListWiev. Dal controllo passo a passo (F8) ho verificato che i valori sono acquisiti correttamente per ogni step del ciclo, ma nella Tbl del DB trovo ripetuto n volte solo il primo record.
    Dove sbaglio?
    codice:
    With ConSR5
                .ConnectionString = DataConnessione
                .CursorLocation = adUseClient   'tipo di cursore
                .Mode = adModeShareDenyNone     'nessuna limitazione
                .CommandTimeout = 15
                .Open
           End With
           
            OggSR5.ActiveConnection = ConSR5
            OggSR5.CommandType = adCmdText
    
            For c = 1 To FrmLisDiff.LvDiff.ListItems.Count
    OggSR5.CommandText = "Insert Into TblStampaDifferenze(Reg, Dep, Prop, Res, ValCo,"_
    & "OdLi, ImportDec, Diff)" _
    & "values ('" & (FrmLisDiff.LvDiff.ListItems.Item(c).Text) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 1)) & " ', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 2)) _
    & "', '" & Ctr(FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 3)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 4)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 5)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 6)) & "');"
    OggSR5.Execute
    Next c
    Grazie per l'aiuto.
    LM

  2. #2
    devi selezionare nel ciclo l'item della list che deve incrementare
    Carpe diem
    Preferisco tentare che rinunziare

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    357
    Sei sicuro di non avere errori in questa istruzione?

    codice:
    For c = 1 To FrmLisDiff.LvDiff.ListItems.Count
     OggSR5.CommandText = "Insert Into TblStampaDifferenze(Reg, Dep, Prop, Res, ValCo,"_
    & "OdLi, ImportDec, Diff)" _
    & "values ('" & (FrmLisDiff.LvDiff.ListItems.Item(c).Text) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 1)) & " ', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 2)) _
    & "', '" & Ctr(FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 3)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 4)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 5)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(c + 6)) & "');"
     OggSR5.Execute
    Next c
    Perchè aggiungi sempre c al subitem?
    La prima volta potrà essere corretto, ma dalla seconda no.
    La prima volta c = 1 quindi i subitem saranno corretti (2,3,4 ecc..) ma dalla seconda volta c= 2 i subitem (2 + 1, 2 + 2 ecc..)
    Prova a modificare il codice in questo modo e verificare se i dati inseriti risultano corretti :
    codice:
    For c = 1 To FrmLisDiff.LvDiff.ListItems.Count
     OggSR5.CommandText = "Insert Into TblStampaDifferenze(Reg, Dep, Prop, Res, ValCo,"_
    & "OdLi, ImportDec, Diff)" _
    & "values ('" & (FrmLisDiff.LvDiff.ListItems.Item(c).Text) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(1)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(2)) & " ', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(3)) _
    & "', '" & Ctr(FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(4)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(5)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(6)) & "', '" & (FrmLisDiff.LvDiff.ListItems.Item(c).SubItems(7)) & "');"
     OggSR5.Execute
    Next c
    Ciao

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    mgmg hai ragione.
    Ora funziona correttamente.
    Pensavo d'aver provato già la soluzione da te indicata, che è la più logica, ma si vede che mi sono distratto.
    Grazie ancora. :maLOL:
    LM

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.