mestre/detale e detalhe do detalhe
02/12/2005
0
Usando dbexpress + firebird e nested Datasets
Alguém sabe como fazer e possa me ajudar
Agradeço antecipadamente :?:
Sergiowilson.sp
Posts
02/12/2005
Bruno Belchior
02/12/2005
Emerson Nascimento
você faz com o detalhe do detalhe, da mesma forma que fez do mestre para o detalhe.
assim:
[dataset_mestre]
commandtext = select * from tabelaprincipal
[datasource_mestre]
dataset = dataset_mestre
[dataset_detalhe]
command = select * from tabela_detalhe where campo_detalhe = :campo_mestre
datasource = datasource_mestre
[datasource_detalhe] <- só é necessário porque teremos outro ´nível´
dataset = dataset_detalhe
[dataset_detalhe_do_detalhe]
command = select * from tabela_detalhe_do_detalhe where campo_detalhe_do_detalhe = :campo_detalhe
datasource = datasource_detalhe
02/12/2005
Emerson Nascimento
imaginando a seguinte estrutura:
[bancos]
id_banco
banco
nome
[agencia]
id_Agencia
id_banco
agencia
endereco
[conta]
id_conta
id_agencia
numerodaconta
poderíamos ter:
[dataset_bancos]
commandtext = select * from bancos
[datasource_bancos]
dataset = dataset_bancos
[dataset_agencias]
command = select * from agencias where (1)id_banco = (2):id_banco
datasource = datasource_bancos
[datasource_agencia] <- só é necessário porque teremos outro ´nível´
dataset = dataset_agencias
[dataset_contas]
command = select * from contas where (3)id_agencia = (4):id_agencia
datasource = datasource_agencias
(1) o campo de ligação entre a tabela agencias e a tabela bancos
(2) esse parâmetro deve ter o mesmo nome do campo de ligação na tabela bancos
(3) o campo de ligação entre a tabela contas e a tabela agências
(4) esse parâmetro deve ter o mesmo nome do campo de ligação na tabela agencias
note que nas condições de relacionamento pode haver mais de um campo. por exemplo:
[bancos]
banco
nome
[agencia]
agencia
banco
endereco
[conta]
conta
agencia
banco
numerodaconta
[dataset_bancos]
commandtext = select * from bancos
[datasource_bancos]
dataset = dataset_bancos
[dataset_agencias]
command = select * from agencias where banco = :banco
datasource = datasource_bancos
[datasource_agencia] <- só é necessário porque teremos outro ´nível´
dataset = dataset_agencias
[dataset_contas]
command = select * from contas where banco = :banco and agencia = :agencia
datasource = datasource_agencias
Clique aqui para fazer login e interagir na Comunidade :)