Newsgroup: it.comp.appl.access
Titolo: Problema con DCount

Buongiorno al NG!
Ho scritto questa istruzione:
DCount("[Id_categoria]", "Articoli", "[Id_categoria] =" & Comboid & " and
[Prezzo] ='" & Me.Prezzo & "'")
Comboid è la combobox sulla maschera e prezzo è la casella di testo della
maschera associata al campo in Tabella (di tipo valuta).
Quando nella casella di testo Prezzo immetto dei valori con i decimali, si
arrabbia e mi dice:
Tipi di dati non corrispondenti nell'espressione criterio
Ho provato a bypassare il prezzo in una variabile di tipo double o
currency....nulla!!!
Mi potreste dare una dritta (accompagnata da una tiratina d'orecchie
virtuale! :-) )???
Ringrazio anticipatamente

Fabio Arenella ha scritto:

il prezzo sulla tabella e' un numero (non puo essere altrimenti).
Perche' nel criterio lo metti fra apici???????????????
--
a.cara

 ha scritto nel messaggio
news:0Bxp9.40723$cS4.1...@news2.tin.it...

Se Prezzo è un campo di tipo numerico o valuta, prova con:
DCount("[Id_categoria]", "Articoli", "[Id_categoria] =" & Comboid & " and
[Prezzo] =" & Me.Prezzo)
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

.......hai visto la tiratina d'orecchie a cosa serve???
....mi spiace dirtelo...ma nemmeno funziona.....
il mesaggio di errore è il seguente:
Errore di sintassi (virgola) nell'espressione della query '[Id_categoria]=1
and [Prezzo] = 10,23'
1 e 10,23 sono i valori che ho immesso nei controlli della
maschera.............

Fabio Arenella ha scritto:

prova con 10.23
--
a.cara

...se uso 10.23, il prezzo diventa 1.023,00 ?.....

 ...se uso 10.23, il prezzo diventa 1.023,00 ?.....
e' una domanda o un'affermazione?
non mi torna.
 che access e'?
 Normalmente il separatore delle migliaia e' solo un carattere di
editing.
 Come e' definito il campo sulla tabella?
 Quali sono sul PC le impostazioni per il separatore dei decimali?
--
a.cara

 maschera associata al campo in Tabella (di tipo valuta).
Ti sei scontrato con un problema di impostazioni internazionali.
Innanzitutto, come ti è stato già consigliato, devi togliere gli apici per il
criterio riferito al Prezzo, dal momento che Prezzo è un valore numerico.
Ciò nonostante, continuerà a non funzionarti con i numeri con la virgola,
poiché nella tabella vengono usate le impostazioni internazionali (presumo
quindi con la virgola come separatore dei decimali). I criteri delle funzioni
come la DCount, invece, non ne fanno uso, e richiedono quindi il punto come
separatore.
Per risolvere devi quindi fare in modo che il criterio contenga sempre il punto
come separatore decimale. Un modo potrebbe essere riscrivere la tu DCount così
DCount("[Id_categoria]", "Articoli", "[Id_categoria] =" & Comboid & " and
[Prezzo] = " & Format(Int(Prezzo)) & "." & Mid(Prezzo-Int(Prezzo),3))
L'ho scritta a mano, quindi spero di non aver fatto errori di parentesi. Ma il
concetto dovrebbe essere questo.
Ciao. Claudio.

grazie tante...............mi sei stato di grandissimo
aiuto.......funziona!!!
....le orecchie me le tiro da solo
Fabio

 ....le orecchie me le tiro da solo
Non dovresti essere tu a tirarti le orecchie, ma bisognerebbe tirarle ai
pinguini MS che non sono stati in grado di far coesistere le impostazioni
internazionali con le funzioni con criterio.
Ciao. Claudio.

 Tipi di dati non corrispondenti nell'espressione criterio
[...]
        DCount( _
            "*" _
          , "Articoli" _
          , "[Id_categoria]=" & [Comboid] _
          & " AND " _
          & "[Prezzo]=" & Str([Prezzo]))
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 internazionali con le funzioni con criterio.
    Queste sono affermazioni da esperto. ;-)))
    Facciamo che le orecchie ve le tirate a vicenda?


 ha scritto nel messaggio
news:ao8nm5$k0tf6$1...@ID-52090.news.dfncis.de...

