Newsgroup: it.comp.appl.access
Titolo: visualizzazione decimali

Ciao a tutti,
sono alle prese con una casella di riepilogo non associata che prende i
dati da una stringa SQL generata via codice. La stringa dovrebbe passare
anche i dati del campo prezzo di una tabella, già convertito in euro e
con la proprietà formato impostata a euro e la proprietà posizioni
decimali a 2.
Sorpresa, nella casella di riepilogo non vengono visualizzati i
centesimi. Ad es. se il prezzo è di euro 54,10 vedo solo 54.
Qualcuno sa come formattare correttamente nella stringa SQL il campo
prezzo per ottenere in visualizzazione anche i decimali. Ho provato ad
usare la funzione Format([Prezzo];"#,##"), ma ottengo strani
risultati....
ciao e grazie
Antonio Bechelli
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 wrote in message
892bb392541bf79d22c...@mygate.mailgate.org...

#######################################
Format([Prezzo];"#,##0.00")
ciao Riccardo

 ciao Riccardo
Ho provato la tua soluzione, in questo modo:
strSQL= "SELECT ... Format([Prezzo];"#,##0.00") AS Prezzo Netto ..."
ma ottengo un errore di sintassi.
A rigore, la formattazione del campo in questione nella stringa SQL
dovrebbe
 essere inutile, poiché il campo della tabella č gią stato impostato
all'euro con due decimali.
E tuttavia in fase visualizzazione del dato nella casella riepilogo non
vedo i decimali.
Come mai?
ciao antonio


 wrote in message
62583a71a4a117ce905...@mygate.mailgate.org...

se usi il Format in un modulo dovresti scrivere:
strSQL= "SELECT ... Format([Prezzo],"#,##0.00") AS Prezzo Netto ..."
praticamente devi usare la , (virgola) e non il ; (punto e virgola)
ciao Riccardo

 ciao Riccardo
ho provato anche questa soluzione e ... niente da fare!!
Ottengo sempre un errore di sintassi.
Mi devo rassegnare??
ciao antonio
-- 


 ciao antonio
_________________
Prova così:
Nell'origine Riga della casella di Riepilogo (quindi la query) prova a
scrivere:
Prezzo Netto: Format([Prezzo];"#.##0,00")
oppure, postami tutta la Select della query di origine Riga.
ciao Riccardo

 ciao Riccardo
Ecco la stringa SQL generata via codice nel modulo della form
che include la casella di riepilogo:
-----------------------------------
strSQL = "SELECT Abbonamenti.IDAbbonamento, Riviste.Titolo,
Riviste.Periodicità ," & _
            "Biblioteche.Nome, Abbonamenti.ScadAbbonamento,
Riviste.PrezzoNetto " & _
            "FROM Biblioteche INNER JOIN ((Editori RIGHT JOIN (Fornitori
RIGHT JOIN Riviste ON Fornitori.IDFornitore = " & _
            "Riviste.IDFornitore) ON Editori.IDEditore =
Riviste.IDEditore) INNER JOIN " & _
            "Abbonamenti ON Riviste.IDRivista = Abbonamenti.IDRivista)
ON " & _
            "Biblioteche.CodiceBiblioteca = Abbonamenti.CodiceBiblioteca
" & _
            "WHERE " & tmpWhere & _
            "ORDER BY Riviste.Titolo, Biblioteche.Nome;"
 
 
    Elenco44.RowSource = strSQL
--------------------------------------
grazie
ciao Antonio
-- 


 wrote in message
8e7a89a4090b92d6abb...@mygate.mailgate.org...

##############
Ma la tua stringa strSQL= "SELECT ... Format([Prezzo];"#,##0.00") AS Prezzo
Netto ..."
dove sta?
ti sei dimenticato un pezzo per caso?
e nella variabile tmpWhere cosa c'è?
se vuoi postami pure il form che hai creato...
ciao Riccardo

 ciao Riccardo
-----
Ecco la routine completa. Nella form sono presenti una serie di caselle
di testo
non associate e altri controlli, che passano i valori alle variabili del
codice.
Private Sub Cerca_Click()
   Dim tmpWhere, strElenco, strSQL As String
   Dim varItem As Variant
 
 
   If txtTitolo <> " " Then
      tmpWhere = "Riviste.Titolo LIKE " & Chr(34) _
      & "*" & txtTitolo & "*" & Chr(34) & " " & conLogicTitolo & " "
   End If
 
   If txtEditore <> " " Then
       tmpWhere = tmpWhere & "Editori.Nome LIKE " & Chr(34) _
       & "*" & txtEditore & "*" & Chr(34) & " " & conLogicEditore & " "
   End If
 
   If txtFornitore <> " " Then
      tmpWhere = tmpWhere & "Fornitori.Nome LIKE " & Chr(34) _
      & "*" & txtFornitore & "*" & Chr(34) & " " & conLogicFornitore & "
"
   End If
 
   If txtPeriodicità <> " " Then
      tmpWhere = tmpWhere & "Riviste.Periodicità = '" _
      & txtPeriodicità & "' " & " " & ConLogicPer & " "
   End If
 
   If CombStraniera <> " " Then
      tmpWhere = tmpWhere & "Riviste.Straniera = '" _
      & CombStraniera & "' "
   End If
 
   If DataInizio <> " " And DataFine <> " " Then
      tmpWhere = tmpWhere & "Abbonamenti.ScadAbbonamento BETWEEN" & " #"
_
      & DataInizio & "# AND #" & DataFine & "#"
   End If
 
 
 
   strSQL = "SELECT Abbonamenti.IDAbbonamento, Riviste.Titolo,
Riviste.Periodicità ," & _
            "Biblioteche.Nome, Abbonamenti.ScadAbbonamento,
Riviste.PrezzoNetto " & _
            "FROM Biblioteche INNER JOIN ((Editori RIGHT JOIN (Fornitori
RIGHT JOIN Riviste ON Fornitori.IDFornitore = " & _
            "Riviste.IDFornitore) ON Editori.IDEditore =
Riviste.IDEditore) INNER JOIN " & _
            "Abbonamenti ON Riviste.IDRivista = Abbonamenti.IDRivista)
ON " & _
            "Biblioteche.CodiceBiblioteca = Abbonamenti.CodiceBiblioteca
" & _
            "WHERE " & tmpWhere & _
            "ORDER BY Riviste.Titolo, Biblioteche.Nome;"
 
 
    Elenco44.RowSource = strSQL
End Sub
-----
Questa routine sub, che non ti ho postato in forma completa solo perchè
 come vedi è molto lunga, mi consente di generare un stringa SQL
dinamica.
La stringa restiuisce un recordset che viene visualizzato in una casella
di riepilogo
non associata, che prende l'origine riga dalla stringa.
grazie
ciao antonio


 wrote in message
5ccfe0722dc2e02f561...@mygate.mailgate.org...

scusami, ma non vorrei averti fatto perdere del tempo. Non sono espertissimo
di vba come altri dell'Ng, pero' posso dirti che quando trovo problemi sulla
creazione
di stringhe SQL dinamiche, mi creo un'interruzione, per esempio proprio su
RowSource della casella di riepilogo, e poi andando in debug digito
?strSQL (invio)
e si visualizza tutta la select. La copio e la incollo nell'SQL di una query
e vedo dov'è l'errore.
spero di esserti stato di aiuto.
ciao Riccardo