Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ademilson Moreira

Campo calculado

Recommended Posts

Fiz uma query que retorna vários campos de várias tabelas. Dentre estes campos existe um com o nome de "Tipo".No evento on calcfield da query fiz o seguinte:If tipo = 0 then soma um campo calculado else tipo = 1 then soma outro campo calculado...Ao executar o programa notei que sempre o primeiro registro retorna com os campos nulos. Se eu rodar a query fora do meu sistema os dados retornam corretamente, porém dentro do sistema o primeiro registro é sempre nulo.Alguem sabe o por que disto??O que fazer??ObrigadoBanco de dados: FirebirdConexão: Dbexpress.

Compartilhar este post


Link para o post
Compartilhar em outros sites

select "Tbl059"."Num_os", "Tbl059"."Cod_tpr", "Tbl059"."Tma", "Tbl059"."Imc", "Tbl059"."Dat_exe", "Tbl059"."Inicio", "Tbl059"."Fim", "Tbl059"."Tpr", "Tbl059"."Rmo", "Tbl020"."Nom_tpr", "Tbl059"."Tipo", "Tbl029"."Tip_os", "Tbl041"."Ser_nat"from "Tbl059"left outer join "Tbl020" on (("Tbl020"."Cod_tpr" = "Tbl059"."Cod_tpr") and ("Tbl020"."Tma" = "Tbl059"."Tma") and ("Tbl020"."Imc" = "Tbl059"."Imc"))left outer join "Tbl041" on (("Tbl041"."Cod_tpr" = "Tbl059"."Cod_tpr") and ("Tbl041"."Tma" = "Tbl059"."Tma") and ("Tbl041"."Imc" = "Tbl059"."Imc") and ("Tbl041"."Num_os" = "Tbl059"."Num_os"))left outer join "Tbl029" on ("Tbl029"."Num_os" = "Tbl059"."Num_os")where "Tbl059"."Cod_pro" = :xCod_proand "Tbl059"."Dat_exe" = :xDat_exeorder by "Tbl059"."Inicio"Depois de criar os tfield criei vários campos calculados e no evento on calc field fiz o seguinte.if tipo = 1 then campocalculado1 := tprelse tipo = 2 then campocalculado2 := tprelse tipo = 3 then campocalculado3 := tpr e assim por diante.....O problema que o primeiro registro sempre vem nulo...o segundo vem certo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se a propriedade AutoCalcFields esta como True...E tente rodar passo a passo, peguando desde do momento do .Open da query, e executando via F7 para entrar em todos os procedimentos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Marcio, No componente sqlquery do dbexpress não tem essa propriedade não!!!Tem as seguintes propriedades:activedatasourcegetmetadatamasblobsizenamenometadatanumericmppingobjetviewparamcheckparamsschemanamesqlsqlconnectiontag

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.