Fórum Mestre/Detalhe com BD access e ADO #373972
23/08/2009
0
Em um BD access com ADO estou tentando fazer Mestre detalhe
segui este tutorial q encontrei: Mas naum dá certo alguem tem um tutorial para mestre detalhe ou pode me ajudar....[/b:e66245e49a]
_____________________________________________________________
Neste Exemplo Utilizaremos Componentes ADO
Precisaremos dos seguites componentes:
1 ADOConection / 2 ADOQuery / 2 DataSource
Obtendo Conexão com o BANCO de Dados
1 - Clique sobre o ADOConection
2 - Estabelaça a Conexão com o BANCO atravez da propriedade ConnectionString
Vamos Iniciar o Processo Mestre / Detalhe
vamos denominar os seguintes nomes aos componentes:
ADOQueryPai
ADOQueryFilho
DataSourcePai
DataSourceFilho
Ligue os Seguintes Componentes
ADOQueryPai - DataSourcePai
ADOQueryFilho - DataSourceFilho
Clique Sobre ADOQueryFilho, e na Propriedade DataSource, Selecione DataSourcePai, isso que determinará a Relação
Como exemplo vamos supor que na tabelaPai o Campo chave seja ´Codigo´ e na tabelaFilho o Campo de Ligação tb seja ´Codigo´
Na Propriedade SQL do Componente ADOQueryPai Digita-se o Seguinte Comando:
Select *From TabelaPai
Na Propriedade Sql do Componente ADOQueryFilho Digita-se o Seguinte Comando:
Select *From TabelaFilho where id_codigo = : id_codigo
Na Propriedade Parameters do Componente ADOQueryFilho Adiciona-se um Parametro do Tipo Inteiro, se ja tiver adicionado automaticamente, Selecione o Parâmetro, clique na propriedade Direction e mude para Interiro Selecionando ´pdInput´
Agora e so Ativar as ADOQuery e ta Feito
____________________________________________________________
Kirow
Curtir tópico
+ 0Posts
25/08/2009
Kirow
Qualquer forma, eu só preciso fazer a ligação!!!!!
help...
Gostei + 0
25/08/2009
.lg.
Deixando a ironia de lado...
No evento [b:6e915f734c]OnAfterScroll[/b:6e915f734c] da query master... vc chama a query filho passando o valor do field que no case é o seu [color=blue:6e915f734c]ID[/color:6e915f734c].
Assim que vc faz o seu Master/Detail.
Qlqr coisa postae.
Att,
.lg.
Gostei + 0
25/08/2009
Elip2008
e dois ClientDataSet (cdsPai, cdsFilho) da guia Data Access.
Na propriedade sql do ADOQueryPai adicione:
select * from tabela_pai
Na propriedade sql do ADOQueryFilho adicione:
select * from tabela_filho where idPai = :idPai
//O parametro acima configurado precisar ser o mesmo que o campo ID da tabela_pai.
E ainda na sua propriedade Parameters selecione o parameter criado idPai e na
propriedade DataType selecione ftInteger. Agora o parametro estah configurado.
Adicione os campos aos ADOQuery´s, clicanco 2 vezes nos mesmos e clicando em Ctrl+F.
Na propriedade DataSet do dsMaster selecione o ADOQueryPai e na propriedade DataSource do
ADOQueryFilho selecione o dsMaster.
Na propriedade DataSet do dspPai selecione ADOQueryPai e na proprieade ProviderName do
cdsPai selecione dspPai, clique 2 vezes no cdsPai e de Ctrl+F para adicionar todos os
campos no cdsPai, veja que mais um campo eh criado, ADOQueryFilho, do tipo TDataSetField.
Agora na propriedade DataSetField do cdsFilho selecione cdsPaiADOQueryFilho. De dois clique
no cdsFilho e de Ctrl+F para adicionar os campos.
Na propriedade DataSet do DataSourcePai selecione o cdsPai.
Na propriedade DataSet do DataSourceFilho selecione o cdsFilho.
Agora quando vc precisar dah um insert, vc darah apenas no cdsPai. Porque tudo que voce fizer com
Pai serah transmitido para o filho. Lembrando que para Salvar Alteracoes, jah fica um pouco
diferente que nos ADoTable ou ADOQuery, ficando assim:
em delete:
cdsPai.Delete;
cdsPai.ApplyUpdates(0);
em Post:
cdsPai.ApplyUpdates(0);
em Cancel:
cdsPai.CancelUpdates;
Se voce tiver configurado mestre detalhe no seu banco de dados Access, precisa ainda modificar
a propriedade Options do dspPai poCascadeUpdades para True e poCascadeDeletes para True.
Espero ter ajudado. Qualquer coisa soh postar.
Gostei + 0
25/08/2009
Kirow
Erro de sintaxe (operador faltando) na expressão de consulta ´Codigo = ? Codigo
Gostei + 0
25/08/2009
Elip2008
codigo = :codigo, naum pode ser ´?´. e naum pode haver espaços entre os ´:´ e nome do parametro.
Boa sorte ai..
Gostei + 0
25/08/2009
Kirow
Brigadu!!!!
Gostei + 0
25/08/2009
Kirow
Brigado!!!!
Gostei + 0
25/08/2009
Elip2008
show d bola, c vc tiver ainda alguma como trabalhar com essa ferramenta
com certeza será resolvida. [url]https://www.devmedia.com.br/articles/viewcomp.asp?comp=14077[/url]
Gostei + 0
26/08/2009
Kirow
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)