Io non sono cosě d'accordo... Devo darti atto che hai trovato un metodo piů
semplice per raggiungere lo stesso risultato, ma il problema a mio avviso
rimane.
Io trovo, essendomi avvicinato ad Access da veramente poco, che alcuni
palliativi introdotti in alcune funzioni non siano all'altezza di uno strumento
professionale quale vuole essere. Trovo per esempio le funzioni come la DCount,
la DLookup, la DCheNeSo siano semplicemente un metodo rapido per risolvere un
problema, non realizzando altro che un'interfaccia stupida verso l'equivalente
SQL.
E questo lo dimostrano i numerosi thread che ho visto recentemente aprire su
ICAA... ogni volta č necessario affrontare un problema in un modo specifico,
facendo attenzione alle impostazioni internazionali, agli apici, ai doppi
apici, e cosě via. Cambi qualcosa, non funziona piů nulla ed č necessario
riaffrontare il problema con fantasia.
Spero che Roberto, che a quanto ho letto considero uno che abbia una discreta
"infarinatura" di Access, e quindi voce autorevole in questo convivio,
condivida questa mancanza nel mondo Access, visti alcuni thread che abbiamo
recentemente affrontato insieme.
Con rispetto,
Claudio.

 recentemente affrontato insieme.
    Non ho ancora capito a quale "mancanza" di Access tu ti riferisca.
    ;-)


 
Lei e' pregato di leggersi il post di Roberto da casa di Martedi'
ore 15.09
--
a.cara "the spqr boomerang"
questa me la tengo
    Spero anche che tu convenga che la maggior parte di questi 3d sono
originati *unicamente* dall'*ignoranza*. E ti assicuro che non uso il
termine in senso dispregiativo o offensivo ma puramente e semplicemente
*oggettivo*. E con lo studio, l'esperienza e la riflessione, l'ignoranza
passa.
Bodhisattva Borrelli

 > Maurizio Borrelli:

    Spiacente, l'India non fa parte dei miei miti percio' non capisco cosa
vuoi dire.
    Devi anche dirmi alla luce di quale dei tre 3d di Roberto delle ore
15.09 devo abbronzarmi:
        Re: Aiuto nr. 3
        Come ci si dovrebbe comportare in un newsgroup, ovvero
        'Istruzioni per l'uso'
        Re: shimgvw.dll in winxp
    Grazie.


"Claudio" <cld@NOSPAM&COsupereva.it> ha scritto nel messaggio
news:iEUp9.46274$cS4.1...@news2.tin.it...
[CUT]

Visto che sono stato chiamato in causa... :-)
Il mio parere su Access č che il rapporto costi prestazioni di Access sia
veramente buono, ovvero basso.
Ritengo che il produttore, per tenere basso il prezzo del prodotto si sia
posto l'obiettivo di diffonderlo molto, ammortizzando su molte vendite i
costi di progettazione e realizzazione; dobbiamo dargli atto che ci č
riuscito (come con molti altri suoi prodotti).
Un primo mezzo per diffondere molto Access č stato quello di far si che giri
anche su macchine con hardware veramente modesto.
Un altro mezzo per raggiungere l'obiettivo di cui sopra č stato, a mio
avviso, di permettere l'uso del prodotto, oltre che tramite dei linguaggi,
anche in maniera interattiva tramite un interfaccia utente il piů possibile
"amichevole", naturalmente cercando di snaturare il meno possibile certi
standard informatici ormai universalmente consolidati. Da qui,
probabilmente, l'adozione di uno strumento quale il generatore di
espressioni, che cerca (senza riuscendoci sempre al 100%) di tener conto
delle impostazioni internazionali del SO al fine di far risultare il
prodotto ancora piů "amichevole".
Naturalmente la scrittura degli statement per i due linguaggi fondamentali
usati in Access (VB e SQL) non possono risentire delle impostazioni
internazionali, ma si rifanno ai loro standard internazionali di linguaggio
che, puta caso, coincidono con gli standard dei paesi anglosassoni (e non
poteva essere cosě).
Da quanto scritto precedentemente, se ne desume che all'interno dello stesso
prodotto Access convivono, nello scrivere la stessa funzione, due sintassi
diverse a seconda che si stia usando un qualcosa governato dal generatore di
espressioni o si scrive direttamente usando i linguaggi VB o SQL.
C'č perň da considerare che questo papocchio lo vivono solo gli utenti non
anglosassoni, per i quali invece tutto risulta coerente, e per i quali non
esistono i problemi nei quali noi ci dibattiamo, compreso quello di questo
thread. E' perň vero che se anche noi ed il mondo informatico con cui noi
siamo a contatto (clienti e/o colleghi) decidessimo di adottare come
impostazioni internazionali del sistema operativo quelle anglosassoni ed
acquistassimo la versione inglese di Access, parecchio del nostro calvario
sparirebbe, e se non lo facciamo č una nostra scelta, consci dei vantaggi ma
anche degli svantaggi che ne conseguono.
C'č poi il problema di strumenti particolari, ma utili come scorciatoia nel
programmare, che permettono di sopravvivere anche senza conoscere molto bene
linguaggi come SQL; per Access č il caso delle funzioni di aggregazione sui
dominii; io praticamente le "amo", quindi non mi dilungo troppo a parlare di
loro, non sarei obiettivo. Questi strumenti, che considero dialetti dei
linguaggi basati su standard internazionali, penso che facciano parte della
politica commerciale dei prodotti software: vengano presentati come maggiore
potenza, ma di fatto minimizzano la migrazione degli utenti verso prodotti
della concorrenza. A volte poi succede che, se il prodotto ottiene un buon
successo di utilizzo, le inflessioni dialettali entrano a far parte di
diritto del vocabolario della lingua madre (Cobol docet).
Poi bisognerebbe analizzare perché l' "a volte vituperato Access" ha avuto
successo anche tra gli sviluppatori di database di certe dimensioni.
I motivi a mio avviso sono molteplici.
Forse tra i motivi fondamentali c'č la facilitŕ di progettazione e di
realizzazione di un buon database in Access rispetto a quanto succede con
altri prodotti; dopo di che ritroviamo ancora una volta il costo contenuto
del prodotto; infine l'interfaccia veramente "amichevole" con cui si riesce
a far operare l'utente finale. Naturalmente, nulla vieta, a chi rilevasse
problematiche insostenibili di Access, usare un altro prodotto,
probabilmente piů costoso, meno "amichevole", ma piů professionale.
Insomma, qualche caratteristica del prodotto che non va perfettamente c'č e
come dice Gianni Morandi, si puň dare di piů, ma in linea di massima gli
utenti Access, anche quelli non anglosassoni, possono dire che non hanno
preso una fregatura. :-)


 come dice Gianni Morandi, si può dare di più, ma in linea di massima gli
