GARANTIR DESCONTO

Fórum Listbox - Problemas para mandar os dados de um select? #343228

07/07/2007

0

Pessoal, tem como fazer um listbox receber os dados de um select assim, nesta ordem

EMPRESA TAL LTDA -------------------------------- FUNCIONARIO TAL 1 ------------------------------- LISTAGEM PROVENTOS E DESCONTOS --------------------------------------------- 001-SALARIO 002-HORAS EXTRAS 500-INSS ********************************* FUNCIONARIO TAL 2 ------------------------------- LISTAGEM PROVENTOS E DESCONTOS --------------------------------------------- 001-SALARIO 500-INSS ********************************* FUNCIONARIO TAL 3 ------------------------------- LISTAGEM PROVENTOS E DESCONTOS --------------------------------------------- 001-SALARIO 005-ADICIONAL NOTURNO 007-INSALUBRIDADE 500-INSS 711-PENSAO ALIMENTICIA ********************************* ... ... ...


Ou seja em sequencia de funcionario, eu nao estou conseguindo fazer

Tem que ser por este select abaixo, pois este select faz uma verificação antes na tabela (no caso 2 tabelas) pra depois passar para o ListBox

Soh que esta misturando tudo, ja fiz algumas mudanças no codigo, mais sem sucesso:

Bom o codigo que estou tentando criar eh este aqui:
procedure TFAutoCalc.btCalcularClick(Sender: TObject);
var
Eini, Efin, Fini, Ffin : Integer;
begin
EIni:=StrToInt(e1.text); //-variavel recebendo valor do edit EMPRESAS
EFin:=StrToInt(e2.text); //-variavel recebendo valor do edit EMPRESAS
FIni:=StrToInt(e3.text); //-variavel recebendo valor do edit FUNCIONARIOS
FFin:=StrToInt(e4.text); //-variavel recebendo valor do edit FUNCIONARIOS
dm.qRestrFolha.sql.clear;
dm.qRestrFolha.sql.add(´select A.id_empresa, A.id_func, A.nome, A.salario, B.marcar, B.descricao, B.formula from SALARIO_M A left join FORMULAS B on B.id_gerarformula = A.id_sal´);
dm.qRestrFolha.sql.add(´WHERE (A.id_empresa between :pEini and :pEfin) and (A.id_func between :pFini and :pFfin) and (B.marcar = ´´True´´) group by 1,2,3,4,5,6,7 order by 1´);//condiçao se nao tiver marcado gera restricao
//--passando os parametros dos edits
dm.qRestrFolha.parambyname(´pEini´).asInteger := EIni;
dm.qRestrFolha.parambyname(´pEfin´).asInteger := EFin;
dm.qRestrFolha.parambyname(´pFini´).asInteger := FIni;
dm.qRestrFolha.parambyname(´pFfin´).asInteger := FFin;
dm.qRestrFolha.open;
//***************************************************
if dm.qRestrFolha.Bof and dm.qRestrFolha.Eof Then
begin
   showmessage(´Aviso! Ha restriçoes nesta consulta. Esses avisos impedem a geração da Folha de Pagamento. Para verificar as restriçoes clique no botão RESTRIÇÃO´);
   btRestricao.Enabled:=true;//trata botoes
   btCalcular.Enabled:=false;//trata botoes
end else
   btRestricao.Enabled:=False; //trata botoes
   btCalcular.Enabled:=true; //trata botoes
   Height:=707; //aumenta o tamanho do form para mostrar outras opções
   //**************Comando do ListBox******************
   fGerarFolhaMes.LbLista.Clear;  //-Limpando ListBox
   fGerarFolhaMes.LbLista.Items.Add(´================================================================================´);
   fGerarFolhaMes.LbLista.Items.Add(´Data que foi gerada a Folha : ´+´ - ´+ DateToStr(now)+´ - ´+TimeToStr(now));
   fGerarFolhaMes.LbLista.Items.Add(´================================================================================´);
   fGerarFolhaMes.LbLista.Items.Add(dm.qRestrFolha.fieldbyname(´id_EMPRESA´).AsString+´ - ´+dm.qEmpresa.fieldbyname(´empresa´).AsString);
   fGerarFolhaMes.LbLista.Items.Add(´================================================================================´);
   dm.qRestrFolha.DisableControls; //desativa os controles
   dm.qRestrFolha.First;
   while not dm.qRestrFolha.Eof do
   begin
     fGerarFolhaMes.LbLista.Items.Append(dm.qRestrFolha.fieldbyname(´id_func´).AsString+´ - ´+dm.qRestrFolha.fieldbyname(´nome´).AsString);
     fGerarFolhaMes.LbLista.Items.Append(´Salario Base para Calculos: ´+dm.qRestrFolha.fieldbyname(´salario´).AsString);
     fGerarFolhaMes.LbLista.Items.Append(´Proventos/Descontos Ativos:´);
     fGerarFolhaMes.LbLista.Items.Append(´================================================================================´);
        //--Passando a listagem para o ListBox
        fGerarFolhaMes.LbLista.Items.Add(dm.qRestrFolha.fieldbyname(´descricao´).AsString+´ - ´+dm.qRestrFolha.fieldbyname(´formula´).AsString);
        dm.qRestrFolha.Next; //passa pra frente
        dm.qRestrFolha.EnableControls; //ativa os controles
     fGerarFolhaMes.LbLista.Items.Append(´********************************************************************************´);
   end;
   fGerarFolhaMes.ShowModal;
end;


Ja terntei com items.append e tambem com items.add e nada fica tudo embolado.

A SQL esta filtrando certo, meu problema eh excluisvamente como passar por listbox do jeito que esta citado logo acima.

Mais pra frentevou ter que fazer um select listando todas empresas, mais isso fica pra depois, no momento preciso somente que lista somente uma empresa todos os funcionarios que satisfaça a condição do where.


Grato a ajuda de todos
Adriano.


Adriano_servitec

Adriano_servitec

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar