Vamos por partes, lo puedes hacer de tres mil formas distintas, pero, en principio no necesitas ningún botón. Por ejemplo supongamos que tengo el formulario con los números de habitaciones y escribo un número
Cuando hago clic en Estado( ya que le tengo puesto que no sea punto de tabulación)
No te preocupes por el verde de abajo, ya que no tiene existencia real, sólo existe el que tiene el icono del lápiz. Pasa un tiempo y vuelves a hacer clic en Estado y
Pasa un tiempo y haces clic en Estado y
Y si vuelves a hacer clic en Estado se repite el proceso. Si sólo es por lo colores, podrías hasta suprimir el cuadro de texto estado
El código del evento Al recibir el enfoque del cuadro de texto Estado es
Private Sub Estado_GotFocus()
If IsNull([Estado]) Then
Estado = "LIBRE"
Estado.BackColor = vbGreen
ElseIf Estado = "LIBRE" Then
Estado = "OCUPADA"
Estado.BackColor = vbRed
ElseIf Estado = "OCUPADA" Then
Estado = "Limpieza"
Estado.BackColor = vbYellow
ElseIf Estado = "limpieza" Then
Estado = "LIBRE"
Estado.BackColor = vbGreen
End If
End Sub
También podrías usar
If me.newrecord then
Estado="Libre"
Etc
Con respecto a lo demás que dices, te aconsejaría que se lo pidieras a alguien que pueda estar en contacto contigo casi permanentemente, porque es más complicado de lo que parece.
Por ejemplo. Supongamos que el día 05/03/2021 el cliente Pepe te pide una habitación( para el ejemplo vamos a poner la habitación 10) para el día 08/03/2021, tu miras en el cuadrante y te aparece en rojo, porque hasta el 08/03/2021 a las 12:00 puede estar ocupada por Juan, pero él se debe ir a las 12:00. A partir de ese momento(supongo) debe estar en amarillo porque habrá que limpiarla. Luego el cliente podría ocuparla, por ejemplo, a las 14:00. Por tanto cuando miras el cuadrante el día 05/03/2021 te aparece como ocupada.
Dices de escribir un intervalo de fechas. Por ejemplo, entre el 14/03/2021 y el 18/03/2021. Pero el día empieza a las 00:00:01 del 14 y a esa hora puede estar ocupada, pero el cliente se va a las 09:00, pero como ha empezado a contar a las 00:00:01, te puede aparecer como ocupada. Lo mismo con el día de salida.
Por otro lado, cuando un cliente te pide reservar una habitación desde el 14/03/2021 hasta el 18/03/2021,. ¿Anotas en el formulario el 14, 15, 16, 17 y 18, ó anotas el 14 y el 18 y que el sistema te rellene esos días?
Y mil cosas más.
Mira, por entretenerme hice una base de reservas de habitaciones, me aburrí y lo dejé, pero teniendo en cuenta la habitación, no las fechas, de forma que si elijo un mes y una habitación
Me muestra esa habitación en todo el mes, con los clientes que la ocupan o ocuparán(ojalá no la anulen)
La amiga Victoria no figura en rojo(ocupada) porque ya te dije que me aburrí y lo dejé.