Buscar registro desde textbox sino existe agregar

Primero que nada gracias este foro me ha sido de gran ayuda, estoy trabajando con un formulario en access, y quiero enlazarlo a varias tablas, pero no lo cree con el asistente, es un form de ventas donde lo enlazo con ventas, clientes, productos, lo que yo busco es que en un textbox yo teclee el nombre de un cliente y en otro me aparezca el id de ese cliente, en caso de no encontrar dicho cliente agregarlo automáticamente a la tabla clientes, espero su ayuda y muchas gracias de antemano
Pd. He leído bastante pero no he encontrado una solución, he intentado e intentado yhe buscado preguntas similares a la mía, he probado todas las soluciones sugeridas, más lo que se me ha ocurrido de lo que voy leyendo y ninguna me a funcionado.

1 Respuesta

Respuesta
1
Una tabla Clientes con 2 campos IdCliente y Nombre
2 cuadros de texto en el formulario:
1er cuadro:
Nombre: txtNombre
Al perder el enfoque ---> Procedimiento de Evento ---> Código:
Private Sub txtNombre_LostFocus()
If IsNull(DLookup("[Nombre]", "[Clientes]", "Nombre=form!txtnombre.value")) = True Then
vIdCliente = InputBox("Introducir el Id del cliente")
DoCmd.RunSQL "Insert Into Clientes (IdCliente, Nombre) values ('" & vIdCliente & "', '" & Form!txtNombre.Value & "')"
Form!txtIdCliente.Value = DLookup("[IdCliente]", "[Clientes]", "Nombre=form!txtnombre.value")
Else
Form!txtIdCliente.Value = DLookup("[IdCliente]", "[Clientes]", "Nombre=form!txtnombre.value")
End If
End Sub
2º cuadro:
Nombre: txtIdCliente
Bloqueado: Sí
Lo que hacemos es:
1º Ver si existe el Nombre: Buscamos con la función Dlookup y vemos si nos devuelve nulo o no
2º Si devuelve nulo pedimos ingresar el Id
3º Ejecutamos una consulta de anexar datos
4º Actualizamos el cuadro de texto para visualizar el Id
5º Si NO devuelve nulo ---> Quiere decir que exite
6º Actualizamos el cuadro de texto para visualizar el Id
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas