Actualización de datos de un cuadro combinado en formulario

Bueno tengo un problema

Tengo un formulario llamado FOper donde tengo cuadros de textos y cuadros combinados, el caso es que quiero que al meter un Cif en el cuadro combinado y no esté registrado en su tabla cliente me salga un nuevo formulario donde introduzca el cif en un cuadro de texto y el nombre del cliente en otro cuadro de texto y que tenga un botón que al salir de dicho formulario se actualice automáticamente el cif introducido y ya aparezca actualizado en el formulario FOper

Pongo los pasos que me salen al introducir un nuevo Cif y al tabular me sale el siguiente mensaje: El texto que ha escrito no es un elemento de la lista ¿Desea modificar los elementos de la lista? Le doy a que sí.

Se me abre el formulario Fclientes donde introduzco el cif y nombre del cliente y pulso el botón cerrar formulario y me salta el siguiente error en vba

Se ha producido el erro '3021' en tiempo de ejecución: no hay ningún registro activo, le doy a depurar y me sale el código que he introducido

Private Sub cmdVolver_Click()
Dim vProf As String
vProf = Me.CIF.Value
DoCmd. Close acForm, Me. Name
Forms! FOper. Refresh <---- esta línea me sale subrayada en amarillo
Forms!FOper.CIF.Value = vProf
Forms!FOper.Producto.SetFocus
End Sub

Y el caso que luego me actualiza el cuadro combinado con el cif introducido en el formulario clientes, pero siempre me salta el mismo error y no tengo ni idea del porque, este código lo he copiado de los manuales de neckkito.

Bueno si alguien me puede ayudar lo agradecería muchísimo

1 respuesta

Respuesta
2

Supongamos que el cuadro combinado se llama Cliente. En el evento Al no estar en lista pon

Dim Clientenuevo As Integer, título As String, mensaje As Integer

título = "El Cliente que ha escrito no está en la lista"
mensaje = vbYesNo + vbDefaultButton1
Clientenuevo = MsgBox("¿Desea agregar este cliente a la lista ?", mensaje, título)
    If Clientenuevo = vbYes Then
    DoCmd.RunCommand acCmdUndo

DoCmd.OpenForm "Clientes", acNormal, "", "", acAdd, acDialog

Response = acDataErrAdded
End If

Una vez hayas anotado sus datos en el formulario Clientes, no es necesario poner ningún botón para cerrar, con hacer clic en la X, al volver al formulario inicial, ya te aparece su nombre en el combinado.

Lógicamente tienes que cambiar los nombres.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas