Discussione:
DCount con criterio multiplo.
(troppo vecchio per rispondere)
TANNHAUSER
2004-09-23 10:28:14 UTC
Permalink
Buongiorno,

perchè se nella funzione DCount utilizzo una sola condizione da testare
nel criterio non ho problemi mentre se ne aggiungo una seconda con "and"
mi restituisce "Errore di run-time 13: Tipo non corrispondente"?
C'è una qualche regola particolare per la scrittura del criterio di
selezione?
Grazie,

TANNHAUSER
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Alessandro Baraldi
2004-09-23 10:45:40 UTC
Permalink
Post by TANNHAUSER
Buongiorno,
perchè se nella funzione DCount utilizzo una sola condizione da testare
nel criterio non ho problemi mentre se ne aggiungo una seconda con "and"
mi restituisce "Errore di run-time 13: Tipo non corrispondente"?
C'è una qualche regola particolare per la scrittura del criterio di
selezione?
Grazie,
TANNHAUSER
Sicuramente perchè hai sbagliato la sintassi.
Posta il codice specificando il TIPO di dati
nei criteri se Stringhe o Numerici o Data.

Ciao
Alessandro
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
TANNHAUSER
2004-09-23 12:59:10 UTC
Permalink
Post by Alessandro Baraldi
Post by TANNHAUSER
Buongiorno,
perchè se nella funzione DCount utilizzo una sola condizione da testare
nel criterio non ho problemi mentre se ne aggiungo una seconda con "and"
mi restituisce "Errore di run-time 13: Tipo non corrispondente"?
C'è una qualche regola particolare per la scrittura del criterio di
selezione?
Grazie,
TANNHAUSER
Sicuramente perchè hai sbagliato la sintassi.
Posta il codice specificando il TIPO di dati
nei criteri se Stringhe o Numerici o Data.
Ciao
Alessandro
Anch'io avevo tale sospetto e devo avere qualche virgoletta fuori posto,
soprattutto per i campi stringa.

Dim EsisteMisuraDiBa
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase",
"[MaterialeComposto]=" & Me!IDMateriale and "[TagliaComposto]=" & Me!Misura

MaterialeComposto, IDMateriale=> Numerico
TagliaComposto, Misura=> Stringa
DistintaBase=> Tabella

Grazie eciao,

TANNHAUSER
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
ALESSANDRO Baraldi
2004-09-23 18:54:28 UTC
Permalink
Post by TANNHAUSER
Dim EsisteMisuraDiBa
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase",
"[MaterialeComposto]=" & Me!IDMateriale and "[TagliaComposto]=" & Me!Misura
MaterialeComposto, IDMateriale=> Numerico
TagliaComposto, Misura=> Stringa
DistintaBase=> Tabella
Grazie eciao,
TANNHAUSER
Si ti confermo che oltre ad un'errore di formattazione dato c'è anche
un'errore di SINTASSI riferita al Criterio:

Correzione:

EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase", _
"[MaterialeComposto]=" & Me!IDMateriale & _
" and [TagliaComposto]=" & chr(34) & Me!Misura &
chr(34))

Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
TANNHAUSER
2004-09-24 12:54:32 UTC
Permalink
Post by TANNHAUSER
Post by TANNHAUSER
Dim EsisteMisuraDiBa
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase",
"[MaterialeComposto]=" & Me!IDMateriale and "[TagliaComposto]=" &
Me!Misura
Post by TANNHAUSER
MaterialeComposto, IDMateriale=> Numerico
TagliaComposto, Misura=> Stringa
DistintaBase=> Tabella
Grazie eciao,
TANNHAUSER
Si ti confermo che oltre ad un'errore di formattazione dato c'è anche
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase", _
"[MaterialeComposto]=" & Me!IDMateriale & _
" and [TagliaComposto]=" & chr(34) & Me!Misura &
chr(34))
Ciao
Ho provato ad inserire il codice modificato che mi hai inviato. Mi sembra
di aver capito che la differenza sta nell'aver aggiunto le virgolette,
Chr(34) prima e dopo l'ultimo valore; immagino perchè il campo è di tipo
stringa. Non mi fornisce però il risultato sperato; mi spiego meglio. Ho
aggiunto il seguente codice in una visualizzazione a maschere continue

