Hola, bueno decirte que
1º El evento Click del DTPicker no retorna ningún valor cuando pinchas en un día con el calendario desplegado, debes utilizar el evento CloseUp.
2º En el Load del Form haces la conexión a la BD y abres el recordset y a continuación los cierras sin haber hecho nada?
Podrías hacer un procedimiento para seleccionar los registros mas o menos así:
Código:
Sub CargarValores()
Set record = New ADODB.Recordset
record.CursorLocation = adUseClient
sql = "SELECT * FROM citas where fecha = #" & DTPicker1.Value & "#"
' Nota: Di no te dá los valores correctos, ponlo así:
' where fecha = #" & Format(DTPicker1.value, "mm/dd/yyyy) & "#"
record.Open sql, conexion
Combo1.Clear
If record.RecordCount = 0 Then
MsgBox "No hay citas para este día"
Exit Sub
ElseIf record.RecordCount = 1 Then
' solamente hay una cita para este día
RichTextBox1.Text = record!descripcion
Text1.Text = record!seña
Combo1.Text = record!hora
Else
' hay más de una cita en este día, mostramos el primero
RichTextBox1.Text = record!descripcion
Text1.Text = record!seña
' y cargamos en el combo todas las horas
Do Until record.EOF
Combo1.AddItem record!hora
record.MoveNext
Loop
Combo1.ListIndex = 0
End Sub
En el evento Load del formulario:
Código:
Private Sub Form_Load()
DTPicker1.Value = Date
' abrimos la conexión que nos va a servir para todo el módulo de formulario y solamente la
' cerraremos en el evento Unload del Form
Set conexion = New ADODB.Connection
conexion.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\david\Escritorio\PROYECTO\bd1.mdb;Persist Security Info=False"
CargarValores
End Sub
En el evento CloseUp del DTPicker llamamos al procedimiento:
Código:
Private Sub DTPicker1_CloseUp()
CargarValores
End Sub
y en el evento Click del Combo mostramos el registro que coincida con la hora seleccionada:
Código:
Private Sub Combo1_Click()
Set record = New ADODB.Recordset
record.CursorLocation = adUseClient
' 0jo con los formatos de fecha y hora, depende cómo los tengas declarados en la BD
sql = "SELECT * FROM citas where fecha = #" & DTPicker1.Value & "# And hora = #" & Combo1.Text & "#"
RichTextBox1.Text = record!descripcion
Text1.Text = record!seña
End Sub