Perfecto, ya me he puesto manos a la obra.
En mi caso un contacto nunca podrá ser de varios clientes asi que esto simplifica la tarea...
Ya hice la tabla de Contactos con el campo IdCliente
Lo que hago al añadir un Contacto desde la Ficha del Cliente es que automaticamente el IdCliente del contacto sea el valor de IdCliente de la tabla Cliente, lo hago incluyendo esta línea en el evento onclick del botón añadir:
Código Delphi
[-] TContactos.FieldByName('IdCliente').Value := DMmain.TClientes.FieldByName('IdCliente').value;
La tabla contactos está en el Form actual pero la de clientes está en un Data Module.
Hasta ahí creo que lo hago bien porque he probado y todo es correcto.
En la finca de cliente he puesto un DBGrid donde pretendo que aparezcan todos los contactos relacionados con este cliente.
Lo hago a través de una Query pero no sé qué debo poner el la sentencia SQL, ando un poco perdido con estas cosas.
Si le pongo esto:
Vería todos los contacto, pero para ver únicamente los contactos cuyo IdCliente sea el mismo que el IdCLiente de la tabla Clientes no se que tengo que poner.
Se hace con un where creo que al tener dos tablas no se como indicar que un campo sea igual al de otra tabla
He probado con
Código SQL
[-]Select * From Contactos where IdCliente = DMMain.TClientes.IdCliente
Pero no funciona, debo de andar cerca....
También he visto una opción para poner un filtro en la query aunque no se si es ahí donde hay que ponerlo o en la SQL