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
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
Curtir tópico
+ 0
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...
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;
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
Clique aqui para fazer login e interagir na Comunidade :)