Control Reservas en un Hostal

Me podéis ayudar ya que tengo una BD de un Hotal que se compone de 4 tablas relacionadas, "Clientes, Habitaciones, Municipios_Provincias y Entradas", y una 5ª tabla de "Reservas"

En el Formulario de Entradas, además de los campos propios tengo F_Entradas y F-Salidas y un Botón que llamo GRABAR RESERVAS, con el siguiente código:

Private Sub GrabarReservas_Click()
' Codigo para grabar reservas por dia en la Tabla T-Reservas

Dim i As Byte, c As Byte
i = F_Salida - F_Entrada
For c = 1 To i
DoCmd.RunSQL "insert into T_Reservas(Id_AltasHotel,Id_Clientes,N_Habitacion,Dias,Estado,F_Entrada,F_Salida,Fechas)values(Id_AltasHotel,T_AltasHotel.Id_Clientes,N_habitacion,Dias,Estado,F_Entrada,F_Salida,F_Entrada + " & c & "-1)"
Next

End Sub

Y cuando, una vez grabada la entrada, que creo un sólo registro, doy a a grabar el Botón de Grabar Reservas y me anexiona correctamente un registro por cada Fecha que hay entra la Fechas de Entrada y Salida, en la TAbla de Reservas, pero cada registro tengo que cliquear conforme y claro cuando entre entradas y salidas hay 20 días, tengo que dar 20 conformes.

Alguien me puede ayudar a completar en código anterior para que sea automático, como cuando actualizo algo a través de una macro.

2 respuestas

Respuesta
1

Asumo que tiene que actualizar un campo de tipo Sí/No, supongo que el campo se llama confirmado con base en el id_clientes y la fecha de entrada, sería algo como:

DoCmd.RunSQL("UPDATE T_Reservas SET confirmado=-1 WHERE id_Clientes=" & Me.id_clientes & " AND F_Entrada=" & "#" & Format(Me.F_Entrada ,"mm/dd/yyyy") & "#"

Sin el paréntesis

DoCmd.RunSQL "UPDATE T_Reservas SET confirmado=-1 WHERE id_Clientes=" & Me.id_clientes & " AND F_Entrada=" & "#" & Format(Me.F_Entrada ,"mm/dd/yyyy") & "#" 

Quizás no me he explicado bien, la Tabla T_Reservas, sólo tiene los campos enumerados iguales en la T_AltasHotel y el campo nuevo "Fechas" que es el único que varía y se incrementa una vez pinchado el Botón Grabar Reservas, y por ejemplo entre F_Entrada, 1-12-20 y F_Salida 10-12-20, anexa 10 registros iguales excepto el campo Fechas, que es :

               01-12-2020

               02-12-2020

               03-12-2020 

.......        10-12-2020

Manteniendo igual el num. de alta, cliente, etc.Etc, y F_Entrada y F_Salida, se repite en cada registro.

Y con el código actual me exige dar conformidad a cada registro que anexo:

En este caso sigue la recomendación de Julián.

Respuesta
1

No sé si te refieres a la dichosa ventanita de " Va a anexar..." Si es eso puedes hacerlo de dos formas

1ª En el código que tienes, antes de la primera línea pon

Docmd.setwarnings false

y después de al última pon

Docmd.setwarnings True

2º La "refinitiva". Pulsa Archivo-Opciones-Configuración de cliente y desmarca la casilla Confirmar consultas de acción. Problema, nunca, nunca te va a avisar. Así que tienes que estar muy seguro de que no quieres que aparezca la ventanita.

¡Gracias!  Exactamente esto lo que desea.  con la dichosa ventanilla de "Va a Anexar"

Muchas gracias por vuestra colaboración.

José Antonio, quiero dejar claro que no sé como trabajan los hoteles en cuanto a las reservas, pero, por si te puede dar una idea, para entretenerme hice un base llamada Reservas. En mi caso, al no saber, le dí preferencia a la habitación. En el formulario de inicio, primero, en el cuadro de texto de arriba pones una fecha, por ejemplo, 01/03/2021 y en la tabla te crea los registros de todos los días de ese mes y todas las habitaciones. Luego en el combinado de abajo elijo un mes

Luego la habitación

y se abre un formulario

Con la situación de esa habitación ese mes, y ya puedes ponerle que la reservan, el 22/01/2021.

Si te puede dar una idea y quieres, repito, si quieres, mándame un mensaje ( sólo el mensaje) a [email protected] y te lo mando.

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

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas