Fórum Zquery post depois de consulta com inner join #552954
02/05/2016
0
Boa tarde, estou utilizando um zquery no delphi 7, porem, minha SQL faz a uniao de varias tabelas trazendo campos estrangeiros dessas tabelas, acontece que depois que gera o filtro da consulta atraves do select nao consigo salvar dados caso tenho que alterar alguma informacao, o zquery passa pelo post mas deve acontecer alguma excessao devido os campos estrangeiros.
veja meu select
ja alterei na propriedade providerflags (pflnupdate e pflnwhere) para false dos campos estrangeiros mas mesmo assim nao funciona.
o que tenho que fazer para que os campos estrangeiros nao entre no update.
veja meu select
db_MvtBancaria.Close;
db_MvtBancaria.Params.Clear;
db_MvtBancaria.SQL.Clear;
db_MvtBancaria.SQL.Add('select tbl_mvtbancaria.codigo, tbl_mvtbancaria.nrodocto, tbl_mvtbancaria.datalancto, tbl_mvtbancaria.datacomp, tbl_mvtbancaria.valor, ');
db_MvtBancaria.SQL.Add('tbl_mvtbancaria.complemento, tbl_mvtbancaria.id_fornecedor, coalesce( (SELECT tbl_fornecedor.nome FROM tbl_fornecedor tbl_fornecedor WHERE tbl_fornecedor.codfornecedor = tbl_mvtbancaria.id_fornecedor), '''' ) as FAVORECIDO, ');
db_MvtBancaria.SQL.Add('tbl_mvtbancaria.nominal, tbl_mvtbancaria.tipo, tbl_mvtbancaria.operacao, tbl_mvtbancaria.situacao, tbl_mvtbancaria.datacanc, tbl_mvtbancaria.impressao, tbl_mvtbancaria.conciliado, tbl_mvtbancaria.codctabancaria, ');
db_MvtBancaria.SQL.Add('tbl_mvtbancaria.credito, tbl_mvtbancaria.debito, tbl_mvtbancaria.empenho, tbl_mvtbancaria.dt_cadastro, tbl_mvtbancaria.status, tbl_mvtbancaria.dt_alteracao, tbl_mvtbancaria.receita_despesa, ');
db_MvtBancaria.SQL.Add('tbl_banco.numerobanco as NR_BANCO, tbl_banco.nome as N_BANCO, tbl_agencia.endereco as AG_ENDERECO, tbl_contabancaria.numeroconta as NR_CONTA, tbl_mvtbancaria.codhistorico, tbl_historico.nome as HISTORICO, tbl_historico.operacao as H_OPERACAO, ');
db_MvtBancaria.SQL.Add('tbl_mvtbancaria.dataconc, tbl_mvtbancaria.nrodoc, tbl_mvtbancaria.credito, tbl_mvtbancaria.debito, tbl_mvtbancaria.empenho, tbl_mvtbancaria.dt_cadastro, tbl_mvtbancaria.status, tbl_mvtbancaria.dt_alteracao, ');
db_MvtBancaria.SQL.Add('tbl_mvtbancaria.conta, tbl_mvtbancaria.tipooperacao, tbl_mvtbancaria.rec_des, tbl_mvtbancaria.receita_despesa, tbl_mvtbancaria.ano ');
db_MvtBancaria.SQL.Add('from tbl_mvtbancaria ');
db_MvtBancaria.SQL.Add('inner join tbl_contabancaria on (tbl_mvtbancaria.codctabancaria = tbl_contabancaria.codcontabancaria) ');
db_MvtBancaria.SQL.Add('inner join tbl_agencia on (tbl_contabancaria.codagencia = tbl_agencia.codagencia) ');
db_MvtBancaria.SQL.Add('inner join tbl_banco on (tbl_agencia.codbanco = tbl_banco.codbanco) ');
db_MvtBancaria.SQL.Add('inner join tbl_historico on (tbl_mvtbancaria.codhistorico = tbl_historico.codhistorico) ');
wTudo := '(tbl_mvtbancaria.DATALANCTO >= :AData1) AND (tbl_mvtbancaria.DATALANCTO <= :AData2)';ja alterei na propriedade providerflags (pflnupdate e pflnwhere) para false dos campos estrangeiros mas mesmo assim nao funciona.
o que tenho que fazer para que os campos estrangeiros nao entre no update.
Iramar Junior
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)