Si estoy entendiendo bién, debes de usar el evento valid en el campo
To: usuarios_fox@yahoogrupos.com.mx
From: armando_lazarte@hotmail.com
Date: Wed, 11 Sep 2013 13:14:26 -0300
Subject: [usuarios_fox] Ayuda con rutina para una búsqueda en Reservaciones de un Hotel
que quieres y de ahi haces tu consulta.
Lo que no entiendo es si muestras todas las habitaciones en un grid (grilla)
y ahi quieres que diga Reservado.
Veo que haces un formulario en forma programática, también puedes usar
el diseñador de formularios y tener una tabla ahi en forma de grid, creo es
mas sencillo.
Saludos José Alfonso
To: usuarios_fox@yahoogrupos.com.mx
From: armando_lazarte@hotmail.com
Date: Wed, 11 Sep 2013 13:14:26 -0300
Subject: [usuarios_fox] Ayuda con rutina para una búsqueda en Reservaciones de un Hotel
Hola que tal, estoy realizando un trabajo para la facu y tenemos que desarrollar un pequeño programa para una reservación en un hotel.
Tengo dos tablas, una de Habitaciones y otra de Reservas:
La pantalla de la reservación es más o menos así:
Las habitaciones son objetos que los creo a partir de una tabla en tiempo de ejecución, para ello creo un nuevo método que lo llamo CrearHabitacion, y el código es el siguiente:
LOCAL lnTop, lnLeft, lcNombreObjeto, lcNombreCompleto, loObjeto
* HEIGHT = ALTO
* LEFT = IZQUIERDA
* TOP = ARRIBA
* WIDTH = ANCHO
lnTop = 12
lnLeft = 12
WITH THISFORM.ctnHabitaciones
SELECT Habitaciones
SCAN
lcNombreObjeto = "HAB" + ALLTRIM(STR(Habitaciones.nro_hab))
lcNombreCompleto = "THISFORM.ctnHabitaciones." + lcNombreObjeto
IF TYPE(lcNombreCompleto) == "O" && Si ya existe un objeto con este nombre, lo borra para no crear conflicto
.REMOVEOBJECT(lcNombreObjeto)
ENDIF
.ADDOBJECT(lcNombreObjeto, "Habitacion")
loObjeto = EVALUATE("THISFORM.ctnHabitaciones." + lcNombreObjeto)
WITH loObjeto
.TOP = lnTop
.LEFT = lnLeft
lnLeft = lnLeft + .WIDTH + 12
IF (.PARENT.WIDTH - lnLeft) < .WIDTH
lnTop = lnTop + .HEIGHT + 12
lnLeft = 12
ENDIF
.VISIBLE = .T.
.lblNroHabitacion.CAPTION = PADL(Habitaciones.nro_hab, 2, "0")
.lblTipoHabitacion.CAPTION = Habitaciones.tipo_hab
.nCodigo = Habitaciones.nro_Hab
DO CASE
CASE Habitaciones.tipo_hab = "Simple"
.imgHabitacion.PICTURE = 'SINGLE_BED.PNG'
CASE Habitaciones.tipo_hab = "Doble"
.imgHabitacion.PICTURE = 'DOUBLE_BED.PNG'
CASE Habitaciones.tipo_hab = "Triple"
.imgHabitacion.PICTURE = 'HOME.PNG'
OTHERWISE
.imgHabitacion.PICTURE = 'HOME.PNG'
ENDCASE
ENDWITH
ENDSCAN
ENDWITH
Bien ahora lo que no logro hacer es que cuando seleccione una fecha y le dé al botón Consultar busque en la tabla Reservas y me muestre un Label diciendo "RESERVADO" en todas aquellas habitaciones que estén reservadas para esa fecha. ¿Como lo podría hacer?
Adjunto el proyecto.
Desde ya muchas gracias.
Saludos.
Armando Lazarte
Jujuy - Argentina
[Se han eliminado los trozos de este mensaje que no contenían texto]
Tengo dos tablas, una de Habitaciones y otra de Reservas:
La pantalla de la reservación es más o menos así:
Las habitaciones son objetos que los creo a partir de una tabla en tiempo de ejecución, para ello creo un nuevo método que lo llamo CrearHabitacion, y el código es el siguiente:
LOCAL lnTop, lnLeft, lcNombreObjeto, lcNombreCompleto, loObjeto
* HEIGHT = ALTO
* LEFT = IZQUIERDA
* TOP = ARRIBA
* WIDTH = ANCHO
lnTop = 12
lnLeft = 12
WITH THISFORM.ctnHabitaciones
SELECT Habitaciones
SCAN
lcNombreObjeto = "HAB" + ALLTRIM(STR(Habitaciones.nro_hab))
lcNombreCompleto = "THISFORM.ctnHabitaciones." + lcNombreObjeto
IF TYPE(lcNombreCompleto) == "O" && Si ya existe un objeto con este nombre, lo borra para no crear conflicto
.REMOVEOBJECT(lcNombreObjeto)
ENDIF
.ADDOBJECT(lcNombreObjeto, "Habitacion")
loObjeto = EVALUATE("THISFORM.ctnHabitaciones." + lcNombreObjeto)
WITH loObjeto
.TOP = lnTop
.LEFT = lnLeft
lnLeft = lnLeft + .WIDTH + 12
IF (.PARENT.WIDTH - lnLeft) < .WIDTH
lnTop = lnTop + .HEIGHT + 12
lnLeft = 12
ENDIF
.VISIBLE = .T.
.lblNroHabitacion.CAPTION = PADL(Habitaciones.nro_hab, 2, "0")
.lblTipoHabitacion.CAPTION = Habitaciones.tipo_hab
.nCodigo = Habitaciones.nro_Hab
DO CASE
CASE Habitaciones.tipo_hab = "Simple"
.imgHabitacion.PICTURE = 'SINGLE_BED.PNG'
CASE Habitaciones.tipo_hab = "Doble"
.imgHabitacion.PICTURE = 'DOUBLE_BED.PNG'
CASE Habitaciones.tipo_hab = "Triple"
.imgHabitacion.PICTURE = 'HOME.PNG'
OTHERWISE
.imgHabitacion.PICTURE = 'HOME.PNG'
ENDCASE
ENDWITH
ENDSCAN
ENDWITH
Bien ahora lo que no logro hacer es que cuando seleccione una fecha y le dé al botón Consultar busque en la tabla Reservas y me muestre un Label diciendo "RESERVADO" en todas aquellas habitaciones que estén reservadas para esa fecha. ¿Como lo podría hacer?
Adjunto el proyecto.
Desde ya muchas gracias.
Saludos.
Armando Lazarte
Jujuy - Argentina
[Se han eliminado los trozos de este mensaje que no contenían texto]
__._,_.___
Comentarios, agregar archivos en el foro, observaciones o si deseas darte de baja avísame a: jamorquecho@hotmail.com
.
__,_._,___
Nenhum comentário:
Postar um comentário