Salve a tutti
Ho da poco migrato uno dei miei progetti VB6 da access a MYSQL ed è sorto il problema del tipo dei dati scelti per i campi del database , ho dovuto fare quindi dei cambiamenti, uno tra questi è il prezzo.
Ho portato il campo prezzo che deve contenere ovviamente cifre decimali a due cifre dopo la virgola ( 25,60;17,00;91,51) ho scelto quindi di utilizzare come tipo il DECIMAL e ho impostato i valori in questo modo DECIMAL(10,2) ovvero 10 valori prima della virgola e due valori dopo la virgola.
Fin qui tutto bene, io passo al db il mio valore 25,31 e lui pensa a tutto trasformandolo in 25.31, quando lo vado a richiamare lo rileggo correttamente e sono in grado di eseguirci operazioni di qualsiasi genere.
Ora la domanda ( forse stupida ) è questa , se io vado ad inserire nel DB un numero tipo questo 25,00 , ovvero un numero con entrambi i decimali uguali a " 0 " il programma si comporta in modo strano, ovvero , il database recepisce correttamente il 25,00 e separa i decimali trasformandolo in 25.00, ma se lo vado a leggere o richiamare da programma il database mi risponde eliminando i decimali, ovvero ottengo 25 questo ovviamente mi crea diversi problemi per i calcoli che vado ad eseguire in seguito.
La variabile che contiene il prezzo richiamato dal database la gestisco in questo modo
dove la Var_prezzo contiene ovviamente il risultato ottenuto dalla query all'interno del DBcodice:Dim var As Variant var = CDec(var_prezzo)
Cosa succede? dove sbaglio ?
Grazie in anticipo
Ciao a tutti![]()

Rispondi quotando