Newsgroup: it.comp.appl.access
Titolo: INSERT INTO per il tipo "valuta"

Salve.
Ho una tabella contenente campi di tipo testo, data e valuta.
Ho creato una maschera x immettere i record nella tabella, solo che mi dà 
sempre errore per i record di valuta, sicuramente il problema stà nella 
sintassi da utilizzare x specificare il tipo dio dato valuta, ma nn ho idea 
di come fare...
I campi valuta sono Importo, BaseImponibile, StornoProduttore, StornoAM, 
NettoSintesi.
Questo è il codice:
Private Sub Inserimento_Click()
If IsNull(Cliente) Or IsNull(Data) Or IsNull(TipoProduttore) Or 
IsNull(NomeProduttore) Or IsNull(AM) Or IsNull(SocFinanziaria) Or 
IsNull(Importo) Or IsNull(BaseImponibile) Or IsNull(StornoProduttore) Or 
IsNull(StornoAM) Or IsNull(NettoSintesi) Or Cliente = "" Or Data = "" Or 
TipoProduttore = "" Or NomeProduttore = "" Or AM = "" Or SocFinanziaria = "" 
Or Importo = "" Or BaseImponibile = "" Or StornoProduttore = "" Or StornoAM 
= "" Or NettoSintesi = "" Then
resp = MsgBox("Compilare tutti i campi!", vbInformation, "Attenzione")
ok = 5
Else: K = 4
End If
If K = 4 Then
resp = MsgBox("Confermi l'inserimento dei dati?!", vbYesNo, "Database: 
Inserimento Operazione")
If resp = 6 Then ok = 1
End If
DoCmd.SetWarnings True
If ok = 1 Then
    SQL = "insert into 
Attivita(Cliente,Data,TipoProduttore,NomeProduttore,AM,SocFinanziaria,Importo,BaseImponibile,StornoProduttore,StornoAM,NettoSintesi) 
values ('" + Cliente + "',#" + Str(Data) + "#,'" + TipoProduttore + "','" + 
NomeProduttore + "','" + AM + "','" + SocFinanziaria + "'," +  Importo + "," 
+ BaseImponibile + "," + StornoProduttore+ "," + StornoAM + "," + 
NettoSintesi + ");"
 DoCmd.RunSQL SQL
 resp = MsgBox("Inserimento effettuato con successo!", vbInformation, 
"Database: Inserimento Operazione")
End If
DoCmd.SetWarnings True
End Sub 

 ...
... & "'," & Str(Importo) & "," & Str(BaseImponibile) & "," ...
Vuol dire:
1. Sostituisci tutti + con & che è l'operatore giusto per stringe in VBA.
2. Usa la funzione Str() per tipi con decimali, vedi anche:
Passare un numero decimale ad una stringa SQL
www.donkarl.com/it?FAQ6.21
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 
www.donkarl.com/it?FAQ6.21
Ho già effettuato anche questo procedimento.
L'inserimento avviene correttamente, solo che arrotonda le cifre decimale 
restituendomi la cifra nella forma  #.###,00 mentre a me interessano anke le 
due cifre decimali visto che è un programma x la contabilità che deve tener 
conto anke dei centesimi.
Esiste qualche altro modo per passare il tipo valuta?
Cmq grazie mille x la disponibilità ;-) 


Non ti credo, perché Str() non arrotonda.
Forse hai usato + invece di &. In questo caso non puo funzionare.
--> Mostra il tuo codice con & e Str() che arrotonda.
-- 
cu


 --> Mostra il tuo codice con & e Str() che arrotonda.
**************** CODE***********
 SQL = "insert into 
Attivita(Cliente,Data,TipoProduttore,NomeProduttore,AM,SocFinanziaria,Importo,BaseImponibile,StornoProduttore,StornoAM,NettoSintesi) 
values ('" + Cliente + "',#" + Str(Data) + "#,'" + TipoProduttore + "','" + 
NomeProduttore + "','" + AM + "','" + SocFinanziaria + "'," & Str(Importo) & 
"," & Str(BaseImponibile) & "," & Str(StornoProduttore) & "," & 
Str(StornoAM) & "," & Str(NettoSintesi) & ");"
    DoCmd.RunSQL SQL
********************************
Mi inserisce il dato con due 0 dopo la virgola, arrotondandolo. 

 ha scritto nel messaggio 
news:47ce966a$0$16044$5fc...@news.tiscali.it...

Problema risolto!
L'inserimento andava bene, ho notato ke invece i tipi di dato della tabella 
erano impostati su Numerico anzichè Valuta.
Grazie mille x l'aiuto! :-D