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?