Hacer una macro

Me gustaría hacer un formulario de un alta de reservas de un hotel en el que aparezcan una fecha de reservas y un fecha de salida del personal, pero ese botón debe de ser el mismo. En la fecha de reserva debe de ponerse la fecha de la primera vez que es pulsado, y en la fecha de salida la fecha en que es pulsado por segunda vez.

2 respuestas

Respuesta
1
Si no he entendido mal, tenemos:
1º) un cliente hace una reserva en el hotel, y en ese momento se le añade la fecha de esa reserva a la tabla de clientes.
2º) un cliente llega al hotel y cumple con su estancia, cuando se marcha la fecha de salida pasa al campo correspondiente de la tabla de clientes.
===============
De esta forma en el registro de clientes tendremos siempre la fecha de reserva y fecha de salida.
Bien. Pues tienes ya diseñado el form de altas del personal (clientes) del hotel.
Añadimos 2 botones, repito... 2. Uno será para añadir la fecha de la reserva y otro para añadir la fecha de salida.
Tenemos: BotonReserva y BotonSalida.
Coloca BotonSalida justo encima de BotonReserva y que sea del mismo tamaño. Ademas BotonSalida llevara la propiedad Visible a False (NO).
Lo que hacemos es programar en VBA para que cuando se active un registro lea si ese registro tiene alguna fechareserva introducida.
Si está vacío no hace nada, si existe alguna fecha de reserva entonces...
BotonReserva.Visible = False
BotonSalida.Visible = True
Ademas... cuando hacemos click en ambos botones:
BotonReserva.Click()
====================
FechaReserva = Date
BotonSalida.Visible = True
BotonSalida.GetFocus
BotonReserva.Visible = False
BotonSalida.Click()
===================
FechaSalida = Date
Respuesta
1
El procedimiento que te propongo no es una Macro, pero creo que lo sigue lo encontrarás interesante. En el ejemplo vamos a tomar la fecha y hora del sistema para con el primer click del botón establecer una fecha/hora en el campo FechaInicio y con el segundo click del mismo botón establecer otra fecha/hora en el campo FechaFin al tiempo que cambiamos la propiedad Titulo del botón:
1. Crea un formulario con un cuadro de texto con la propiedad Nombre: FechaInicio y otro cuadro de texto con la propiedad Nombre: FechaFin
2. Añade al formulario un botón de comando con la propiedad Nombre: EstablecerFecha y establece su propiedad de Formato Titulo a "Establecer fecha de inicio"
En la ficha Eventos de las propiedades de este botón, y en el evento Al hacer clic selecciona Procedimiento de evento, pica en el (...) de al lado para lanzar el depurador de visual basic y entre las lineas Private Sub EstablecerFecha_Click() y End Sub pega el siguiente código:
On Error GoTo EstablecerFecha_Error
If EstablecerFecha.Caption = "Establecer fecha de inicio" Then
FechaInicio = Now
EstablecerFecha.Caption = "Establecer fecha de fin"
Else
FechaFin = Now
EstablecerFecha.Caption = "Establecer fecha de inicio"
End If
Exit Sub
EstablecerFecha_Error:
MsgBox Err.Description
Exit Sub
Notas: El procedimiento se puede mejorar añadiendo al formulario el control MSCAL. Calendar. 7 o su versión más reciente, solo tendríamos que cambiar la variable Now que estamos pasando a los cuadros de texto, por Mi_Control_MSCAL. Value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas