IBDataSet

Firebird

13/12/2003

Caros amigos Foristas:

Utilizo em uma aplicação Master->Detalhe o componente IBDataSet, onde as propriedades da tabela Master está assim:

-> SelectSQL: Select v.*, c.de_razao from vendas v, cliente c where v.cd_cliente = c.cd_cliente order by v.cd_npedido, v.cd_cliente

-> InsertSQL: Insert into vendas (CD_NPEDIDO, CD_CLIENTE, CD_FORP, DT_VENDA, VL_VENDA, PROCES)
values (:CD_NPEDIDO, :CD_CLIENTE, :CD_FORP, :DT_VENDA, :VL_VENDA, :PROCES)
-> RefreshSQL: Select * from vendas where CD_NPEDIDO = :CD_NPEDIDO and CD_CLIENTE = :CD_CLIENTE


E as propriedades da tabela Detalhe assim:

-> SelectSQL: Select de.*, p.de_prod, p.cd_unid from vendas he, vendas_ap de, produtos p
where de.cd_cliente = he.cd_cliente and
de.cd_prod = p.cd_prod and
de.cd_npedido = he.cd_npedido and
de.cd_npedido = :cd_npedido
order by de.cd_npedido, de.cd_cliente, de.cd_prod

-> InsertSQL: insert into vendas_ap (CD_NPEDIDO, CD_PROD, CD_CLIENTE, QTDE, VL_UN_VENDA, DT_VENDA)
values (:CD_NPEDIDO, :CD_PROD, :CD_CLIENTE, :QTDE, :VL_UN_VENDA, :DT_VENDA)

-> RefreshSQL: Select * from vendas_ap where CD_NPEDIDO = :CD_NPEDIDO and CD_PROD = :CD_PROD and CD_CLIENTE = :CD_CLIENTE

Estou com problemas quando faço o post dos detalhes, que atraves de uma trigger gera o total da NF (Master). A principio o valor não aparece no campo correspondente, o que me leva a aplicar um reflesh na tabela de vendas, mas quando dou o reflesh o campo que contem o nome do cliente some, deixando o campo em branco.
Como resolver isto?

Obrigado e boas festas a todos.

José Roberto


Zekas

Zekas

Curtidas 0

Respostas

Afarias

Afarias

13/12/2003

|Caros amigos Foristas:

e o q seria um Forista???


|-> RefreshSQL: Select * from vendas where CD_NPEDIDO
|= :CD_NPEDIDO and CD_CLIENTE = :CD_CLIENTE

Mude o refresh para ser IGUAL ao SELECT adicionando apenas no WHERE

VENDAS.NUMERO=:NUMERO

(algo assim)


|Estou com problemas quando faço o post dos detalhes, que atraves de
|uma trigger gera o total da NF (Master). A principio o valor não aparece
|no campo correspondente,

Se o valor é gerado na trigerr... vc não vai ver mesmo!! Não até q feche a abra as querys (datasets) novamente -- ou faça um refresh... mas lembre q o refresh atua sobre 1 registro apenas!


|o que me leva a aplicar um reflesh na tabela de vendas, mas quando
|dou o reflesh o campo que contem o nome do cliente some, deixando o
|campo em branco. Como resolver isto?

como disse, mude seus REFRESHSQL ... eles devem ser exatamente igual ao SELECTSQL, com a única diferença de vc adicionar no WHERE a chave primária (como exemplifiquei:: notas.numero=:numero)


T+


GOSTEI 0
POSTAR