Grazie ARTCAVA,
lo script lo vorrei sottoporre primo a te che me lo hai suggerito, perchè in pratica come vedi il parametro che dovrà passare qta_da_scaricare è con decimali tipo: 151.500, il campo nel db è decimal(10,3), sicuramente dovrei utilizzare qualche funzione di conversione o formatnumber (che non so quale, visto sottrazioni e somme), essendo che dal db come saprai i campi decimali hanno valore con i decimali es: 120.000, ma è solo una visualizzazione perchè quando li stampo a video questo valore lo vedo: 120 cioè senza zeri o punto(virgola)decimale.
ecco lo script se puoi darmi una mano:
articolo = request.form("descrizione")
qta_da_scaricare = "151.500"
sql="SELECT * FROM db WHERE Articolo = '" & articolo & "' and (QtaDoc-QtaSpuntata)>0 "
Set rsa = Server.CreateObject("ADODB.Recordset")
rsa.Open sql, Conn, 3, 3
do while not rsa.eof
qtadoc = rsa.fields("QtaDoc")
qtaspu = rsa.fields("QtaSpuntata")
qtarest = qtadoc-qtaspu
if qta_da_scaricare < qtarest Then
qtarest = qta_da_scaricare
End If
rsa.fields("QtaSpuntata") = "" & qtarest + qtaspu & ""
qta_da_scaricare = qta_da_scaricare - qtarest
rsa.update
rsa.MoveNext
loop
if qta_da_scaricare > 0 Then
sql="SELECT top(1) * FROM db WHERE Articolo = & "'" & articolo & "'
Set rsa = Server.CreateObject("ADODB.Recordset")
rsa.Open sql, Conn, 3, 3
qtaspu = rsa.fields("QtaSpuntata")
rsa.fields("QtaSpuntata") = qtaspu + qta_da_scaricare
rsa.update
End If
rsa.close
Grazie 1000 per l'aiuto.