Discussione:
Sintassi funzione DCount
(troppo vecchio per rispondere)
Filippo
2008-07-31 13:59:15 UTC
Permalink
Buongiorno a tutti,
scusate ma sto impazzendo con la funzione dcount, mi sono guardato
un'infinità di esempi ma puntualmente mi restituisce:
"errore di sintassi nell'espressione - operando o operatore mancante,
carattere o virgola non valida oppure testo immesso non racchiuso tra
virgolette"

in un campo vuoto nella maschera proncipale vorrei eseguire un conteggio dei
record presenti in una tabella, scrivo nell'origine dati di questo campo
vuoto:

=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=valore_del_campo")
ho provato come origine dati, espressione, codice vba, macro ma nulla da
fare.

Mi servirebbe un aiutino, Grazie.
Filippo.
Karl Donaubauer
2008-07-31 14:39:21 UTC
Permalink
Post by Filippo
scusate ma sto impazzendo con la funzione dcount, mi sono guardato
"errore di sintassi nell'espressione - operando o operatore mancante,
carattere o virgola non valida oppure testo immesso non racchiuso tra
virgolette"
in un campo vuoto nella maschera proncipale vorrei eseguire un
conteggio dei record presenti in una tabella, scrivo nell'origine
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=valore_del_campo")
ho provato come origine dati, espressione, codice vba, macro ma nulla
da fare.
Qui non devi scrivere dummys ma l'espressione esato con i nomi
dei oggetti come lo usi in realtà.

Ci sono differenze nella sintassi tra espressioni sulla superficie
di Access e VBA. Proviamo di creare un espressione che puoi
usare nella proprietà "Origine controllo" di una casella di testo.

La sintassi dipende del tipo del campo nella condizione.
Se il campo nella condizione è un numero:

=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=" & valore_del_campo)

Se il campo nella condizione è un testo:

=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]='" & valore_del_campo
& "'")
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Karl Donaubauer
2008-07-31 14:55:18 UTC
Permalink
.>> ...
Post by Filippo
in un campo vuoto nella maschera proncipale vorrei eseguire un
conteggio dei record presenti in una tabella, scrivo nell'origine
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=valore_del_campo")
ho provato come origine dati, espressione, codice vba, macro ma nulla
da fare.
...Proviamo di creare un espressione che puoi
usare nella proprietà "Origine controllo" di una casella di testo.
...
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=" &
valore_del_campo)
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]='" &
valore_del_campo & "'")
*Oops*, come già detto da Geppo (che non ha solo copiato/incollato ;-)
in un espressione devi usare punto e virgola. Poi se scrivi un valore
non un riferimento è giusto

=DCount("[Campo_tabella]";"[Tabella]";"[Campo_tabella]=valore_del_campo")
o per un testo
=DCount("[Campo_tabella]";"[Tabella]";"[Campo_tabella]='valore_del_campo'")
--
Karl
(che adesso veramente si fa un café)
*********
Access FAQ: www.donkarl.com/it
Filippo
2008-07-31 15:05:45 UTC
Permalink
Post by Karl Donaubauer
Post by Filippo
scusate ma sto impazzendo con la funzione dcount, mi sono guardato
"errore di sintassi nell'espressione - operando o operatore mancante,
carattere o virgola non valida oppure testo immesso non racchiuso tra
virgolette"
in un campo vuoto nella maschera proncipale vorrei eseguire un
conteggio dei record presenti in una tabella, scrivo nell'origine
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=valore_del_campo")
ho provato come origine dati, espressione, codice vba, macro ma nulla
da fare.
Qui non devi scrivere dummys ma l'espressione esato con i nomi
dei oggetti come lo usi in realtà.
Ci sono differenze nella sintassi tra espressioni sulla superficie
di Access e VBA. Proviamo di creare un espressione che puoi
usare nella proprietà "Origine controllo" di una casella di testo.
La sintassi dipende del tipo del campo nella condizione.
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]=" &
valore_del_campo)
=DCount("[Campo_tabella]","[Tabella]","[Campo_tabella]='" &
valore_del_campo & "'")
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Avete ragione, allora inserendo i dati reali come origine controllo in una
casella di testo questo è il risultato:

=DCount("[società]";"[sedi_remote]") così funziona

ovvero la mia casella di testo mi riporta il numero di record presenti nella
tabella "sede_remota". Come filtro dovrei aggiungere la "società"
visualizzata nella maschera che ho in uso. In sistesi senza aprire la
maschera sedi remote sapere tramite questo campo testo se ci sono record
riferiti alla stessa società o meno.

