Filtro dati con between in crystal report integrato in visual studio 2...

lunedì 22 settembre 2008 - 10.11

Mau67 Profilo | Expert

Buongiorno a tutti, ho un problema con il passaggio di dati ad una tabella filtrando i dati con BETWEEN.

Vi posto la select

miaDataAdapter.SelectCommand.CommandText = "SELECT IDUtente, Giorni, Ore," & _
"Importo, FondoCredito, ContoEntrTesoro,Irpef, TotLordo, TotFC, TotCET, TotNettoRit, TotIrpef, NettoMano, Mese, Anno, Motivo, DataPagamento, Gruppo," & _
"Assenza, MotivoCong, Totale, FC, CET, NETTORIT, IRPEFCong, NETTOMANOCong FROM Indennità Where Mese BETWEEN '" & cboMese.Text & "' And '" & cboMese1.Text & "' And Anno BETWEEN '" & txtAnno.Text & "' And '" & txtAnno1.Text & "'"
miaDataAdapter.Fill(tabella3)

Perchè nel report solo i dati filtrati con BETWEEN non li filtra e quindi non li visualizza sul report?

Dove sbaglio

Grazie in anticipo
Mau67

freeteo Profilo | Guru

ciao,
mi sembra strano che non visualizzi i dati se la query torna una serie di righe, infatti il report passandogli il datasource, non esegue la query ma visualizza solamente i dati che gli hai passato, hai controllato a debug se la DataTable "tabella3" ha effettivamente dei dati, prima di passarli al report?

la sintassi per il between sembrerebbe anche corretta...a parte che io avrei usato delle parentesi tra i 2 between, in questo modo:
... FROM Indennità Where (Mese BETWEEN '" & cboMese.Text & "' And '" & cboMese1.Text & "') And (Anno BETWEEN '" & txtAnno.Text & "' And '" & txtAnno1.Text & "' )" ...
per migliore lettura, ma non è che anno sia numerico, e tu glielo passi come stringa? Per verificare bene, prova la query su sql management (o access se hai un mdb) e verifica che la query sia effettivamente corretta, a mio avviso il problema sta nella query che hai fatto che alla fine non torna valori...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Mau67 Profilo | Expert

Si il campo anno è numerico (int) come cambia la stringa?

Grazie
Mau67

freeteo Profilo | Guru

Allora prova a fare il between del campo anno senza apici, mentre per l'altro campo essendo stringa lasciali che è corretto.
Quindi prova con:
...BETWEEN " & txtAnno.Text & " And " & txtAnno1.Text & "....
Cmq puoi andare in debug, e mettere una pausa dopo la costruzione della stringa sql, copiarti il valore che ha in esecuzione in quel momento e provala su un sql management studio,dove puoi avere l'esecuzione immediata e vedere subito dove stà l'errore...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
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 !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5