demytrius 0 Denunciar post Postado Junho 8, 2009 Possuo 2 tabelas CLIENTES e PROJETOS o relacionamento é: |Clientes| 1 ----------- N |Projetos| O programa: Tenho um form de cadastro de clientes, e neste form tem um botão "Projetos...", ao clicar neste botão, ele abre outro form com os campos da tabela PROJETOS. O problema: Quando estou no registro de um determinado cliente, gostaria que ao clicar em "Projetos..." ele limitasse o programa a mostrar-me apenas os projetos daquele cliente, e não de todos, como está ocorrendo, e mais que apenas mostrar, permita-me cadastrar novos projetos, porém sempre para o cliente em questão. Info adicionais: As chaves identificadoras da tabela projetos é *CD_PROJ -> Chave primária (integer not null) #CD_CLI -> Chave estrangeira (integer not null) Desde já, obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Junho 8, 2009 Amigo, isso é questão de filtro na sua query de pesquisa... em vez de fazer um SELECT * FROM PROJETOS simplesmente, vai ter que fazer um select condicional, algo do tipo: SELECT * FROM PROJETOS WHERE CD_CLI = 1 No select acima, você vai filtrar todos os projetos do cliente que possui o código 1. E na hora que for dar o insert, você tem que gravar na tabela de projetos o código do cliente que está gravando o registro. Assim terá sua relação cliente X Projetos (1 x N). []'s Compartilhar este post Link para o post Compartilhar em outros sites
demytrius 0 Denunciar post Postado Junho 9, 2009 Como eu faço para, através de uma query filtrar isso, permitindo que eu grave registros mesmo assim? Compartilhar este post Link para o post Compartilhar em outros sites
Chrnos 30 Denunciar post Postado Junho 9, 2009 Você deve validar antes de gravar os dados na sua rotina com os testes necessários... no comando insert não tem validações. Quando for gravar os dados na tabela de projetos, lembre-se que sempre terá que gravar o código do usuário que criou o projeto, assim manterá a relação 1xN entre as tabelas. Logo após a gravação, terá que reexecutar a query que carrega os dados da grid para o projeto aparecer na lista do usuário. []'s Compartilhar este post Link para o post Compartilhar em outros sites