Me uuuuuuurge ayuda please

HOLA, no soy ing. En sistemas
y no le se mucho a esto pero algo de lógica si tengo :)
Mira mi pregunta es demasiado toNta:
Tengo los campos siguientes:
1.-DICTAMEN : en el formulario es un cuadro combinado y maneja los sig. Valores:RECIBIDOS, RECHAZOS, AUTORIZADOS,
2.-STATUS en el formulario es un grupo de opcionse: con la opción de ENTREGADOS O PENDIENTES
3.-FACTURA que solo se llena si status se habilita en entregados
4.- FECHA_ENTREGA
Lo que necesito es que si el DICTAMEN dice AUTORIZADOS, entonces se habilite el campo de status y poder escoger la opción de entregados o pendientes, y si son entregados entonces OBLIGUE A llenar el campo FACTURA.
Agradeceré MUCHÍSIMO SI ME PUEDEn AUXILIAR O DECIR QUE Y COMO DEBO DE HACER.

1 respuesta

Respuesta
1
Lo que pides es un poco laborioso, pero te explico el proceso. Ante todo, ten en cuenta que yo he llamado de la manera siguiente a los campos y controles:
- CboDictamen: campo donde se indica el dictamen
- MrcStatus: marco con las opciones de status. Además, el valor "Entregado" es la opción 1, y "Pendiente" es la opción 2
- Factura: campo donde se introduce el número de factura.
Tú sólo tendrías que cambiar esos nombres y valores en el código por los que tiene tu formulario.
El proceso sería el siguiente:
1- En el formulario, sacas las propiedades de mrcStatus y Factura->Pestaña Datos-> y sitúas el valor de la propiedad "Activado" en NO, en ambos
2- En el campo cboDictamen sacas sus propiedades y al evento "Después de actualizar" le escribes este código
---
Private Sub cboDictamen_AfterUpdate()
    If Me.cboDictamen.Value = "AUTORIZADOS" Then
        Me.mrcStatus.Enabled = True
        Me.mrcStatus.SetFocus
    Else
        Me.mrcStatus.Enabled = False
        Me.mrcStatus.Value = Null
        Me.Factura.Enabled = False
        Me.Factura.Value = Null
    End If
End Sub
---
3- En el control mrcStatus sacas sus propiedades y al evento "Después de actualizar" le escribes este código:
Private Sub mrcStatus_AfterUpdate()
    If Me.mrcStatus.Value = 1 Then
        Me.Factura.Enabled = True
        Me.Factura.SetFocus
    Else
        Me.Factura.Enabled = False
        Me.Factura.Value = Null
    End If
End Sub
---
4- En el campo Factura sacas sus propiedades y al evento "Al perder el enfoque" le escribes este código:
Private Sub Factura_LostFocus()
    If IsNull(Me.Factura.Value) Or Me.Factura.Value = "" Then
        MsgBox "Debe introducir un número de factura"
        Me.cboDictamen.SetFocus
        Me.Factura.SetFocus
        Exit Sub
    End If
End Sub
---
5- En las propiedades del formulario sacas las propiedades y al evento "Al Activar Registro" le escribes este código:
Private Sub Form_Current()
    Me.Factura.Enabled = False
    If Me.cboDictamen = "AUTORIZADOS" Then
        Me.mrcStatus.Enabled = True
            If Me.mrcStatus.Value = 1 Then
                Me.Factura.Enabled = True
            End If
    End If
End Sub
---
Y eso es todo. Ahora debería funcionar como pedías.
Muchas
Gracias de verdad
Me ha sido de mucha utilidad.!
Gracias
DRT
Me alegra que te haya ido bien. Si no tienes ninguna duda más sobre este tema te agradecería que valoraras la ayuda y cerraras la consulta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas