PDA

Ver la Versión Completa : Agenda de Citas (MonthCalendar)


PiPerraK
23-05-2005, 16:48:57
Hola, tengo un gran quebradero de cabeza con este componente. Bueno mi problema es el siguiente:

Trabajo con Delphi6 y quiero hacer una Agenda de Citas para una peluquería canina. La estructura es la siguiente:

Tengo una Tabla llamada Agenda cuyos campos son FECHA/HORA/MOTIVO/DNI_CLIENTE
Donde el campo clave esta formado por los campos FECHA/HORA.

Hasta ahí todo bien, le asigno al DBEditFecha el Valor de la fecha que tengamos señalada en el calendario, y se añade sin problemas. Pero mi problema viene ahora, ¿cómo puedo hacer para mostrar en un DBGrid sólo las citas que haya programadas para el día que tengamos seleccionado en el componente MonthCalendar? Así tal como está me muestra todas las citas juntas de todos los días que haya añadido.

Sólo decir más que trabajo con AdoQuerys y tablas en Access.

Gracias por vuestra ayuda de antemano!

Kreyser
23-05-2005, 16:59:12
Hola.

Así, a simple vista se me ocurre q utilices la propiedad Filter del dataset al q tengas conectado el DBGrid, colocando algo como:


DataSet.Filter:='NombreCampoFecha ='+QuotedStr(MonthCalendar.Date);
DataSet.Filtered:=True;


Esto podrias ponerlo en el evento OnClick del MonthCalendar.

Espero te sirva o al menos oriente.;)

Saludos.

Lepe
23-05-2005, 17:03:52
MonthCalendar tiene la propiedad Date para obtener la fecha y hora seleccionada.

Simplemente puedes construir una consulta en sql.

'select fecha, hora, motivo from agenda where fecha = '+FormatDateTime('mm/dd/yyyy',MonthCalendar1.date);

y enlazar el DBgrid con esta consulta.

Un saludo

PiPerraK
23-05-2005, 17:23:53
Gracias por las respuestas, probé lo del filtro, pero me da un error que dice algo así como que el campo Hora no puede quedarse vacío (?)
Y la consulta SQL, donde la meto?? en la propiedad SQL del AdoQuery?
De ser así que sintaxis uso?? porque con la anterior me da error :(

Kreyser
23-05-2005, 17:45:56
Hola.

Pon algo del código que estas usando en la actualidad y los errores concretos, para que tengamos algo sobre lo que ayudarte.:confused:

probé lo del filtro, pero me da un error que dice algo así como que el campo Hora no puede quedarse vacío (?)

Y la consulta SQL, donde la meto?? en la propiedad SQL del AdoQuery?
De ser así que sintaxis uso?? porque con la anterior me da error

Saludos.

marcoszorrilla
23-05-2005, 17:48:29
En Filtros el formato fecha es:
dd/mm/yyyy

y en consultas:
mm/dd/yyyy

Un Saludo.

Lepe
24-05-2005, 16:57:07
procedure BotonBuscar;
begin
adoquery1.sql.text := 'select fecha, hora, motivo from agenda where fecha =
'+FormatDateTime('mm/dd/yyyy',MonthCalendar1.date);
adoquery1.open
end;

// Un saludo o dos ;)