>Se da una query in Access lancio un'istruzione con ROUND funziona,
>mentre se la stessa instruzione la lancio da un programma in
>VB6 :
>
> s = "UPDATE TmpArt SET art_prz = ROUND( art_prz, 2 )"
> m_cnTmp.Execute s
>
>da l'errore "Funzione ROUND non definita nell'espressione."
>
>perchè ciò?
Ciao Paolo,
Sei proprio sicuro dell'errore?
Ho definito una tabella in Access 2003 con due colonne: TableID (autonumber) e Valore (Number, Single) e l'ho popolata con una manciata di righe aventi valori con diverse cifre decimali.
Poi ho eseguito questo codice VB Script:
Dim cn
Const CN_STRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\documenti\db1.mdb"
' Definisco un oggetto ADODB.Connection
Set cn = CreateObject("ADODB.connection")
' Apro la connessione
cn.Open CN_STRING
' Eseguo l'update
cn.Execute "UPDATE myTable SET Valore = ROUND(Valore, 2)"
' Chiudo la connessione
cn.Close
Set cn = Nothing
MsgBox "Fine", vbInformation
La query è stata eseguita con successo ed i valori sono stati arrotondati alla seconda cifra decimale...
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org