Fórum Exibir dados de várias tabelas de uma só vez #254488
14/10/2004
0
Tenho uma tela onde gravo os dados de um aluno usando dbedits. Na parte de baixo da tela, tenho um dbgrid que está ligado a um componente Table onde passo o cod_aluno e insiro na tabela disciplinas várias disciplinas pertencentes aquele aluno, e em outro grid (na mesma tela e que também está ligado a um TTable) gravo na tabela turmas, todas as turmas que o aluno pertence.
Nessa mesma tela tenho o menu com os botões para inserir, consultar, excluir e alterar.
O que quero fazer é quando o usuário clicar no botão alterar e escolher o aluno que quer alterar, sejam mostrados nos edits e nos dois grids todos os dados que tenho cadastrado daquele aluno, nas tabelas alunos, disciplinas e turmas.
Já tentei de várias formas e não está dando certo.
Podem me ajudar?
Obrigada
Barbara.michele
Curtir tópico
+ 0Posts
15/10/2004
Horus
Você não especificou os campos da sua tabela.
Mas, supondo que na tabela de aluno você tenha um cod_aluno e este cod_aluno seja armazenado também na tabela de disciplina e na de turmas do aluno, você pode definir o master source da tabela de disciplina e na de turmas como sendo a tabela de aluno e definir o campo cod_aluno como master field.
Daí você pode ligar as tabelas e quando você procurar o cod_aluno, automaticamente será apresentados os registros nas outras duas tabelas que estão ligados ao cod_aluno da tabela principal (master source).
Espero ter ajudado.
Gostei + 0
15/10/2004
Osocram
Tenta usar Table.locate
passando por parametro o codigo do aluno
Gostei + 0
15/10/2004
Barbara.michele
Valeu pela dica.
A utilização do master/detail deu certo em outros forms, mas pro cadastro do aluno estou fazendo o seguinte:
Utilizo uma query onde ao clicar no botão confirmar, passo para a mesma a instrução sql com insert e os valores dos campos.
Como posso fazer a ligação master detail nesse caso?
Tentei fazer a ligação master/detail entre a tabela disciplinas e a query aluno, mas quando clico no botão para inserir um novo aluno dá um erro relatando que o campo cod_aluno não foi achado.
Obrigada
Gostei + 0
15/10/2004
Osocram
select * from aluno
coloca um DSAluno ligado na QryAluno
agora faz a QryDisciplina
select * from disciplina where cod_aluno=:cod_aluno
e liga no campo datasource da QryDisciplina o DSAluno
e importante q o nome do parametro ´:cod_aluno´ seja exatamente o mesmo nome do campo na tabela aluno
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)