Cuadro de texto vinculado a tabla y formulario

Tengo un formulario de facturación con varios cuadros de texto (DNI, Nombre, Apellidos, Domicilio...) el formulario "facturacion3" va vinculado a una tabla llamada "facturacion" y luego tengo otra tabla "Clientes Garrievents" donde están los clientes registrados. Ahora en el formulario "facturacion3" tengo el cuadro de texto "txtDNI" donde introduzco un DNI y si ese cliente ya esta dado de alta en la tabla "Clientes Garrievents" automáticamente me aparecen completados el resto de cuadros, Nombre, Apellidos, Domicilio, etc..

Pero unicamente trabajamos con el formulario "facturacion3" que es donde introducimos las facturas y si es cliente nuevo, introducimos sus datos directamente en el formulario para hacer la factura y no tener que introducir sus datos dos veces. Entonces ahora me encuentro con el problema que los clientes nuevos que introducimos directamente en el formulario, a la hora de hacer una nueva factura del mismo cliente, si en el cuadro de texto "txtDNI" escribo su DNI, no me aparece nada, puesto que no esta en la tabla de "Clientes Garrievents".

¿Cómo lo puedo hacer para que los clientes nuevos me aparezcan en la tabla de clientes y luego al poner el DNI en el cuadro de texto también me aparezcan todos sus datos automáticamente?

1 respuesta

Respuesta
1

Tu problema, por lo que comentas, viene por una "mala" planificación de tu BD. Lo ideal sería tener una tabla de clientes, en la que registres los datos de cada cliente (DNI, Nombre, dirección...), como la que ya tienes (Clientes Garrievents), y luego una tabla de Facturas vinculada a la anterior por el ID de cada cliente (sería lo ideal) o por el DNI (menos recomendable), y en esa tabla da facturas no tendrías que meter datos del cliente (Nombre, dirección...) pues ya los tienes en la tabla anterior.

Luego, para mostrar los datos del cliente en el formulario facturas, podrías hacerte una consulta sobre las dos tablas, y usarla como base del formulario, o bien, usar código VBA para una vez que mees el DNI, buscar en la tabla de clientes sus datos y mostrarlos, por ejemplo con la función DLookUp.

Para no tener que retocar mucho tu BD, una posible solución para tu problema sería comprobar, una vez que metes el DNI en el cuadro de texto, que ese DNI existe en la tabla de clientes, y si no existe, abrir un formulario sobre la tabla de clientes para registrarlo.

Mira estos ejemplos, que te pueden orientar:

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos/93-ejemplos-explicados/ejemplos-de-formularios/162-este-valor-ya-existe 

Este te dará la idea de cómo comprobar si tu cliente ya lo tienes registrado.

http://siliconproject.com.ar/neckkito/index.php/ejemplos-explicados/todos/93-ejemplos-explicados/ejemplos-de-formularios/161-captura-informacion-auxiliar-en-formulario 

Y este cómo mostrar información "auxiliar" (los datos de tus clientes) en un formulario.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas