Newsgroup: it.comp.appl.access
Titolo: problema su date

salve a tutti. ho un problema su una query che mi rileva su una data un
errore del tipo tipi di dati non corrispondenti. dovrebbe significare che
c'è qualche dato che non è una data. essendo 1350000 record io non riesco
a trovarlo a mano. come potrei fare? 
grazie sabrina
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 grazie sabrina
ho usato la funzione format e sono riuscita a verificare che tutti i campi
contengono delle date ma allora non capisco il problema dov'è? perchè se
in campo1 metto la condizione =130 e nella data <=#30/04/2002#" è ok e se
levo =130 da errore tipo di dati non verificati nell'espressione criterio
e se levo anche il controllo sulla data invece funziona?
riepilogo
campo1   campoData
130      <=#30/04/2002#"    funge
nulla    <=#30/04/2002#"    non funge
nulla    nulla              funge
aiuto grazie


 sabrina  
Che strano. Togli il doppio apice che hai messo dopo al criterio data,
anche se non dovrebbe essere quello il problema, dato che quando c'è il
130 funziona.
Se ancora non ti va manda l'SQL della query (visualizza - SQL).
Namor
-- 
namor at inwind punto it


 Namor
il doppio apice nel SQl non c'era ho sbagliato la trascrizione. l'SQL
comuneue č
SELECT [Ricoveri 2002].[Regione Addebitante], [Ricoveri 2002].[Az USL
inviante], [Ricoveri 2002].[Codice Istituto], [Ricoveri 2002].[Numero
Scheda], [Ricoveri 2002].[Regime Ricovero], [Ricoveri 2002].[Data
Ricovero], [Ricoveri 2002].[Data Dimissione], [Ricoveri 2002].DRG,
[Ricoveri 2002].[Importo Degenza], CDate((Format([Data
Dimissione],"@@\/@@\/@@@@"))) AS DatDim
FROM [Ricoveri 2002]
GROUP BY [Ricoveri 2002].[Regione Addebitante], [Ricoveri 2002].[Az USL
inviante], [Ricoveri 2002].[Codice Istituto], [Ricoveri 2002].[Numero
Scheda], [Ricoveri 2002].[Regime Ricovero], [Ricoveri 2002].[Data
Ricovero], [Ricoveri 2002].[Data Dimissione], [Ricoveri 2002].DRG,
[Ricoveri 2002].[Importo Degenza], CDate((Format([Data
Dimissione],"@@\/@@\/@@@@")))
HAVING ((([Ricoveri 2002].[Codice Istituto])="130034" Or ([Ricoveri
2002].[Codice Istituto])="130035" Or ([Ricoveri 2002].[Codice
Istituto])="130042" Or ([Ricoveri 2002].[Codice Istituto])="130008" Or
([Ricoveri 2002].[Codice Istituto])="130040" Or ([Ricoveri 2002].[Codice
Istituto])="130022" Or ([Ricoveri 2002].[Codice Istituto])="130024" Or
([Ricoveri 2002].[Codice Istituto])="130010" Or ([Ricoveri 2002].[Codice
Istituto])="130011" Or ([Ricoveri 2002].[Codice Istituto])="130012" Or
([Ricoveri 2002].[Codice Istituto])="130013" Or ([Ricoveri 2002].[Codice
Istituto])="130039" Or ([Ricoveri 2002].[Codice Istituto])="130041") AND
((CDate((Format([Data Dimissione],"@@\/@@\/@@@@"))))<=#4/30/2002#));
ciao Sabrina
-- 


 ciao Sabrina
La sfilza di OR la puoi semplificare con "In":
[Codice Istituto] In ("130034"; "130035"; "130042"; ...)
Perchč fai un Cdate() sul Format() di una data? Non ha molto senso e forse
il problema e proprio lě. Mettici direttamente la [Data Dimissione]. 
Namor
-- 
namor at inwind punto it
questo articolo e` stato inviato via web dal servizio gratuito 


 Namor
scusa il irtardo nella risposat ma era andata giů la rete
il cdate col forlmat mi serve perchč le date sono scritte come 02042002
per cui per fare il minore di le devo prima formattare
Sabrina
-- 


ho provato a mettere i valori possibili uno alla volta come condizione nel
campo1 , controllato che non ci sono campi null, e uno alla volta funziona.
messe insieme le condizioni da errore .................
boh?!?
Sabrina
-- 


 messe insieme le condizioni da errore .................
Ma siccome non c'è una mazza del thread non si può risolvere il problema...
Antonio