Erro no Quick Report quando Filtrado.....
Ola eu criei uma tela para os usuario onde eles clicam para filtrar por nome dos clientes para emitir somente a que eles selecionaram para imprimir, ao invés de imprimir todas as etiquetas sempre... entende... vou passar os códigos ...
Criei uma ComboBox1 --> onde filtra e aparece todos os nomes.
Criei um botão para Filtrar sendo:
Criei mais um botão onde ele pega os dados filtrados para colocar no Quick Report sendo assim.
Mais quando eu faço isso ele filtra certinho mais não me traz somente o registro selecionado ele me traz no quick report todos os registros... eu gostaria de saber o que esta dando de errado com isso.. ?????
Criei uma ComboBox1 --> onde filtra e aparece todos os nomes.
Criei um botão para Filtrar sendo:
procedure TFfiltro.SpeedButton1Click(Sender: TObject);
begin
ComboBox1.Clear;
table1.First;
while not table1.Eof do
begin
ComboBox1.items.Add(table1.fieldbyname(´Nome´).asstring);
table1.Next;
SpeedButton2.Enabled := True; { Abilita o Botão}
end;
Criei mais um botão onde ele pega os dados filtrados para colocar no Quick Report sendo assim.
procedure TFfiltro.SpeedButton2Click(Sender: TObject); var sIndice: string; begin sIndice := table1.IndexName; table1.IndexName := ´inome´; table1.Locate(´Nome´,combobox1.Text,[loCaseInsensitive,lopartialkey]); table1.filter:=´Nome=´+chr(39)+table1.fIELDBYNAME(´Nome´).ASSTRING+chr(39); table1.Filtered:=True; QR.QuickRep1.Preview; QR.close; table1.Filtered := False; table1.IndexName := sIndice; close; end;
Mais quando eu faço isso ele filtra certinho mais não me traz somente o registro selecionado ele me traz no quick report todos os registros... eu gostaria de saber o que esta dando de errado com isso.. ?????
Danielvbhp
Curtidas 0
Respostas
Danielvbhp
13/02/2004
Alguém ja teve este problema????
por favor postem aqui....
por favor postem aqui....
GOSTEI 0
Adilsond
13/02/2004
Você não precisa fazer um filtro para imprimir o registro corrente. Basta não definir nenhum DataSet na proprieda DataSet do QR. Apenas ligue os campos desejados a table que voce fez o locate.
if table1.Locate(´Nome´,combobox1.Text,[]) then
QR.QuickRep1.Preview;
if table1.Locate(´Nome´,combobox1.Text,[]) then
QR.QuickRep1.Preview;
GOSTEI 0