Private Sub Form_Current()
Dim EsisteMisuraDiBa

EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase", _
"[MaterialeComposto]=" & Me!IDMateriale & _
" and [TagliaComposto]=" & Chr(34) & Me!Misura & Chr(34))

If (EsisteMisuraDiBa <> "") Then
Me!Misura.ForeColor = 255

End If
End Sub

Ho sostituito al mio il codice che mi hai postato. Effettuando il test
però, indipendentemente dal valore assunto dala variabile EsisteMisura, il
risultato non cambia (cioè tutti i valori di Me!Misura sono in rosso).
Something more to suggest?
Grazie ancora ed in anticipo,

TANNHAUSER
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Alessandro Baraldi
2004-09-24 14:30:19 UTC
Permalink
"TANNHAUSER" <***@virgilio.it> wrote in message news:cj15ec$pgb$***@news.newsland.it

[CUT]
Post by ALESSANDRO Baraldi
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase", _
"[MaterialeComposto]=" & Me!IDMateriale & _
" and [TagliaComposto]=" & Chr(34) & Me!Misura & Chr(34))
If (EsisteMisuraDiBa <> "") Then
Me!Misura.ForeColor = 255
End If
End Sub
Ho sostituito al mio il codice che mi hai postato. Effettuando il test
però, indipendentemente dal valore assunto dala variabile EsisteMisura, il
risultato non cambia (cioè tutti i valori di Me!Misura sono in rosso).
Something more to suggest?
Grazie ancora ed in anticipo,
TANNHAUSER
Hai letto nell'Help il tipo di dati restituiti dalla Funzione
DCOUNT....?????
E' impossibile che vada se lo confronti con un valore stringa...!

Prova con il confronto con ZERO

Alessandro
--
Posted via Mailgate.ORG Server - http://www.Mailgate.ORG
TANNHAUSER
2004-09-24 14:56:21 UTC
Permalink
Post by Alessandro Baraldi
[CUT]
Post by ALESSANDRO Baraldi
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase", _
"[MaterialeComposto]=" & Me!IDMateriale & _
" and [TagliaComposto]=" & Chr(34) & Me!Misura & Chr(34))
If (EsisteMisuraDiBa <> "") Then
Me!Misura.ForeColor = 255
End If
End Sub
Ho sostituito al mio il codice che mi hai postato. Effettuando il test
però, indipendentemente dal valore assunto dala variabile EsisteMisura, il
risultato non cambia (cioè tutti i valori di Me!Misura sono in rosso).
Something more to suggest?
Grazie ancora ed in anticipo,
TANNHAUSER
Hai letto nell'Help il tipo di dati restituiti dalla Funzione
DCOUNT....?????
E' impossibile che vada se lo confronti con un valore stringa...!
Prova con il confronto con ZERO
Alessandro
Certo che ho letto l'help e, ovviamente, essento una funzione che conta
non può che restituire un numero. Lo ZERO era stata la mia prima scelta
ma, per sfizio, volevo provare anche con "": poi mi sono dimenticato di
ricorreggere e te l'ho postato senza riportare tutto alla forma originale.
In ogni caso, non funziona e mi lascia tutti valori in black (come se il
risultato fosse sempre =0).

TANNHAUSER
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
ALESSANDRO Baraldi
2004-09-24 15:36:28 UTC
Permalink
Post by TANNHAUSER
Post by Alessandro Baraldi
[CUT]
Post by ALESSANDRO Baraldi
EsisteMisuraDiBa = DCount("[MaterialeComposto]", "DistintaBase", _
"[MaterialeComposto]=" & Me!IDMateriale & _
" and [TagliaComposto]=" & Chr(34) & Me!Misura & Chr(34))
If (EsisteMisuraDiBa <> "") Then
Me!Misura.ForeColor = 255
End If
End Sub
Ho sostituito al mio il codice che mi hai postato. Effettuando il test
però, indipendentemente dal valore assunto dala variabile
EsisteMisura, il
Post by TANNHAUSER
Post by Alessandro Baraldi
Post by ALESSANDRO Baraldi
risultato non cambia (cioè tutti i valori di Me!Misura sono in rosso).
Something more to suggest?
Grazie ancora ed in anticipo,
TANNHAUSER
Hai letto nell'Help il tipo di dati restituiti dalla Funzione
DCOUNT....?????
E' impossibile che vada se lo confronti con un valore stringa...!
Prova con il confronto con ZERO
Alessandro
Certo che ho letto l'help e, ovviamente, essento una funzione che conta
non può che restituire un numero. Lo ZERO era stata la mia prima scelta
ma, per sfizio, volevo provare anche con "": poi mi sono dimenticato di
ricorreggere e te l'ho postato senza riportare tutto alla forma originale.
In ogni caso, non funziona e mi lascia tutti valori in black (come se il
risultato fosse sempre =0).
TANNHAUSER
Usa il Debug per vedere dove si pianta o cosa non funziona.....!
Magari inserisci i criteri in una Query per verificare che effettivamente
funzionino......!

Purtroppo non ho in mano il tuo DB ma deve andare, la sintassi
in base a quanto hai detto è corretta.

Alessandro
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
Michele
2004-09-24 15:52:20 UTC
Permalink
'una visualizzazione a maschere continue'
Credo che il problema di fondo sia questo:
Se hai una visualizzazione di questo tipo credo che tenda a modificare la
maschera nello stesso modo per tutti i record visualizzati in base al
comportamento sul record corrente.
In pratica se per il record corrente la misura esiste allora avrai tutti i
record in rosso, se no tutti in nero (prova a scorrere i record e dimmi se
ho ragione)
Ho letto da qualche parte che su www.sitocomune.com c'è qualcosa a riguardo
ma non sono ancora andato a vedere.

--------------------------------
Inviato via http://arianna.libero.it/usenet/
ALESSANDRO Baraldi
2004-09-24 16:03:30 UTC
Permalink
Post by Michele
'una visualizzazione a maschere continue'
Se hai una visualizzazione di questo tipo credo che tenda a modificare la
maschera nello stesso modo per tutti i record visualizzati in base al
comportamento sul record corrente.
In pratica se per il record corrente la misura esiste allora avrai tutti i
record in rosso, se no tutti in nero (prova a scorrere i record e dimmi se
ho ragione)
Ho letto da qualche parte che su www.sitocomune.com c'è qualcosa a riguardo
ma non sono ancora andato a vedere.
Se fosse così l'errore di base è quello di non dire l'effettivo risultato
voluto, ma solo un parziale....!

Confermo la tua valutazione, ma in questo caso si può ugualmente fare
appoggiandosi alla Formattazione Condizionale.

Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
TANNHAUSER
2004-09-27 15:09:45 UTC
Permalink
Post by Michele
Post by Michele
'una visualizzazione a maschere continue'
Se hai una visualizzazione di questo tipo credo che tenda a modificare la
maschera nello stesso modo per tutti i record visualizzati in base al
comportamento sul record corrente.
In pratica se per il record corrente la misura esiste allora avrai tutti i
record in rosso, se no tutti in nero (prova a scorrere i record e dimmi se
ho ragione)
Ho letto da qualche parte che su www.sitocomune.com c'è qualcosa a
riguardo
Post by Michele
ma non sono ancora andato a vedere.
Se fosse così l'errore di base è quello di non dire l'effettivo risultato
voluto, ma solo un parziale....!
Confermo la tua valutazione, ma in questo caso si può ugualmente fare
appoggiandosi alla Formattazione Condizionale.
Ciao
Ma la formattazione condizionale non si applica a A97? O sbaglio?
Comunque, con il Debug, sembra che il codice non conti correttamente i
record secondo le condizioni imposte. La mia domanda nasceva dal voler far
capire subito a chi apriva l'anagrafica materiali quali erano le misure
che già avevano Distinta Base (evidenziandole con un colore diverso).
Se può servire, le tabelle interessate erano:

