¿Cómo puedo abrir el formulario de un cliente o crear uno nuevo sin salir de él?

Tengo una duda extrema para mi. He confeccionado una base de datos de presupuestos con una tabla de clientes, otra de los empleados que los presupuestan y otra de productos. Cuando abro el formulario de presupuestos me sale primero los clientes, luego los presupuestos y por último el detalle de cada uno de los presupuestos con sus productos y sus precios. El nombre del cliente (en el formulario de los presupuestos) es un campo combinado que tomo de la tabla de clientes y de aquí sale el problema, porque cuando quiero introducir un presupuesto para un cliente al que ya le habíamos hecho antes otros presup. Con diferentes productos, me sale que no se puede crear porque se duplican los datos, tengo que ir buscando registro a registro hasta que sale el cliente que yo buscaba y entonces puedo añadir más presupuestos. Yo quisiera saber como puedo ir al nombre del cliente, buscar si existe dicho cliente, y si existe abrir su base de datos con sus presupuestos anteriores, y si no existe dicho cliente poder crear uno nuevo sin salir de este formulario de presupuestos.

1 respuesta

Respuesta
1
Por lo que veo.. tienes un problema de integridad de los datos, y una base de datos con modelo relacional... según tu explicación.. a cada cliente le haces un presupuesto... pero a un mismo cliente puedes hacerle varios presupuestos.. me parece que la llave del presupuesto es la identificación del cliente... y obviamente no podrás crear otro presupuesto con la misma llave...
Te recomiendo que crees una tabla adicional solo para presupuestos... con una llave que incremente independientemente de los clientes o empleados... desde 1,2,3,4... hasta donde quiera que llegue... entonces... en esat tabla.. haces todo el presupuesto y lo relacionas con el cliente al que le haces el peresupuesto y con el empleado que lorealiza, como también los productos presupuestados... es decir... en la tabla CLIENTES solo guardas los datos personales de ellos, igual para la tabla EMPLEADO, donde la llave de estas dos tablas sera la cedula... y en la tabla PRODUCTOS solo guardas la info del producto con su ide de referencia... en la tabla PRESUPUESTO agregas la cedula del cliente, empleado y referencia del producto más la info del presupuesto.. no importa cuanto se repitan... pues es solo una tabla para relacionar con una llave indiferente al presupuesto.. esto se ve más claro con un dibujo.. pero asumo que entiendes el tema
Muchas gracias, lo he hecho como me has dicho y sí, funciona muy bien. Ahora mi pregunta es que he creado en el panel principal una pantalla que me va a dos botones de comando uno para el formulario de entrada de nuevos presupuestos, y otro con presupuestos ya realizados (para verlos y modificar, si conviene o para reenviarlos).
Primero (en el que pido una nueva entrada de presupuestos): cuando he de poner el cliente, si existe ya esta bien, pero si no existe desde allí quisiera poder crearlo y no me deja.
Segundo (si quiero ver los presupuestos hechos): cuando entro tengo que ver registro a registro hasta encontrar el que yo busco, pero me gustaría que al elegir al cliente (que lo tendré que buscar) me salieran los presupuestos que se le han hecho a él y poder ver de esos presupuestos el que yo quiera.
¿Se necesitan las consultas para esto? Realmente no se para que sirven.
Otra cosa, como se hace para imprimir un presupuesto.
¡ Lo he conseguido ! La primera de mis cuestiones ya la he resuelto. Introduzco los datos nuevos desde la misma hoja de presupuestos. Pero de la segunda cuestión... nada, no se como ir a buscar a un cliente en concreto, poder ver todos sus presupuestos, y luego yo poder imprimir uno de sus presupuestos, no todos.
He puesto un botón de comando en el formulario de presupuestos llamado "vista previa del presupuesto". Esto me servirá para cuando haya encontrado al cliente con el presupuesto que yo necesite, pues quisiera que haciendo clic en dicho botón viera eso mismo en pantalla y si esta correcto, poderlo imprimir.
¿Esto es posible?
Gracias de antemano.
Me alegra que hayas resuelto esa parte... para lo de la consulta del presupuesto... no me has dicho en que lenguaje estas programando... de todas formas.. existe el SQL, que en español significa lenguaje de programación estructurado, muy utilizado en visual basic y foxpro...
Este seria el código para mostrar todos los presupuestos del mismo cliente...
Cuando digites la cedula del cliente a consultar la almacenas en una variable por ej: VCC, donde CC_CLEIENTE es el campo de la tabla PRESUPUESTO y CLIENTE...
APLICAMOS LA SENTENCIA 'SELECT', donde el * indica que selecciona todos los campos de la tabla PRESUPUESTO, que cumplan con la condición de que PRESUPUESTO. CC_CEDULA, sea igual a la cedula digitada para consultar... ESTO muestra todos los datos que coincidad, en otra tabla tempora llamada PRESUPUESTO_CLIENTE... ahora puedes especificar en ves de *, los campos que quieres mostrar, en este caso podrían ser, numero_presupuesto, cc_cliente, nombre, fecha, y lo que quieres.. estos separados por coma(,)... EJ: SELECT cc_cliente, nombre FORM...
SELECT * FROM presupuesto WHERE presupuesto.cc_cliente = VCC INTO CURSOR PRESUPUESTO_CLIENTE
LUEGO... visualizas en el formulario la tabla PRESUPUESTO_CLIENTE, ya sea en una grilla, o tabla, la que mejor manejes.. Y al seleccionar un presupuesto de la lista, en otra variable guardas el numero de presupuesto del registro seleccionado... ej:                    N_ PRES = PRESUPUESTO_CLIENTE.numero_presupuesto.... en un boton puede ser... aplicas el codigo para mostrar el presupuesto escogido
SELECT * FROM presupuesto_cliente WHERE presupuesto_cliente.numero_presupuesto = N_PRES INTO CURSOR presupuesto_especifico
Y POR ULTIMO... LA tabla temporal PRESUPUESTO_ESPECIFICO, contiene la info que desea.. un presupuesto especifico de varios presupuesto del mismo cliente...
Espero que esto te ayude a resolver tu duda.. y bueno.. dentro de mis conocimientos te ayudare en lo que este a mi alcance

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas