Ajuda com SQL query

Delphi

24/01/2014

Tenho essa Query e preciso editar o campo "STATUS" Tipo depois que eu executo com o
 DataModuleGeral.qryPesquisaContasPagar.Open;
que mostrar tudo que ela buscou preciso editar o campo STATUS sem que muda na tabela como posso fazer isso?
SELECT 
     T1.CODIGO_MOVIMENTACAO, 
     T1.VALOR_NOTA, 
     T1.DATA_EMISSAO, 
     T1.USUARIO_CADASTRO AS STATUS, 
     T1.VALOR_VENCIMENTO1, 
     T1.VALOR_VENCIMENTO2,
     T1.VALOR_VENCIMENTO3,
     T1.DATA_VENCIMENTO1, 
     T1.DATA_VENCIMENTO2, 
     T1.DATA_VENCIMENTO3, 
     T1.VALOR_PAGAMENTO1, 
     T1.VALOR_PAGAMENTO2, 
     T1.VALOR_PAGAMENTO3, 
     T1.DATA_PAGAMENTO1, 
     T1.DATA_PAGAMENTO2,
     T1.DATA_PAGAMENTO3,
     T1.VALOR_JUROS1, 
     T1.VALOR_JUROS2, 
     T1.VALOR_JUROS3, 
     T1.VALOR_DESCONTO1, 
     T1.VALOR_DESCONTO2, 
     T1.VALOR_DESCONTO3, 
     T2.NOME_FORNECEDOR, 
     T1.DESCRICAO 
FROM 
     CONTAS_PAGAR T1, 
     FORNECEDORES T2
WHERE 
	        'T1.FORNECEDOR = T2.NOME_FORNECEDOR 
Eduardo Mendonça

Eduardo Mendonça

Curtidas 0

Respostas

Alan Silva

Alan Silva

24/01/2014

Olá. Qual o banco que você está utilizando? Não sei se entendi direito, mais em FIREBIRD quando preciso mandar uma informação mais limpa para o usuário sem alterar no banco utilizo CASE:

select ID,
DATA,
DESCRICAO,
VALOR,
Case TIPO
when 'C' then 'Crédito'
when 'D' then 'Débito'
else 'Campo em branco ou valor incorreto'
end as TIPO_DE_LANCAMENTO
from CAIXA;

Bom espero ter ajudado. E se não for isso que precisa. Desculpe.

Att.
GOSTEI 0
Eduardo Mendonça

Eduardo Mendonça

24/01/2014

bom dia!

Assim depois que a query é executada eu faço uns testes para poder editar os campos da consulta
você sabe alguma maneira de editar essa consulta. meu código esta assim, só que de um erro "qryPesquisaContasPagar: Cannot modify a read-only dataset." ai eu seto o requestLive Truee ele da outro erro " Table is read only.". só que não quero gravar na tabela e sim editar a consulta sem alterar a tabela

    DataModuleGeral.qryPesquisaContasPagar.Open;
    DataModuleGeral.qryPesquisaContasPagar.First;
    while not DataModuleGeral.qryPesquisaContasPagar.Eof do
    begin
      zSaldo := ((DataModuleGeral.tbContasPagarVALOR_VENCIMENTO1.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO2.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO3.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO4.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO5.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO6.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO7.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO8.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO9.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO10.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO11.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_VENCIMENTO12.AsCurrency)+
                 (DataModuleGeral.tbContasPagarVALOR_JUROS1.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS2.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS3.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS4.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS5.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS6.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS7.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS8.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS9.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS10.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS11.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_JUROS12.AsCurrency)-
                 (DataModuleGeral.tbContasPagarVALOR_PAGAMENTO1.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO2.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO3.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO4.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO5.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO6.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO7.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO8.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO9.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO10.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO11.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_PAGAMENTO12.AsCurrency)-
                 (DataModuleGeral.tbContasPagarVALOR_DESCONTO1.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO2.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO3.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO4.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO5.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO6.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO7.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO8.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO9.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO10.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO11.AsCurrency+
                  DataModuleGeral.tbContasPagarVALOR_DESCONTO12.AsCurrency));
      DataModuleGeral.qryPesquisaContasPagar.Edit;    //Não esta Funcionado
      if DataModuleGeral.tbContasPagarVALOR_PAGAMENTO1.AsCurrency = 0 then
        DataModuleGeral.qryPesquisaContasPagar.FieldByName('STATUS').AsString := 'ABERTO';
      if (DataModuleGeral.tbContasPagarVALOR_PAGAMENTO1.AsCurrency > 0) and (zSaldo > 0) then
        DataModuleGeral.qryPesquisaContasPagar.FieldByName('STATUS').AsString := 'PARCIAL';
      if zSaldo = 0 then
        DataModuleGeral.qryPesquisaContasPagar.FieldByName('STATUS').AsString := 'LIQUIDADO';
      DataModuleGeral.qryPesquisaContasPagar.Post;
      DataModuleGeral.qryPesquisaContasPagar.Next;
    end;
  end;
GOSTEI 0
Carlos Amaral

Carlos Amaral

24/01/2014

Olá, boa tarde !!

Query com join , vc não consegue editar...
"FROM
CONTAS_PAGAR T1,
FORNECEDORES T2"

Para fazer o que você quer, somente utilizando a CONTAS_PAGAR.


Um abraço,

Carlos
GOSTEI 0
POSTAR