bene io mi prendo Tozzi, Ruggeri
migliore rapporto prezzo/prestazioni
;<)
--
a.cara

 
vabbe' leggiteli tutti e tre (uno e uno solo era di roberto)
la maggior parte di questi 3d  (uahhhhhhhhh!!!!!)        sono
originati *unicamente* dall'*ignoranza*. E ti assicuro che non uso il
termine in senso dispregiativo o offensivo ma puramente e semplicemente
*oggettivo*. E con lo studio, l'esperienza e la riflessione, l'ignoranza
 passa.
Bodhisattva Cara
--
Bodhisattva Cara  che "non" si e' letto il post di Roberto

     ;-)
Non č la prima volta che non riesco a farmi capire. Speriamo non sia l'ultima.
Ciao. Claudio.

 Non è la prima volta che non riesco a farmi capire. Speriamo non sia l'ultima.
mi permetto di correggere un ovvio refuso "....Speriamo che sia
l'ultima..."
--
Bodhisattva Cara

> "Alessandro Cara" 
news:3DA82F27...@blunet.it
:
    Alessa'... non ti capisco. Se hai qualcosa da dire dilla senno'...
pazienza.


 vabbe' leggiteli tutti e tre (uno e uno solo era di roberto)
Mi sfugge qualcosa... sono solo io che non capisco?
Claudio.

 l'ultima..."
Non era un refuso ;-)
Voleva essere un po' piů sottile.
Ciao. Claudio.

Claudio ha scritto:

ma vah????  (espressione di stupore e profonda sorpresa)
--
a.cara

 anche degli svantaggi che ne conseguono.
...-cut-
Taglio la maggior parte di quello che hai scritto (sebbene siano considerazioni
molto interessanti), perché in effetti la maggior parte dei mal di pancia
evocati nel thread si riconducono a problemi di impostazioni internazionali.
Io ho sempre operato la scelta di acquistare i prodotti Microsoft in italiano,
e così possiedo W2000 ITA e Access 2000 ITA (però pagato una cifra esagerata, a
mio avviso, non usandolo per business).
E non mi sta bene che io abbia i succitati mal di pancia perché ho operato una
scelta prevista dal loro listino (e non pagandolo meno per il fatto che sia in
italiano).
Scusa comunque se ti ho opinatamente tirato in causa, ma mi fa sempre piacere
sentire la tua opinione.
Ciao. Claudio.

 l'ultima.
    Contaci. ;-)))
