Filtro data.

lunedì 09 giugno 2014 - 23.06

Peppino Profilo | Junior Member

Ciao a tutti.

Per la ricerca di una stringa in datagridview uso il codice seguente ed è tutto OK. Ora però a me serve fare la ricerca di una data. Come si fa?.

Private Sub TxtCercaData_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtCercaData.TextChanged
If TxtCercaData.TextLength > 0 Then
Try
dv.RowFilter = "Scadenza Like '" & TxtCercaData.Text & "*'"
Catch ex As Exception
End Try
Else
dv.RowFilter = String.Empty
End If
End Sub

Ho fatto un po di ricerche (non li ho letti tutti ma ne ho letto un bel poco), ma non sono riuscito niente che mi potesse aiutare. Qualcuno può darmi un aiuto.

Grazie anticipatamente come sempre per la Vs. disponibilità e per una eventuale risposta.
Ciao a tutti. Peppino.

TOPOAMORE Profilo | Expert

>Ciao a tutti.

Ciao

Hai provato semplicemente : Data= Tua_Data ???

Data='10/06/2014'

Facci sapere

__.__.__.__.__.__

http://salvatorecervone.wordpress.com

ASP 2.0 - VB 2008

Peppino Profilo | Junior Member

Ciao a tutti.
Ciao Salvatore, grazie per la risposta. Siccome non sono un esperto, non so come va impostato il tuo suggerimento. Potresti farmi un esempio più completo?
Grazie. Ciao Peppino.

ridaria Profilo | Expert

innanzi tutto è necessario sapere se stai cercando in un campo di tipo data o di tipo string (char)

perché le cose cambiano notevolmente a seconda dei casi.

Se è di tipo data allora puoi eseguire ricerche con operatori =; >; <; >=; <=; e BETWEEN.

se invece è di tipo string(char, nvarchar) allora la ricerca può limitarsi al confronto con operatori, = e like

facci sapere

Ciao
Riccardo D'Aria

Peppino Profilo | Junior Member

Ciao a tutti.
Ciao Riccardo grazie per l'interessamento, la ricerca o filtro è su una colonna in datagridview di tipo data, se farla tramite una textbox o una combobox o un pulsante o un datetimepicker non importa. Con l'esempio descritto sopra filtrare un campo stringa non ho problemi infatti ho pure provato a convertire la data in stringa e va bene, ma siccome dovrei fare poi dei confronti di date ho paura che avrei dei problemi (penso!, non ancora trattato quel tipo d'argomento), ecco perché vorrei lasciarla di tipo data. Anzi visto l'argomento penso che, o la ricerca di una singola data o un intervallo di date il codice sarebbe quasi identico o sbaglio.
Grazie ancora. Ciao Peppino.

ridaria Profilo | Expert

>Ciao a tutti.
>Ciao Riccardo grazie per l'interessamento, la ricerca o filtro
>è su una colonna in datagridview di tipo data, se farla tramite
>una textbox o una combobox o un pulsante o un datetimepicker
>non importa. Con l'esempio descritto sopra filtrare un campo
>stringa non ho problemi infatti ho pure provato a convertire
>la data in stringa e va bene, ma siccome dovrei fare poi dei
>confronti di date ho paura che avrei dei problemi (penso!, non
>ancora trattato quel tipo d'argomento), ecco perché vorrei lasciarla
>di tipo data.

Esatto! Per eseguire delle ricerche, su intervalli di date, con confronti, è assolutamente necessario che il campo si di tipo data.


>Grazie ancora. Ciao Peppino.

CIao

Prego


Riccardo D'Aria

Peppino Profilo | Junior Member

Ciao a tutti.
Ciao Riccardo, visto che l'argomento, sia di filtraggio sia di confronto a intervallo di date è uguale, ho deciso di affrontarlo e penso di aver risolto con il codice seguente.

All'interno dell'evento di un pulsante.

Dim datadal AS Date = CDate(TxtDataDal.Text)
Dim dataal AS Date = CDate(TxtDataAl.Text)

cmd = New SqlCommand()
cmd.Connection = ConnessioneDatabase
cmd.CommandText = "Select Scadenza From MiaTabella WHERE Scadenza BETWEEN @datadal and @dataal"
cmd.Parameters.Add(New SqlParameter("@datadal", SqlDbType.Date))
cmd.Parameters("@datadal").Value = datadal
cmd.Parameters.Add(New SqlParameter("@dataal", SqlDbType.Date))
cmd.Parameters("@dataal").Value = dataal

Usandola come filtro di una data, basta digitare nelle due TextBox la stessa data.

Funziona OK. Chiedo il Vs. parere se è un buon sistema ed è sicuro oppure va cambiato qualcosa.

Grazie comunque a tutti per gli aiuti e suggerimenti.
Ciao Peppino.

ridaria Profilo | Expert

OK

va bene così

Adesso chiudi il post accettando la risposta che ti ha dato il maggior aiuto

Ciao
Riccardo D'Aria
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