Fórum 2 Querys numa QRBand!!!! Ajudem-me, por favor! #184869

29/09/2003

0

Caros amigos,

Estou com um grande problema preciso fazer um relatório que está tirando meu sossego, rs. Estou trabalhando num sistema que controla o cartão de ponto de funcionários. Preciso colocar numa mesma QRBand horários de entrada e de saída, estou usando p/ cada um uma Query, só que o DataSet da QRBand (Detail) só aceita uma Query, como posso fazer com que apareça o resultado das 2 Querys nas mesma QRBand? Lembrando que se eu coloco uma Query o resultado da outra repete o primeiro registro...

Desde já agradeço...

Joey


Joey

Joey

Responder

Posts

29/09/2003

Joilson_gouveia

Vc deve fazer uma única consulta(query) que retorne os dados que precisa, e não duas querys. Ou seja, o seu problema não é com o QuickReport e sim com SQLs...

Baixe apostila(s) de SQL desse site ou de outros do gênero e monte a consulta que vc precisa.

Para uma melhor ajuda, poste o código das consultas no Fórum para que possamos ver o que fazer...


Responder

Gostei + 0

29/09/2003

Joey

Caro Joilson,

Acho que não fui claro. O meu problema é mais complexo. Os registro q quero que apareçam na QRBAnd pertencem a uma tabela, e ao mesmo campo. Tanto entrada como saída são registrados no mesmo campo da tabela. O problema é que preciso mostrar nuam QRBand, 2 QRDBText, e em cada um deles o mesmo campo, só que um é entrada e o outro é saída. Se eu colocar num único SELECT eles aparecem iguais, por isso precisei colocar duas Query, para que cada uma me mostre resultados distintos do mesmo campo. ( Entrada e Saída). Quando eu coloco na propriedade ´DataSet´ da QRBand (SubDatail) uma Query, ela me mostra tuco ok, conforme meu select,mas a outra mostra o primeiro registro e o repete. Enfim, meu problema não é SQL e sim conseguir que numa mesma QRBand (SubDetail) Apareça os registro dessa tabela e que em cada QRDBText linkado num mesmo campo me mostre dados distintos.

exemplo das consultas:

with Q2 do
begin
Close;
SQL.Clear;
SQL.Add(´SELECT * FROM a2003, funcionario, horarios´);
SQL.Add(´WHERE funcionario.id =:Pid´);
SQL.Add(´and funcionario.horario = horarios.id´);
SQL.Add(´and a2003.cracha = funcionario.cracha´);
SQL.Add(´and extract(month from data) =:pdata´);
SQL.Add(´and a2003.horario <= horarios.h_entrada´);
SQL.Add(´group by a2003.data, a2003.horario´);
SQL.Add(´order by a2003.data,a2003.horario´);
ParamByName(´Pid´).Value := StrToInt(txtCampo.Text);
ParamByName(´Pdata´).AsInteger := StrToInt(txtMes.KeyValue);
Open;
end;

with Q3 do
begin
Close;
SQL.Clear;
SQL.Add(´SELECT * FROM a2003, funcionario, horarios´);
SQL.Add(´WHERE funcionario.id =:Pid´);
SQL.Add(´and funcionario.horario = horarios.id´);
SQL.Add(´and a2003.cracha = funcionario.cracha´);
SQL.Add(´and extract(month from data) =:pdata´);
SQL.Add(´and a2003.horario >= horarios.h_saida´);
SQL.Add(´group by a2003.data, a2003.horario´);
SQL.Add(´order by a2003.data,a2003.horario´);
ParamByName(´Pid´).Value := StrToInt(txtCampo.Text);
ParamByName(´Pdata´).AsInteger := StrToInt(txtMes.KeyValue);
Open;
end;


Responder

Gostei + 0

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

Aceitar