04/05/2023 - By65Franco ha scritto:
Vai in Debug mettendo un punto di interruzione su DbEngine(0)(0)
Quando si ferma l'esecuzione a tale istruzione apri finestra immediata e copia incolla tutta la stringa:
CTRl-G per aprire finestra immediata, metti il ? e incolli quanto segue:
? "UPDATE T_Scadenze SET Residuo = Residuo-" & Me.Importo & ", " & _
"Pagata = IIf(Residuo-" & Me.Importo & "=0, True, False) " & _
"WHERE IDScadenza=" & Me.IDScadenza & ";"
Premi INVIO e vedi come risolve la stringa
Analizza e trova i valori non validi
Ok, ho capito il problema.. praticamente l'istruzione gli piace solo nel caso in cui “me.importo” sia composto da “cifre tonde senza decimali”.. altrimenti prende la virgola dei decimali come fosse per passare al campo successivo..
Esempio:
UPDATE T_Scadenze SET Residuo = Residuo-102,85, Pagata = IIf(Residuo-102,85=0, True, False) WHERE IDScadenza=3802;