Erro DBGrid

Delphi

05/12/2009

Boa noite,

Sou novato aqui no forum, mas já conheço o site a um tempinho, enfim preciso da ajuda de vc's. Estou com pequeno projeto para exercitar o meu aprendizado. Tenho um formulário de consulta onde tem um DBGrid, três edit's e dois buttons. Utilizo o seguinte código para chamar o formulário de Relatório (Quick Report)
procedure TfrmConsEquip.BitBtn2Click(Sender: TObject);
var RelConsEquip: tfrmRelConsCid;
begin
  dm_Dados.sqlConsEquip.ParamByName('Nome_Prod').Value:= edNomeProd.Text; 
  RelConsEquip:= TfrmRelConsCid.Create(Self);
  frmRelConsCid.QuickRep1.PreviewModal;
end;



A minha intenção é a seguinte quando tiver o nome do produto e quiser saber detalhes sobre o mesmo digito no edNome_Prod e faço a pesquisa pelo código abaixo no evento onChange:
dm_Dados.sqlConsEquip.Locate('Equip_Modelo', edNomeProd.Text, [loPartialKey, loCaseInsensitive]);

Até blz, no que vou digitando vai se apróximando do registro em questão, daí quando encontro dou dois cliques sobre o registro que queria e disparo o código no evento OnDblClick:
procedure TfrmConsEquip.DBGrid1DblClick(Sender: TObject);
var RelConsEquip: tfrmRelConsCid;
begin
  dm_Dados.sqlConsEquip.ParamByName('Nome_Prod').Value:= edNomeProd.Text;
  RelConsEquip:= TfrmRelConsCid.Create(Self);
  frmRelConsCid.QuickRep1.PreviewModal;
end;


Tudo até ai funciona bem, chama o relatório e aparece o registro em questão, só que tenho problema se quando abrir o formulário de consulta o registro for um dos primeiros e o usuário quiser dá um duplo clique, PRONTO ai tá a KAKA só aparece no relatório o primeiro registro e ainda tem mais uma coisa a pesquisa está direnciando maiúscula de menuscula como faço para não haver essa distinção?
Fernando Souza

Fernando Souza

Curtidas 0

Respostas

Flaviocsfreitas

Flaviocsfreitas

05/12/2009

Tenta isso

procedure TfrmConsEquip.DBGrid1DblClick(Sender: TObject);
var RelConsEquip: tfrmRelConsCid;
begin
  dm_Dados.sqlConsEquip.ParamByName('Nome_Prod').Value:= edNomeProd.Text;
  RelConsEquip:= TfrmRelConsCid.Create(Self);
  frmRelConsCid.QuickRep1.Prepare;
  frmRelConsCid.QuickRep1.PreviewModal;
end;
GOSTEI 0
Fernando Souza

Fernando Souza

05/12/2009

Bom cara, lhe agradeço pela ajuda, mas não estou no meu micro agora para poder testar e se possível gostaria de saber o que significa
  frmRelConsCid.QuickRep1.Prepare;
pois ao meu entender (na tradução ao pé da letra) é preparar, mas o que está complicado para mim, é saber pq está indo somente o primeiro registro quando deveria ir o registro selecionado.

Desde já agradeço,

Souz@rte
GOSTEI 0
POSTAR