Vi ringrazio.
Karl Donaubauer
2008-07-31 15:21:15 UTC
Permalink
Post by Filippo
...
Avete ragione, allora inserendo i dati reali come origine controllo
=DCount("[società]";"[sedi_remote]") così funziona
ovvero la mia casella di testo mi riporta il numero di record
presenti nella tabella "sede_remota". Come filtro dovrei aggiungere
la "società" visualizzata nella maschera che ho in uso. In sistesi
senza aprire la maschera sedi remote sapere tramite questo campo
testo se ci sono record riferiti alla stessa società o meno.
Se il campo della società è del tipo testo e anche il controllo nella
maschera si chiama "Società" prova con

=DCount("[società]";"[sedi_remote]";"[Società]='" & [Società] & "'")

o se il nome della società puo contenere un apice:

=DCount("[società]";"[sedi_remote]";"[Società]=" & Chr(34) & [Società] &
Chr(34))
--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it
Geppo
2008-07-31 14:39:36 UTC
Permalink
Post by Filippo
Buongiorno a tutti,
scusate ma sto impazzendo con la funzione dcount, mi sono guardato
"errore di sintassi nell'espressione - operando o operatore mancante,
carattere o virgola non valida oppure testo immesso non racchiuso tra
virgolette"
in un campo vuoto nella maschera proncipale vorrei eseguire un
conteggio dei record presenti in una tabella, scrivo nell'origine
Non devi usa le virgole ma i punti e virgola e se valore_del_campo è tipo
testo lo racchiudi in apici singoli:

=DCount("[Campo_tabella]";"[Tabella]";"[Campo_tabella]='valore_del_campo'")
Post by Filippo
ho provato come origine dati, espressione, codice vba, macro ma nulla
da fare.
Mi servirebbe un aiutino, Grazie.
Filippo.
--
Ciao
Geppo
AleC
2008-07-31 15:08:21 UTC
Permalink
Post by Geppo
Post by Filippo
Buongiorno a tutti,
scusate ma sto impazzendo con la funzione dcount, mi sono guardato
"errore di sintassi nell'espressione - operando o operatore mancante,
carattere o virgola non valida oppure testo immesso non racchiuso tra
virgolette"
in un campo vuoto nella maschera proncipale vorrei eseguire un
conteggio dei record presenti in una tabella, scrivo nell'origine
Non devi usa le virgole ma i punti e virgola e se valore_del_campo è tipo
=DCount("[Campo_tabella]";"[Tabella]";"[Campo_tabella]='valore_del_campo'")
Post by Filippo
ho provato come origine dati, espressione, codice vba, macro ma nulla
da fare.
Mi servirebbe un aiutino, Grazie.
Filippo.
--
Ciao
Geppo
Non sono mai riuscito ad impostare qualcosa di funzionante come
Origine Controllo (ControlSource) quando nell'espressione da inserire
erano presenti delle virgolette ed ho sempre risolto impostando
nell'evento Current del Modulo della Form il valore del controllo
così:

Me.TextBox = DCount("IdProgetto", "tblProgetti", "IdProgetto = " &
ValoreDaFiltrare)

Incuriosito dalle risposte di Karl e Geppo ho provato ad impostare un
controllo come indicato da loro ma puntualmente non riesce a
funzionarmi.

Con l'esempio di Karl ho impostato Origine Controllo in questi modi:
=DCount("IdProgetto","tblProgetti", "IdProgetto = " & 1)
=DCount("IdProgetto","tblProgetti", "IdProgetto = " & intA)
dove intA l'ho precedentemente valorizzato nell'evento Load della Form
a 1

Con l'esempio di Geppo

=DCount("IdProgetto";"tblProgetti"; "IdProgetto = " & intA)
Filippo
2008-08-01 16:30:32 UTC
Permalink
Post by Geppo
Post by Filippo
Buongiorno a tutti,
scusate ma sto impazzendo con la funzione dcount, mi sono guardato
"errore di sintassi nell'espressione - operando o operatore mancante,
carattere o virgola non valida oppure testo immesso non racchiuso tra
virgolette"
in un campo vuoto nella maschera proncipale vorrei eseguire un
conteggio dei record presenti in una tabella, scrivo nell'origine
Non devi usa le virgole ma i punti e virgola e se valore_del_campo è tipo
=DCount("[Campo_tabella]";"[Tabella]";"[Campo_tabella]='valore_del_campo'")
Post by Filippo
ho provato come origine dati, espressione, codice vba, macro ma nulla
da fare.
Mi servirebbe un aiutino, Grazie.
Filippo.
--
Ciao
Geppo
Non sono mai riuscito ad impostare qualcosa di funzionante come
Origine Controllo (ControlSource) quando nell'espressione da inserire
erano presenti delle virgolette ed ho sempre risolto impostando
nell'evento Current del Modulo della Form il valore del controllo
così:

Me.TextBox = DCount("IdProgetto", "tblProgetti", "IdProgetto = " &
ValoreDaFiltrare)

