Pasar un registro de la tabla contactos en un registro de la tabla clientes

Tengo una bs en access 2007; lo que quiero hacer es poder convertir un registro de la tabla contactos en otro de la tabla clientes. Para trabajar con ambas tablas, he creado un formulario con los mismos campos. Quiero evitar tener que copiar manualmente los datos del nuevo cliente a partir de un contacto ya creado.

1 respuesta

Respuesta
1

¿Y para qué quieres hacer eso? La razón de ser de las bases de datos es no duplicar datos innecesarios. Si tienes una tabla de clientes, puedes enlazarla a la tabla de contactos, y añadir después lo que necesites "extra". Por ejemplo, puedes decir que el cliente 1 es el contacto número 15 (con todos sus campos de nombre, dirección, NIF, etc.), y además añadirle cosas específicas como podría ser el descuento, forma de pago, etc.

Y eso te sirve para la tabla de proveedores (es un ejemplo) si un mismo contacto puede ser cliente y proveedor a la vez. Puedes decir que el proveedor 8 es el contacto 15, y que la forma o el plazo de pago es X.

Espero haberte ayudado. Si no, ya me dirás.

Veras, soy novato, si a enlazarlas te refieres a crear una relación entre ambas, ya lo he hecho. En cuanto a conseguir que el cliente 1 sea el contacto 15, hay me pierdo, si no te importa, indicarme cuales son los pasos a seguir, te lo agradeceré enormemente. Lo que quiero es lo que todos, ahorrar en espacio y tiempo, je je. Gracias por tu velocidad de respuesta..

Imagínate lo siguiente:

Tabla Contactos.

Tabla Clientes.

Detalle del campo contacto en la tabla clientes.

Relacion entre ambas.

Ya ves que he cambiado un poco lo que te dije ayer. El número de cliente puede ser el número de contacto.

En la foto 3 está la clave: decirle a la tabla que el número de cliente no lo voy a poner a mano o de forma automática, sino tomarlo de la tabla contactos. Así siempre vas a tener en una tabla los datos personales, y en otra tabla datos específicos relacionados con su papel de cliente.

Si ese mismo contacto es también un proveedor, o un intermediario, o un transportista, podrías ponerle datos específicos en diferentes tablas. No tiene sentido poner todos los campos (de cliente, de proveedor, de intermediario) en todos los contactos.

¡Gracias! 

He creado y relacionado las tablas siguiendo los pasos que me indicas, pero a la hora de introducir un contacto nuevo me da este error:

No se puede agregar o cambiar el registro porque se necesita un registro relacionado con la tabla clientes.

No se donde pueda estar el problema. 

Básicamente, lo que necesito es una bs que me pueda servir para gestionar Clientes, productos, pedidos y albaranes. Lo que me ocurre es que puedo contactar con personas que no serán clientes hasta que no realicen su primera compra, esto puede suceder meses después, pero a las que necesito hacer un control para ver cuanto les toca visitar. Se que puede ser un lío pero es lo que necesito. Gracias por tu tiempo

Vale, el error ha sido culpa mía. Con una relación 1 a 1, lo que obligas es a que haya un cliente y un contacto que coincidan. En realidad tienes que hacer que la relación sea uno a varios.

Prueba lo siguiente:

Lo primero, borra la relación que hay entre las dos tablas.

Luego, en la tabla de Clientes, añade otro campo, por ejemplo llamado IdCliente. Pon este como clave principal (la llavecita) y quita la clave del campo Contacto.

Vuelve a relacionar las dos tablas, uniendo los campos Contacto de una tabla, con IdContacto de la otra. La relación debería quedar hecha, pero sin ser 1 a 1.

Te lo estoy diciendo de memoria, no tengo ahora forma de reproducirlo en mi ordenador. Si no es así, ya me dirás.

Veras, he modificado las tablas y la relación como me indicas, luego he creado un formulario tomando los datos de las dos tablas y lo he llamado clientes. Pues bien cuando lo abro y me voy a idcliente, que aparece como combo y que que viene de la tabla clientes, aparece como es normal una lista de los números de contactos ya creados, selecciono cualquiera de ellos y el resto de campos que tomé de la tabla contactos y que son los que quiero que se rellenen de forma automática se quedan en blanco. ¿¿?? Gracias por tu tiempo

Es que en la tabla no se tienen que rellenar los campos de cliente. Lo que haces es unir una tabla con otra a través de ese campo. Cuando hagas más adelante una consulta, o un formulario basado en una consulta, podrás seleccionar campos de las dos tablas para mostrarlos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas