Newsgroup: it.comp.appl.access
Titolo: DCount con criterio multiplo.

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 
ab...@newsland.it

 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

 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
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/
---------------------------------------------------------------------------

 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
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).


 ha scritto nel messaggio
news:cj1cih$bdf$1...@news.newsland.it...

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


'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/

 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


 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


 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.