Incuriosito dalle risposte di Karl e Geppo ho provato ad impostare un
controllo come indicato da loro ma puntualmente non riesce a
funzionarmi.

Con l'esempio di Karl ho impostato Origine Controllo in questi modi:
=DCount("IdProgetto","tblProgetti", "IdProgetto = " & 1)
=DCount("IdProgetto","tblProgetti", "IdProgetto = " & intA)
dove intA l'ho precedentemente valorizzato nell'evento Load della Form
a 1

Con l'esempio di Geppo

=DCount("IdProgetto";"tblProgetti"; "IdProgetto = " & intA)

--------------------------------

Ho effettuato numerose prove ma mi cancella tutto il comando in origine
controllo appena sposto il cursore, probabilmente sbaglio qualcosa; mi
accetta solo questa:
=DCount("[società]";"[sedi_remote]") come inserisco il filtro salta tutto.
Il dubbio è: se avessi un valore fisso tipo un numero o un nome ok faccio
='filtro') ma se il filtro è il nome della società che ho aperto nella mia
maschera cosa devo inserire?
In sintesi dovrei dirgli: =DCount
"[società]";"[sedi_remote];[società]='SOCIETA APERTA NELLA MASCHERA2'") mi
sa che devo dichiarare il valore del campo società della maschera2 vero? ma
da origine controllo non saprei proprio come farlo.
Grazie ancora.
Sergio MAZZA
2008-08-02 07:39:03 UTC
Permalink
Post by Filippo
--------------------------------
Ho effettuato numerose prove ma mi cancella tutto il comando in origine
controllo appena sposto il cursore, probabilmente sbaglio qualcosa; mi
=DCount("[società]";"[sedi_remote]") come inserisco il filtro salta tutto.
Il dubbio è: se avessi un valore fisso tipo un numero o un nome ok faccio
='filtro') ma se il filtro è il nome della società che ho aperto nella mia
maschera cosa devo inserire?
In sintesi dovrei dirgli: =DCount
"[società]";"[sedi_remote];[società]='SOCIETA APERTA NELLA MASCHERA2'") mi
sa che devo dichiarare il valore del campo società della maschera2 vero?
ma da origine controllo non saprei proprio come farlo.
Grazie ancora.
Visto che filtri per nome società e non per il suo identificativo del
record, è probabile che nel nome della società ci sia un carattere mal
digerito da access (es. un apostrofo o doppio apice).
Per metterti al riparo da questo puoi provare così:
=DCount(...;"[società]=" & chr(34) & [casellaDiTestoConNomeSocieta] &
Chr(34))

Ciao.
--
Sergio MAZZA
Filippo
2008-08-04 11:22:59 UTC
Permalink
Post by Filippo
Buongiorno a tutti,
CUT
Post by Filippo
Mi servirebbe un aiutino, Grazie.
Filippo.
Ma è normale avere lo stesso Nick?
Ovviamente lo dico così, solo per curiosità, ma io non sono lo stesso,
io sono quello di tre o quattro post fa in merito alla rete.
Ciao
Filippo

PS Però rivendico la priorità :)
Sergio MAZZA
2008-08-04 23:51:19 UTC
Permalink
Post by Filippo
Ma è normale avere lo stesso Nick?
Come chiedere se è normale chiamarsi: Filippo (per la cronaca ne conosco
uno)
Post by Filippo
Ovviamente lo dico così, solo per curiosità, ma io non sono lo stesso,
Anch'io; tutte le mattine non riesco a riconoscermi...
Post by Filippo
io sono quello di tre o quattro post fa in merito alla rete.
Ciao
Filippo
PS Però rivendico la priorità :)
Ciao.
--
Sergio MAZZA
Filippo
2008-08-05 23:15:24 UTC
Permalink
Post by Filippo
Post by Filippo
Buongiorno a tutti,
CUT
Post by Filippo
Mi servirebbe un aiutino, Grazie.
Filippo.
Ma è normale avere lo stesso Nick?
Ovviamente lo dico così, solo per curiosità, ma io non sono lo stesso,
io sono quello di tre o quattro post fa in merito alla rete.
Ciao
Filippo
PS Però rivendico la priorità :)
Beh credo sia possibile ;) tanto è l'email alla fine che ci distingue. Pensa
ai Marco o nomi comuni ce ne saranno moltissimi :) io ho sempre usato
filippo quando mi sono presentato qui mmm vabbè siamo in 2 prendiamone atto.
Ciao, Filippo.
Antonio Biso
2008-08-06 07:17:25 UTC
Permalink
Post by Filippo
Post by Filippo
Ma è normale avere lo stesso Nick?
Beh credo sia possibile ;) tanto è l'email alla fine che ci distingue. Pensa
Ne sei proprio sicuro?

Antonio

Loading...