Credo che il problema sia su questa linea:
codice:
Set rs_costo = cn.Execute("UPDATE TabellaRelazioni SET Costo = '" & Form22.Text2.Text & "' WHERE Costo = '" & CostoOld & "'")
1) Non serve assegnare il risultatop della query ad un recorset in quanto non si tratta di una select ma di una update. Quindi fai solo:
codice:
cn.Execute("UPDATE TabellaRelazioni SET Costo = '" & Form22.Text2.Text & "' WHERE Costo = '" & CostoOld & "'")
Lo stesso vale per l'istruzione precedente.
2) Verifica il contenuto della query visualizzandola nella finestra Immediate di VB; basta fare:
codice:
Debug.print "UPDATE TabellaRelazioni SET Costo = '" & Form22.Text2.Text & "' WHERE Costo = '" & CostoOld & "'"
poi, dopo averla visualizzata, copiala in una query di access e provala.
Penso che così dovresti identificare in modo più preciso qual è il problema.
Ciao