Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Filtrar parcelas vencidas, pagas e à vencer

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Delphi Filtrar parcelas vencidas, pagas e à vencer

    Pessoal gostaria de uma ajuda, estou desenvolvendo uma aplicação em delphi com firebird e dbexpress, onde tem um formulário com pagamento de várias parcelas. Queria fazer uma filtragem onde o usuário mostre num dbgrid apenas parcelas vencidas, ou parcelas pagas ou parcelas à vencer.
    Desde já agradeço.

  • Font Size
    #2
    atribua três variáveis quaisquer o tipo string, depois atribua um select para cada uma:

    'SELECT (campos da sua tabela) FROM mensalidades WHERE CURDATE()>DATA_VENCTO AND STATUS <> 'PAGA''; //a vencer.

    'SELECT (campos da sua tabela) FROM mensalidades WHERE STATUS = 'PAGA''; //vencidas.

    'SELECT (campos da sua tabela) FROM CLIENTES WHERE CURDATE()<DATA_VENCTO AND STATUS = 'PAGA''; //pagas.

    a partir daqui implemente da forma que achar melhor.

    o ideal é que antes vc d um while nos registros para que seja atribuida ao campo STATUS os valores: paga, vencida ou a vencer.

    Comment


    • Font Size
      #3
      Muito obrigado Leonado Gomes, vou tentar resolver assim que chegar em casa.

      Comment


      • Font Size
        #4
        Não conseguir resolver.

        Comment


        • Font Size
          #5
          tb estou fazendo este controle, com dbexpress nao cosnegui ...
          so consegui quando usei o componente Zeos...

          Comment


          • Font Size
            #6
            procedure TFrm_CReceber.Rd_PraHojeClick(Sender: TObject);
            begin
            Data1:= DataToSql(DateToStr(Date));
            DM_Dados.Q_Receber.Active := False;
            DM_Dados.Q_Receber.SQL.Clear;
            DM_Dados.Q_Receber.SQL.Add('SELECT tblClientes.NOME, TBCRECEBER.* FROM tblClientes LEFT JOIN TBCRECEBER ON tblClientes.id_cli = TBCRECEBER.id_cli WHERE ');
            DM_Dados.Q_Receber.SQL.Add('VENCIMENTO = '+#39+DATA1+#39);
            DM_Dados.Q_Receber.SQL.Add('AND STATUS = ''ABERTO''');
            DM_Dados.Q_Receber.SQL.Add('order by NOME');
            DM_Dados.Q_Receber.Active := True;
            Dbg_Receber.Refresh;
            end;

            procedure TFrm_CReceber.Procura;
            begin
            DM_Dados.Q_Receber.Active := False;
            DM_Dados.Q_Receber.SQL.Clear;
            DM_Dados.Q_Receber.SQL.Add('SELECT tblClientes.NOME, TBCRECEBER.* FROM tblClientes LEFT JOIN TBCRECEBER ON tblClientes.id_cli = TBCRECEBER.id_cli');
            DM_Dados.Q_Receber.SQL.Add(' WHERE STATUS = '+#39 + Pgto + #39);
            DM_Dados.Q_Receber.SQL.Add('order by NOME');
            DM_Dados.Q_Receber.Active := True;
            Dbg_Receber.Refresh;
            end;

            procedure TFrm_CReceber.Rd_VencidasClick(Sender: TObject);
            begin
            Data1:= DataToSql(DateToStr(Date));
            DM_Dados.Q_Receber.Active := False;
            DM_Dados.Q_Receber.SQL.Clear;
            DM_Dados.Q_Receber.SQL.Add('SELECT tblClientes.NOME, TBCRECEBER.* FROM tblClientes LEFT JOIN TBCRECEBER ON tblClientes.id_cli = TBCRECEBER.id_cli');
            DM_Dados.Q_Receber.SQL.Add(' WHERE VENCIMENTO <'+#39+DATA1+#39);
            DM_Dados.Q_Receber.SQL.Add(' AND STATUS = ''ABERTO''');
            DM_Dados.Q_Receber.SQL.Add(' ORDER by NOME');
            DM_Dados.Q_Receber.Active := True;
            Dbg_Receber.Refresh;

            end;


            mais ainda tenho problemas... esta e meu primeiro aplicativo em Delphi

            Comment

            X
            Working...
            X