Fórum Progress bar em consulta SQL #281386

12/05/2005

0

Pessoal, em primeiro lugar uma Boa tarde para todos. Estou com um problema. Estou fazendo um programa para impressao de relatórios que trabalhará em conjunto com um software academico que já existe.

tem uma combo onde o usuario escolhe o relatorio e um botao com o seguinte codigo(por enquanto so tem dois relatorios este é o codigo de um botao):
 if relatorio.itemindex=1 then
  begin
    if (cbimestre.ItemIndex<>-1) or (cperiodo.text<>´´) or (cturma.text<>´´) or (cdisciplina.text<>´´) then
      begin
        VerificaCampos;
        sql:=´Select distinct(E.CodAluno),P.nome,E.tipoMatricula, D.Nome as disciplina, F.nome as professor, t3.n1,t3.n2,t3.n3 from pessoa p,aluno a,ProfDisc PD,disciplina d,  Funcionario f,enturma e left join´;
        sql:=sql+´ (Select * from (Select * from((Select CodAluno as c1,nota as n1,ano as a1, Coddisciplina as d1,Periodo as p1 from notas where avaliacao=1) as t1 left join (Select CodAluno as c2, nota as n2,ano as a2, Coddisciplina as d2, Periodo as p2 from notas ´;
        sql:=sql+´  where avaliacao=2) t2 on(t1.C1=t2.C2 and t1.a1=t2.a2 and t1.d1=t2.d2 and t1.p1=t2.p2))) as normal left join (Select CodAluno as c3,nota as n3,ano as a3, CodDisciplina as d3,Periodo as p3 from notarecu) pf on (normal.c1=pf.c3 and normal.a1=pf.a3 ´;
        sql:=sql+´ and normal.d1=pf.d3 and normal.p1=pf.p3))t3 on (E.CodALuno=t3.C1 and E.ano=t3.a1 and E.Coddisciplina=t3.d1 and E.periodo=t3.p1) where P.COdPessoa=A.CodPessoa and A.COdAluno=E.CodALuno and E.CodDisciplina=D.Coddisciplina and PD.COddisciplina=´;
        sql:=sql+´D.coddisciplina and F.codfuncionario=Pd.CodFuncionario and PD.Ano=E.Ano and Pd.turma=E.turma and Pd.periodo=E.periodo´+turma+turno+disciplina+´ and E.COdStatus=2 and E.ano=´+ano+´ and E.periodo=´+semestre+´ and E.tipoMatricula=101 order by 2´;
        dm.qconferencia.Close;
        dm.qconferencia.SQL.Clear;
        dm.qconferencia.sql.Add(sql);
        dm.qconferencia.open;
        _conferencia:=T_conferencia.Create(Application);
        _conferencia.QR1.Preview;
        sql:=´Select distinct(E.CodAluno),P.nome,E.tipoMatricula, D.Nome as disciplina, F.nome as professor, t3.n1,t3.n2,t3.n3 from pessoa p,aluno a,ProfDisc PD,disciplina d,  Funcionario f,enturma e left join´;
        sql:=sql+´ (Select * from (Select * from((Select CodAluno as c1,nota as n1,ano as a1, Coddisciplina as d1,Periodo as p1 from notas where avaliacao=1) as t1 left join (Select CodAluno as c2, nota as n2,ano as a2, Coddisciplina as d2, Periodo as p2 from notas ´;
        sql:=sql+´  where avaliacao=2) t2 on(t1.C1=t2.C2 and t1.a1=t2.a2 and t1.d1=t2.d2 and t1.p1=t2.p2))) as normal left join (Select CodAluno as c3,nota as n3,ano as a3, CodDisciplina as d3,Periodo as p3 from notarecu) pf on (normal.c1=pf.c3 and normal.a1=pf.a3 ´;
        sql:=sql+´ and normal.d1=pf.d3 and normal.p1=pf.p3))t3 on (E.CodALuno=t3.C1 and E.ano=t3.a1 and E.Coddisciplina=t3.d1 and E.periodo=t3.p1) where P.COdPessoa=A.CodPessoa and A.COdAluno=E.CodALuno and E.CodDisciplina=D.Coddisciplina and PD.COddisciplina=´;
        sql:=sql+´D.coddisciplina and F.codfuncionario=Pd.CodFuncionario and PD.Ano=E.Ano and Pd.turma=E.turma and Pd.periodo=E.periodo´+turma+turno+disciplina+´ and E.COdStatus=2 and E.ano=´+ano+´ and E.periodo=´+semestre+´ and (E.tipoMatricula=102 or E.tipoMatricula=103) order by 2´;
        dm.qconferencia.Close;
        dm.qconferencia.SQL.Clear;
        dm.qconferencia.sql.Add(sql);
        dm.qconferencia.open;
        _conferencia2:=T_conferencia2.Create(Application);
        _conferencia2.QR1.Preview;
      end
    else
      MessageBox(handle,´Os seguintes campos devem estar marcados para a impressão do Relatório de Assinaturas: Bimestre,Periodo,Turma,Disciplina.´,´Aviso do Sistema´,mb_ok+mb_iconExclamation);
  end;
´
É o seguinte eu gostaria de colocar um progressbar para a consulta. Quando o usuario selecionar o relatorio e clicar no botao ativasse o progressBar mas não sei qual o parametro usar para tal coisa, como determinar o tempo da consulta?

Obrigado!
Daniel Miranda Cruz


Daniel_mc

Daniel_mc

Responder

Posts

12/05/2005

Rjun

Que Banco você esta usando ? Que tecnologia de acesso ?

Fazer isso é meio complicado, porque a consulta SQL é algo que quem faz é o BD e não seu aplicativo. Eu consegui fazer algo usando ADO mas o resultado não foi satisfatório.


Responder

Gostei + 0

12/05/2005

Rjun

Que Banco você esta usando ? Que tecnologia de acesso ?

Fazer isso é meio complicado, porque a consulta SQL é algo que quem faz é o BD e não seu aplicativo. Eu consegui fazer algo usando ADO mas o resultado não foi satisfatório.


Responder

Gostei + 0

12/05/2005

Nerdex

Barra de progressão para consultas SQL só no tempo do BDE dá...


Responder

Gostei + 0

12/05/2005

Daniel_mc

Eu uso Mysql e ZeosLib com componente de acesso.
Não consigo ter uma ideia de como fazer isto ou até mesmo de alguma outra forma


Responder

Gostei + 0

16/05/2005

Daniel_mc

SOBE


Responder

Gostei + 0

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

Aceitar