Ms access 2007 - formularios

Ms access 2007
Hola, buenos días, tengo una base de datos con 2 tablas, una de "clientes" y otra de "maquinas".
Normalmente primero se debería dar de alta el cliente y luego la máquina asignada, pero en este caso tengo 2 formularios, uno para "clientes" y otro para "máquinas".
Lo que quiero hacer es que desde el formulario "máquinas" cuando introduzco el número de cliente (campo de texto pero de 9 dígitos numéricos) mire si está en la tabla de clientes, si está que me muestre los datos del cliente y si no está que me diga si lo quiero dar de alta o bien cancelo el alta de la máquina.
Si le digo que quiero dar el alta, que me muestre el formulario "clientes" y una vez finalizada el alta del cliente, que vuelva al formulario "máquinas" (anterior con el número de cliente ya puesto) y me muestre los datos del cliente y pueda seguir con la introducción de los datos.
No se si esto es posible desde access o bien se necesita algo de visual basic de lo cual yo estoy bastante mal.
Quedo a vuestra disposición para cualquier consulta que queráis hacerme.

1 respuesta

Respuesta
1
En el formulario Maquinas en el cuadro de texto IdCliente (nombre del cuadro de texto donde introduces el número de cliente), en las propiedades de dicho cuadro, en la acción Al perder el enfoque ---> Procedimiento de evento ---> Picas en el cuadrado de la derecha, el de los ... y pones el código:
Private Sub IdCliente_LostFocus()
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("Select IdCliente from Clientes where IdCliente=" & Form!IdCliente.Value & "")
If rs.EOF Then
If MsgBox("Cliente no existe, ¿Dar de alta?", vbYesNo) = vbYes Then
DoCmd.OpenForm "Clientes", acNormal
Else
Form!IdCliente.SetFocus
End If
End If
End Sub
En el formulario Clientes un botón Cerrar Formulario (lo creas con el asistente) y ya está, cuando cierres el formulario clientes volverás al formulario Maquinas
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas