No duplicar un campo Fecha que esta condicionado a otro campo numero
Publicado por Jose Antonio (9 intervenciones) el 27/12/2020 17:47:08
Hola, tengo el siguiente código que lo que hace es pasar a la Tabla T_Reservas, las reservas por día de la T_AltasHotel, es decir; mediante un Formulario que doy las entradas en el hotel de un cliente, entre otros datos tengo los campos de F_Entrada y F_Salida (sólo un registro) y paso a la T_Reservas , los días uno a uno que hay entre F_SAlida y F_Entrada, de cada cliente con su num. de habitación, y quiero evitar que tenga días de Reservas duplicado en cada habitación.
HASTA AQUI FUNCIONA CORRECTAMENTE EL CODIGO,
ESTE PROCEDIMIENTO ES EL QUE ME DA ERROR SI LE CONTINUO CON EL ANTERIOR
El error se produce ya que los datos se deben comparar con otra tabla en la misma BD.
Muchas gracias por vuestra colaboración.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Private Sub GrabarReservas_Click()
Dim Ok As String
Ok = MsgBox("VAMOS A DAR DE ALTA UNA HABITACION EN LA TABLA DE RESERVAS?", vbYesNo, "Security Question")
If Ok = vbYes Then
DoCmd.SetWarnings False
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
DoCmd.SetWarnings True
Else
MsgBox "NO QUIERES DAR LA NUEVA ALTA EN RESERVAS!", vbExclamation, "Acción Cancelada"
DoCmd.CancelEvent
End If
End Sub
HASTA AQUI FUNCIONA CORRECTAMENTE EL CODIGO,
ESTE PROCEDIMIENTO ES EL QUE ME DA ERROR SI LE CONTINUO CON EL ANTERIOR
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
'comprabar que la fecha no esta duplicada en reservas
Dim FechaEntrada As Date
Dim FechaReserva As Date
Dim Hab As Integer
Dim hab1 As Integer
FechaEntrada = Me.F_Entrada.Value
FechaReserva = "SELECT Fechas.Value FROM T_Reservas"
Hab = Me.N_habitacion.Value
hab1 = "SELECT N_Habitación.Value FROM T_Reservas"
If FechaEntrada = FechaReserva And Hab = hab1 Then
Exit Sub
MsgBox "Esta Reserva ya esta duplicada", vbExclamation, "SALIMOS SIN GRABAR"
End If
End Sub
El error se produce ya que los datos se deben comparar con otra tabla en la misma BD.
Muchas gracias por vuestra colaboración.
Valora esta pregunta


0