Ayuda con Formulario; Ir a un registro con SELECT CASE
Publicado por Carlos (4 intervenciones) el 24/09/2019 16:00:48
Hola amigos de LaWebdelProgramador!!.
Necesito de su ayuda y orientación con un problema que con mi poca experiencia en ACCESS no he sabido resolver.
Tengo una base de datos de Pacientes desde donde administro CASOS que pueden estar ACTIVOS o CERRADOS. Y en donde a través de un Formulario de nombre "INGRESOS" puedo ingresar los datos de un paciente nuevo y así crear un CASO nuevo que por defecto se crea como ACTIVO, generando un ID único (y autoincrementable) de CASO.
Ahora bien, al ingresar el RUT del paciente ("RUTPAC") en el cuadro de texto, tengo un procedimiento de evento por código para que, "Después de actualizar", el Rut ingresado busque coincidencia en la Tabla de Casos Activos y me avise si el Paciente ya tiene un Caso Activo, de ser así, quisiera que me de la opción de Ir a ver ése registro específico, y que además anule el registro que se estaba haciendo; y por el contrario, si no encuentra coincidencia me permita continuar con el ingreso del Paciente sin dar ningún aviso.
Logro que el Rut busque la coincidencia, y me aparezca el aviso con la pregunta y opciones de "¿Desea ver el registro?" "Si o No", pero no logro que al dar SI, cierre el Formulario "INGRESOS" y me abra el Formulario "ACTIVOS" con el registro específico.
¿Me pueden ayudar por favor a ver qué estoy haciendo mal?.
Les copio el código que tengo el cuadro de texto "Rut Paciente", que se ejecuta "Después de actualizar".
Private Sub RUTPAC_AfterUpdate()
Dim vElem, vElemB As Variant
vElem = Me.RUTPAC.Value
If IsNull(vElem) Then Exit Sub
vElemB = DLookup("[RUTPAC]", "[Tarjeton_CasosActivos]", "[RUTPAC]='" & vElem & "'")
If vElemB = vElem Then
Select Case MsgBox("El usuario ingresado ya existe. ¿Desea ver el Registro?", vbYesNo, "AVISO")
Case vbYes
DoCmd.OpenForm "Formulario ACTIVOS", , , "[RUTPAC]=" & Me.RUTPAC.Value
Case vbNo
End Select
Me.RUTPAC.Value = Null
Me.RUTPAC.SetFocus
Me.RUTPAC.SetFocus
End If
End Sub
Espero que me puedan ayudar a resolver el problema.
Agradezco cualquier comentario y alternativa para intentar.
Saludos!!!
Necesito de su ayuda y orientación con un problema que con mi poca experiencia en ACCESS no he sabido resolver.
Tengo una base de datos de Pacientes desde donde administro CASOS que pueden estar ACTIVOS o CERRADOS. Y en donde a través de un Formulario de nombre "INGRESOS" puedo ingresar los datos de un paciente nuevo y así crear un CASO nuevo que por defecto se crea como ACTIVO, generando un ID único (y autoincrementable) de CASO.
Ahora bien, al ingresar el RUT del paciente ("RUTPAC") en el cuadro de texto, tengo un procedimiento de evento por código para que, "Después de actualizar", el Rut ingresado busque coincidencia en la Tabla de Casos Activos y me avise si el Paciente ya tiene un Caso Activo, de ser así, quisiera que me de la opción de Ir a ver ése registro específico, y que además anule el registro que se estaba haciendo; y por el contrario, si no encuentra coincidencia me permita continuar con el ingreso del Paciente sin dar ningún aviso.
Logro que el Rut busque la coincidencia, y me aparezca el aviso con la pregunta y opciones de "¿Desea ver el registro?" "Si o No", pero no logro que al dar SI, cierre el Formulario "INGRESOS" y me abra el Formulario "ACTIVOS" con el registro específico.
¿Me pueden ayudar por favor a ver qué estoy haciendo mal?.
Les copio el código que tengo el cuadro de texto "Rut Paciente", que se ejecuta "Después de actualizar".
Private Sub RUTPAC_AfterUpdate()
Dim vElem, vElemB As Variant
vElem = Me.RUTPAC.Value
If IsNull(vElem) Then Exit Sub
vElemB = DLookup("[RUTPAC]", "[Tarjeton_CasosActivos]", "[RUTPAC]='" & vElem & "'")
If vElemB = vElem Then
Select Case MsgBox("El usuario ingresado ya existe. ¿Desea ver el Registro?", vbYesNo, "AVISO")
Case vbYes
DoCmd.OpenForm "Formulario ACTIVOS", , , "[RUTPAC]=" & Me.RUTPAC.Value
Case vbNo
End Select
Me.RUTPAC.Value = Null
Me.RUTPAC.SetFocus
Me.RUTPAC.SetFocus
End If
End Sub
Espero que me puedan ayudar a resolver el problema.
Agradezco cualquier comentario y alternativa para intentar.
Saludos!!!
Valora esta pregunta


0