Ciao a tutti,
come al solito mi è sorto un problema con il programma che sto facendo.
Ho creato un form di ricerca in database con il seguente codice:
codice:
Option Explicit
Dim testo As String
Dim criterio As String
Private Sub Data1_Validate(Action As Integer, Save As Integer)
If Save Then
Data1.UpdateControls
End If
End Sub
Private Sub DBList1_DblClick()
criterio = "Struttura LIKE '" & DBList1.Text & "'"
Data1.Recordset.FindFirst criterio
'Con il controllo testo...
With txtRicerca
'Attiva il fuoco alla casella di testo
.SetFocus
'Seleziona tutto
.SelStart = 0
.SelLength = 65000
End With
End Sub
Private Sub DBList1_KeyDown(KeyCode As Integer, Shift As Integer)
'Se sulla lista hai premuto INVIO allora...
If KeyCode = 13 Then
DBList1_DblClick
End If
End Sub
Private Sub DTPicker1_Change()
Text7.Text = DTPicker1.Value
End Sub
Private Sub DTPicker2_Change()
Text8.Text = DTPicker2.Value
End Sub
Private Sub Form_Load()
Text7.Text = DTPicker1.Value
Text8.Text = DTPicker2.Value
'Assegna le proprietà a runtime.
Data1.DatabaseName = App.Path & "\db1.mdb"
Data1.Refresh
End Sub
Private Sub txtRicerca_Change()
'Ogni volta che il contenuto della casella di testo cambia
'interroga il database con una query parametrica creata
'con Access
Data2.RecordSource = "SELECT tabella1.Struttura " & _
"From tabella1 " & _
"Where (((tabella1.Struttura) Like '" & txtRicerca.Text & "*')) " & _
"ORDER BY tabella1.Struttura;"
'Ogni volta che si modifica una proprietà dell'oggetto DATA
'a runtime, effettuare un REFRESH.
Data2.Refresh
End Sub
Private Sub txtRicerca_KeyDown(KeyCode As Integer, Shift As Integer)
'Se digiti FRECCIA GIU' passa il controllo alla DBLIST.
If KeyCode = 40 Then
DBList1.SetFocus
End If
End Sub
Sono inoltre presenti 3 textbox, 1 Command Button, 1 DataGrid che dovrebbero avere la seguente funzione:
text6.text - Inserisco nome della struttura (alberghiera)
text7.text - Inserisco la data di inizio ricerca
text8.text - Inserisco la data di fine ricerca
Command1 - cliccando Inizio la Ricerca
DataGrid1 - Visualizzo i dati trovati
Per spiegarmi meglio, una volta inseriti i parametri di ricerca: Nome struttura, data di inizio e data di fine e cliccando il commandbutton mi dovrebbe effettuare una ricerca all'interno del database delle prenotazioni (db1.mdb) trovandomi solo le prenotazioni per quella struttura tra la data di inizio ricerca e la data di fine ricerca...come posso fare?