Formulario continuo con campo condicional
Publicado por Vicente (23 intervenciones) el 12/09/2018 19:40:05
Nuevamente por aquí. Siempre dando la lata.
La cuestión que planteo y que me gustaría me ayudaran es la siguiente:
Tengo un formulario (Búsqueda por autor) con un subformulario vinculado llamado “Subformulario Búsqueda por autor”, en donde se refleja la situación en que se encuentra los libros escritos por el autor introducido. Las situaciones que se pueden dar básicamente son tres, DISPONIBLE (no prestado), NO DISPONIBLE (libro prestado) y una última LIBRO DADO DE BAJA, donde pretendo se recoja los libros que por deterioro, extravío o no devuelto no estén disponibles.
Si hago la consulta (en el formulario) veo que los campos se cumplimentan correctamente, es decir que si el libro está prestado y no devuelto aparece la fecha del préstamo, también si el libro ha sido dado de baja aparece la fecha en la que le he dado de baja, pero ahora surge la cuestión.
Si el primer título que aparece está disponible, toda los libros de ese autor, estén prestados, deteriorados o disponibles, aparecen (todos como disponibles), por el contrario si el primer libro que parece en el subformulario está prestado o extraviado (por abreviar), todos los libros de ese autor aparecen como no disponibles.
Le he dado vueltas a derechas e izquierdas al asunto y sigo sin resolverlo.
Plasmo seguidamente la instrucción que he escrito:
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
If Not IsNull([Fecha de baja]) Or (Not IsNull([PrestaL]) And IsNull([DevoluciO])) Then
DisponitblE.Value = "NO DISPONIBLE"
DisponitblE.BackColor = vbRed
ElseIf IsNull([Fecha de baja]) And (IsNull([PrestaL]) And IsNull([DevoluciO])) Then
DisponitblE.Value = "DISPONIBLE"
DisponitblE.BackColor = vbGreen
ElseIf IsNull([Fecha de baja]) And Not (IsNull([PrestaL]) And Not IsNull([DevoluciO])) Then
DisponitblE.Value = "DISPONIBLE"
DisponitblE.BackColor = vbGreen
End If
End Sub
La cuestión que planteo y que me gustaría me ayudaran es la siguiente:
Tengo un formulario (Búsqueda por autor) con un subformulario vinculado llamado “Subformulario Búsqueda por autor”, en donde se refleja la situación en que se encuentra los libros escritos por el autor introducido. Las situaciones que se pueden dar básicamente son tres, DISPONIBLE (no prestado), NO DISPONIBLE (libro prestado) y una última LIBRO DADO DE BAJA, donde pretendo se recoja los libros que por deterioro, extravío o no devuelto no estén disponibles.
Si hago la consulta (en el formulario) veo que los campos se cumplimentan correctamente, es decir que si el libro está prestado y no devuelto aparece la fecha del préstamo, también si el libro ha sido dado de baja aparece la fecha en la que le he dado de baja, pero ahora surge la cuestión.
Si el primer título que aparece está disponible, toda los libros de ese autor, estén prestados, deteriorados o disponibles, aparecen (todos como disponibles), por el contrario si el primer libro que parece en el subformulario está prestado o extraviado (por abreviar), todos los libros de ese autor aparecen como no disponibles.
Le he dado vueltas a derechas e izquierdas al asunto y sigo sin resolverlo.
Plasmo seguidamente la instrucción que he escrito:
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
If Not IsNull([Fecha de baja]) Or (Not IsNull([PrestaL]) And IsNull([DevoluciO])) Then
DisponitblE.Value = "NO DISPONIBLE"
DisponitblE.BackColor = vbRed
ElseIf IsNull([Fecha de baja]) And (IsNull([PrestaL]) And IsNull([DevoluciO])) Then
DisponitblE.Value = "DISPONIBLE"
DisponitblE.BackColor = vbGreen
ElseIf IsNull([Fecha de baja]) And Not (IsNull([PrestaL]) And Not IsNull([DevoluciO])) Then
DisponitblE.Value = "DISPONIBLE"
DisponitblE.BackColor = vbGreen
End If
End Sub
Valora esta pregunta
0