Materiali
IDMateriale (Contatore)
...

Misure
IDMateriale (Intero)
Misura (testo) <n-1 con Materiali attraverso IDMateriale>

DistintaBase
MaterialeComposto (Intero) <n-1 con Materiali attraverso IDMateriale>
TagliaComposto

La form su Materiali contiene sia una subform Misure (ovviamente per
aggiungerne in caso di necessità) sia una subform DistintaBase(per creare
la distinta delle misure che ci interessano).
L'unica cosa che non funziona è questa evidenziazione. Forse era solo una
volontà estetica ma mi sembrava che, sopratutto per materiali con numerose
taglie ciò potesse facilitare il compito: farò senza.
Grazie lo stesso,

TANNHAUSER
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
ALESSANDRO Baraldi
2004-09-27 17:09:14 UTC
Permalink
Post by TANNHAUSER
Ma la formattazione condizionale non si applica a A97? O sbaglio?
Sbagli, vai sul SitoComune o sul mio sito e troverai degli ottimi esempi di
Silvio Savoldi che implementano la Formattazione Condizionale per A97
in modo estremamente elementare.
Post by TANNHAUSER
Comunque, con il Debug, sembra che il codice non conti correttamente i
record secondo le condizioni imposte. La mia domanda nasceva dal voler far
capire subito a chi apriva l'anagrafica materiali quali erano le misure
che già avevano Distinta Base (evidenziandole con un colore diverso).
Impossibile, se il Codice non conta correttamente ci sono errori
nell'applicazione.
Ma nel tuo caso non si tratta di contare nulla devi solo CONDIZIONARE il
colore
relativamente ad una CONDIZIONE.

Vedi sul Mio sito nella sezione [FORMS] l'articolo "Evidenzia Records in
viste tabellari"
devi adattarlo alle tue esigenze, ma fà proprio al caso tuo.

[CUT]
Post by TANNHAUSER
TANNHAUSER
Ciao
--
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------
TANNHAUSER
2004-09-28 07:53:28 UTC
Permalink
Post by ALESSANDRO Baraldi
Post by TANNHAUSER
Ma la formattazione condizionale non si applica a A97? O sbaglio?
Sbagli, vai sul SitoComune o sul mio sito e troverai degli ottimi esempi di
Silvio Savoldi che implementano la Formattazione Condizionale per A97
in modo estremamente elementare.
Post by TANNHAUSER
Comunque, con il Debug, sembra che il codice non conti correttamente i
record secondo le condizioni imposte. La mia domanda nasceva dal voler far
capire subito a chi apriva l'anagrafica materiali quali erano le misure
che già avevano Distinta Base (evidenziandole con un colore diverso).
Impossibile, se il Codice non conta correttamente ci sono errori
nell'applicazione.
Ma nel tuo caso non si tratta di contare nulla devi solo CONDIZIONARE il
colore
relativamente ad una CONDIZIONE.
Vedi sul Mio sito nella sezione [FORMS] l'articolo "Evidenzia Records in
viste tabellari"
devi adattarlo alle tue esigenze, ma fà proprio al caso tuo.
[CUT]
Post by TANNHAUSER
TANNHAUSER
Ciao
Concordo con te quando dici che devo "condizionare" il colore ad una
condizione; il problema sta proprio nel fatto che non riesco a verificare
tale condizione prima di formattare la maschera.

TANNHAUSER
--
questo articolo e` stato inviato via web dal servizio gratuito
http://www.newsland.it/news segnala gli abusi ad ***@newsland.it
Loading...