Possibile sostituzione ciclo con query sql

di Anonimizzato24786 il
7 risposte
Sto facendo delle elaborazioni su dei dati in una tabella di appoggio. In particolare, devo leggere tutte le righe e poi aggiornare un campo in base allo stesso campo della riga precedente. Sta cosa lo faccio con un ciclo che mi legge tutte le righe
            For j = 0 To Disponibile.Rows.Count - 1
                If codice <> Disponibile.Rows(j)("ko_codart") Then
                    codice = Disponibile.Rows(j)("ko_codart")
                    If Disponibile.Rows(j)("ko_ordin") = 0 Then
                        Disponibile.Rows(j)("Disponib") = Disponibile.Rows(j)("apx_esist") - Disponibile.Rows(j)("Residuo")
                    Else
                        Disponibile.Rows(j)("Disponib") = Disponibile.Rows(j)("apx_esist") + Disponibile.Rows(j)("Residuo")
                    End If
                Else
                    If Disponibile.Rows(j)("ko_ordin") = 0 Then
                        Disponibile.Rows(j)("Disponib") = Disponibile.Rows(j - 1)("Disponib") - Disponibile.Rows(j)("Residuo")
                    Else
                        Disponibile.Rows(j)("Disponib") = Disponibile.Rows(j - 1)("Disponib") + Disponibile.Rows(j)("Residuo")
                    End If
                End If
           Next j
In se per se, questo codice funziona. Il problema è che le righe in gioco sono moltissime e quindi, a livello computazionale, è un processo molto lungo. Esiste un modo per fare questa cosa con una query sql direttamente sui dati della tabella?

7 Risposte

  • Hai pensato di usare il select case?
  • lele2006 ha scritto:


    Hai pensato di usare il select case?
    No, non ci avevo pensato... Ma come si fa, in una istruzione sql, a dirgli di fare un calcolo considerando un campo della riga precedente?
  • Devi usare la funzione convert.
  • Chiedo scusa, ma ho dimenticato di specificare che il db di appoggio è un access
  • Quindi è in vba?
  • lele2006 ha scritto:


    Quindi è in vba?
    No sto usando VB.Net e i dati parziali delle elaborazioni li appoggio su access
Devi accedere o registrarti per scrivere nel forum
7 risposte