¿Cómo Alternar colores en botones en Access?

Necesito controlar con un botón distintas opciones, por ejemplo, que comience con el color verde y el caption que diga Libre, rojo - Reserva, Amarillo - Limpieza. El mismo color debe quedar en un text box que va a estar junto con el botón con un número de habitación. Otra cosa que se me ocurre es poder controlar las reservas de la siguiente manera, al ingresar un rango de fecha me muestre las habitaciones disponibles, reservadas o en limpieza, en una grilla, quiero que sea algo más bien gráfico y no un listado.

2 respuestas

Respuesta
2

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é.

¡Gracias! Me gusta esto último, buscar el mes y la habitación. ya tengo la base armada con los formularios, el tema es que el usuario me pide que sea más gráfica, es decir si quiere ver las habitaciones libres en determinada fecha. esa opción se la muestro por listado. 

Lo único que puedo hacer es que si quieres repito, si quieres, mándame un mensaje(sólo el mensaje) a [email protected] y te mando el ejemplo.

Si lo haces, en el asunto del mensaje pon tu alias Marina, ya que si no sé quien me escribe ni los abro.

Respuesta
1

No sé si quiere hacer algo parecido a estas imágenes:

Tengo un cuadro de texto para cuando se cambie el estado se actualice el color, esto lo hago con formato condicional.

Bueno esto es una idea.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas