Bloco Filho com "Dois Blocos Pai"

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Pessoal, boa tarde.

Estou com um problema aqui no meu serviço, tenho três blocos baseado em tabela chamados "Bloco A", "Bloco B" e "Bloco C". Dai eu preciso fazer a seguinte relação entre eles: Bloco A -> Bloco B e Bloco A -> Bloco C. Até aqui, sem problema, mas quando eu faço a seguinte relação Bloco B -> Bloco C tenho um problema. Se o Bloco B por exemplo não contiver nenhum registro, ele não traz registro algum no Bloco C e não seria isso o que eu preciso. Eu preciso que ele filtre somente se tiver registro.

Não sei se fui claro no meu problema, qualquer coisa grita que tento explicar de outra forma.

Att.

Tiago Pimenta
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Acredito que seu problema seja o não uso de "outer join".
Em resumo, ele faz a junção de tabelas mas "ignora" as que não possuem informação, trazendo "todos os resultados".

Dá uma olhada aqui como se utiliza:
http://psoug.org/reference/joins.html

Se persistir dúvidas, poste-as.
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Noctifero, é exatamente isso que preciso, mas não tem nenhuma opção que eu tenha visto quando vou criar o relacionamento entre os blocos lá no forms !!!
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Cara olha esse link aqui, tem bastante detalhes de como criar um master-detail no forms.

http://www.oracle.com/webfolder/technet ... ailOBE.htm
Avatar do usuário
tiago_pimenta
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 213
Registrado em: Qua, 29 Jun 2011 9:49 am
Localização: Barretos / SP

Noctifero, bom dia.

Vou dar uma olhada no material que você passou, mas não sei se é o que preciso, pois no meu caso não é um caso simples de master-detail, seriam 2 master para 1 detail. Mas vou ler mesmo assim.

Obrigado.
rogenaro
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 232
Registrado em: Sex, 30 Mar 2007 7:26 pm
Localização: Londrina - PR
Rafael O. Genaro

Para simular o outer join no forms, você poderia colocar as tabelas envolvidas na propriedade Query Data Source Name do bloco ( exemplo: emp, dept )
Em seguida, colocar as condições de join na propriedade Where Clause ( exemplo: emp.deptno = dept.deptno (+) )
Por fim, prefixar a coluna utilizada de cada tabela na propriedade Column Name dos itens do bloco (exemplo: emp.empno, dept.deptno), para evitar nomes duplicados.

Isso funcionaria caso o bloco não realize inserts/updates ou deletes... Neste caso seria necessário escrever as trigger ON-INSERT, ON-UPDATE e ON-DELETE para tratar manualmente cada situação.

Mas segundo o que você descreveu, não está muito clara a necessidade do relacionamento do bloco B com o bloco C... Ao que parece, a relação de dependência vem do bloco A...
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 12 visitantes