Abrir formulario según condición

Tengo un combobox (IdEmpleadoBox) que uso para elegir a los empleados. Toma los valores de una tabla "ListadoEmpleados" y recoge el valor del campo [REG].
Tengo otra tabla "Empleados" donde recojo las entradas y salidas de los empleados.
He creado un botón para que realice una búsqueda en la tabla "Empleados" donde el criterio es que si el valor recogido en el combobox existe en el campo [IdEmpleado] de la tabla, me abra un formulario emergente modal donde me indica que el trabajador ya está trabajando y en caso contrario, me abra un formulario emergente no modal donde me debería de añadir un registro para capturar los datos de dicho empleado.
El procedimiento que he hecho es
Private Sub BotonProbando_Click()
On Error GoTo BotonProbando_Click_Err
Dim stDocName As String
Dim stLinkCriteria As String
stLinkCriteria = ""
If DCount("[IdEmpleado]", "[Empleados]", "[Empleados]![IdEmpleado]=IdEmpleadoBox") > 0 Then
stDocName = "FormEntrada"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Else
stDocName = "FormExiste"
DoCmd.OpenForm stDocName, , , stLinkCriteria
End If
BotonProbando_Click_Exit:
Exit Sub
BotonProbando_Click_Err:
MsgBox Error$
Resume BotonProbando_Click_Exit
End Sub
El caso es que no me abre el formulario y todavía no he solucionado el que me añada un registro.
Otra pregunta es como puedo quitar el nombre del formulario que aparece en el formulario emergente.
Un saludo.
{"lat":38.6401994061144,"lng":-9.130859375}

1 Respuesta

Respuesta
Yo lo simplificaría un poco. Hablas de que has colocado un botón pero no dices dónde. Imagino que en un formulario dónde introduces datos. Me explico: supongamos que estoy en el formulario "Empleados", dónde introduzco los datos referentes a los empleados.
En el control "IdEmpleadoBox", en su evento después de actualizar, colocaría lo siguiente:
If DLookup("IdEmpleado", "Empleados", "IdEmpleado='" & Me.IdEmpleadoBox & "'") <> "" Then MsgBox _ "Empleado ya existe", vbInformation, "Empleado de alta"
With Me
.Undo
.RecordsetClone.FindFirst "IdEmpleado='" & Me.IdEmpleadoBox & "'"
.Bookmark = RecordsetClone.Bookmark
End With
End If
De esta forma evitas utilizar dos nuevos formularios. Utilizas sólo el presente. Una vez introducido el IDEmpleadoBox, si no existe, no pasara nada y podrás seguir introduciendo sus datos. Si existe, anulara el presente registro e ira a mostrarte el registro del empleado que tiene el IDEmpleado introducido.
El Foro La Web El Blog
Un saludo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas