Newsgroup: it.comp.lang.visual-basic
Titolo: [ Lunghetto ] Access fa come je pare.

Vedo di spiegarmi:
Il database
Ho un campo Kg settato a Numerico, precisione singola ,
posiz decimali automatiche.
Poi ho un campo Importo settato nella stessa identica
maniera.
Poi ho un campo Prun (prezzo unitario) settato  a Numerico,
precisione singola, posiz. decimali 2
Vediamo il codice.
[...Cut...]
Dim Kg As Variant
Dim importo As Variant
Dim prun2 As Variant
 Kg = Replace(Text1(i).Text, ",", ".")
importo = Val(Kg) * Val(prun2)
importo = Replace(importo, ",", ".")
sql = "Insert into
movimenti(id,nome,kg,importo,data,numbol,prun) Values(" &
Form1.Tag & ",'" & articolo & "'," & Kg & "," & importo &
",'" & Date & "'," & numbol & "," & prun2 & ");"
         rs2.Open sql, Cn
[...end...]
Ecco qua.
Fatto questo vado a guardare nel database che tutto sia Ok.
I kg : 777,3
il prezzo unitario : 2,33
l'importo ----->     1811109    <-------
Ad un rapido calcolo con la calcolatrice viene fuori che
l'operazione č esatta, solo che il campo non accetta il
punto decimale.
A questo punto si risolverebbe utiilizzando la virgola al
posto del punto decimale.
Ma come faccio a crearmi la stringa sql utilizzando dei
numeri con la virgola ??
Insomma, i calcoli sono esatti, la stringa sql č esatta
....ma l'importo mi viene memorizzato facendo saltare la
virgola, cosa che non succede con i campi prezzo unitario e
Kg ...
Sto impazzendo ...č dalle 1600 che ci sbatto ...
ps.: Lo schifo di codice č dovuto a tantissime prove una
dopo l'altra...
lo so che le variant fanno schifo :))
             /Ż/ )           /Ż/ )
            /Ż  /           /Ż  /
           /    /          /    /
          /    /         /    /
         /    '´Ż / Ż`     /
       /    /     /     /    /   \
      (    (     (     (     \\   )
       \                          /
         \  \      \   /    _ /
          \                (
           \                \

 ha scritto nel messaggio
news:rGzSa.190604$Ny5.5...@twister2.libero.it...
: Vedo di spiegarmi:
:
Parole al vento.
Dopo due ore di ricerca del bug ...
e due ore di depressione direttamente proporzionale ...
ho scoperto un
Call  [Altra routine] che mi andava a modificare il
campo....
In pratica..ho buttato due ore della mia vita per un Val(
variabile ) che non ci doveva essere ... :)
Ma non devo lamentarmi...E' QUESTO che forgia il
programmatore No Limits :)
Un akuma allo stadio terminale.

 numeri con la virgola ??
Semplicisticamente Variabili d'appoggio?
Ciao
Alessandro
-- 
Morfeus

: > A questo punto si risolverebbe utiilizzando la virgola
al
: > posto del punto decimale.
: > Ma come faccio a crearmi la stringa sql utilizzando dei
: > numeri con la virgola ??
: Semplicisticamente Variabili d'appoggio?
:
Come hai potuto ( forse ) leggere, ho risolto :)
Cmq si , è quello che ho fatto nella stringa Sql ...
Solo che non posso fare
Insert into pippo(prezzo,Titolo) values(3,99,"Le avventure
di Morfeus")
ma faro'
Insert into pippo(prezzo,Titolo) values(3.99,"Le avventure
di Morfeus")
Capisci cosa intendevo ? :)
Grazie per la risposta cmq :)

Perdonami. Magari avrai tutte le tue buone ragioni
per memorizzarti anche un campo calcolato, ma onestamente
io ne farei a meno.
-- 
Saluti
Andrea Moro

 Capisci cosa intendevo ? :)
non capisco questo:  "Le avventure
di Morfeus"
:-P
Capisco invece questo,penso che tu ti riferisca al mio suggerimento di
spostare
il replace...
Private Sub Command1_Click()
Dim a, b, c, d, e, f As Variant
'ho lasciato Variant di proposito
'Sbagliato
a = "3,19"
b = "3,12"
Text1 = Val(a) * Val(b)
'Corretto
c = 3.19
d = 3.12
Text2 = c * d
'Sbagliato
e = 3.19
f = 3.12
Text3 = Val(e) * Val(f)
End Sub
Ciao
Alessandro
--
Morfeus

 precisione singola, posiz. decimali 2
Anche qui... currency!
quanto detto imho naturalmente
hth