Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Strano comportamento con Access
giovedì 29 maggio 2008 - 17.48
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
jalifix
Profilo
| Newbie
1
messaggi | Data Invio:
gio 29 mag 2008 - 17:48
Salve a tutti, sono nuovo del forum. Ho un problema con l'esecuzione di una query tra VB.NET ed MS Access attraverso gli oggetti in System.Data.OleDB. La query incriminata è questa:
SELECT hsc_CartelleClinicheD.Paziente & '/' & hsc_CartelleClinicheD.Cartella AS ReportKey, hsc_CartelleClinicheD.Paziente AS IDPaziente, hsc_CartelleClinicheD.Cartella, hsc_CartelleClinicheD.ID, Seq, hsc_CartelleClinicheD.Tipo, Ora, Farmaco, IsChemioFarmaco, SommTipo.Descrizione as TipoSomministrazione, Dosaggio, DosaggioUM.Descrizione AS DosaggioUM, Dose, DoseUM.Descrizione AS DoseUM, DilTipo.Descrizione & ' ' & QtaDiluente & ' ' & DiluenteUM.Descrizione AS Diluente, TempoInfusione, TempoUM.Descrizione AS TempoInfusioneUM, Cognome & ' ' & Nome AS Paziente, ana_Pazienti.DtNascita, hsc_CartelleCliniche.NumeroLetto, hsc_CartelleCliniche.Diagnosi, hsc_CartelleCliniche.InizioTerapia, hsc_CartelleCliniche.Altezza, hsc_CartelleCliniche.Peso, QtaDiluente * DiluenteUM.Conversione as LitriDiluente, FromPCT.Diagnosi as FromSchema
FROM ((((((((hsc_CartelleClinicheD
LEFT JOIN hsc_CartelleCliniche
ON hsc_CartelleClinicheD.Paziente = hsc_CartelleCliniche.Paziente
AND hsc_CartelleClinicheD.Cartella = hsc_CartelleCliniche.ID)
LEFT JOIN ana_Pazienti
ON hsc_CartelleClinicheD.Paziente = ana_Pazienti.ID)
LEFT JOIN tbl_UM AS DiluenteUM
ON hsc_CartelleClinicheD.UMDiluente = DiluenteUM.ID)
LEFT JOIN tbl_UM AS DoseUM
ON hsc_CartelleClinicheD.UMDose = DoseUM.ID)
LEFT JOIN tbl_UMComposte AS DosaggioUM
ON hsc_CartelleClinicheD.UMDosaggio = DosaggioUM.ID)
LEFT JOIN tbl_UM AS TempoUM
ON hsc_CartelleClinicheD.UMTempoInfusione = TempoUM.ID)
LEFT JOIN hsc_CartelleCliniche AS FromPCT
ON hsc_CartelleCliniche.FromPCTPaziente = FromPCT.Paziente
AND hsc_CartelleCliniche.FromPCTCartella = FromPCT.ID)
LEFT JOIN (SELECT * FROM tbl_Standard WHERE Tabella='Diluenti') AS DilTipo
ON hsc_CartelleClinicheD.Diluente = DilTipo.ID)
LEFT JOIN (SELECT * FROM tbl_Standard WHERE Tabella='VieTerapeutiche') AS SommTipo
ON hsc_CartelleCliniche.TipoSomministrazione = SommTipo.ID
WHERE 1=1
AND ((hsc_CartelleClinicheD.Cartella) = [@ID])
AND ((hsc_CartelleClinicheD.Paziente) = [@Paziente])
ORDER BY hsc_CartelleClinicheD.Paziente, hsc_CartelleClinicheD.Cartella, Seq, hsc_CartelleClinicheD.ID
In pratica quello che succede è che viene restituito un DataTable vuoto il che è sbagliato, perchè se eseguo la stessa query ma con questa WHERE:
WHERE 1=1
AND ((hsc_CartelleClinicheD.Paziente) = [@Paziente])
AND ((hsc_CartelleClinicheD.Cartella) = [@ID])
ORDER BY hsc_CartelleClinicheD.Paziente, hsc_CartelleClinicheD.Cartella, Seq, hsc_CartelleClinicheD.ID
e cioè scambiando solo l'ordine tra ID e Paziente, vengono restituite una decina di righe. La stessa cosa mi capita anche su altre query, mi basta scambiare l'ordine di alcuni filtri nella WHERE per farle funzionare. Il fatto è che mi piacerebbe capire il perchè di questa cosa. Spero che qualcuno di voi possa aiutarmi.
Grazie a tutti in anticipo, ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !