GARANTIR DESCONTO

Fórum Preciso de ajuda com uma busca. #184071

24/09/2003

0

Tenho um formulário de cadastro de clientes. Ao clicar em ´Localizar´ o seguinte código é executado:

Dm.tbClientes.IndexName:=´idxTelefone´;
FmBuscaCli.ShowModal;
Dm.tbClientes.IndexName:=´´;


[b:76d578e152]O form ´FmBuscaCli´ tem o seguinte código:[/b:76d578e152]


procedure TFmBuscaCli.Edit1Change(Sender: TObject);
begin
dm.TbClientes.FindNearest([edit1.text]);
end;

procedure TFmBuscaCli.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=38 then dm.TbClientes.Prior;
if Key=40 then dm.TbClientes.Next;

end;

procedure TFmBuscaCli.BitBtn1Click(Sender: TObject);
begin

Close;
end;

procedure TFmBuscaCli.FormCreate(Sender: TObject);
var hfechar: THANDLE;
hMenuFechar: HMenu;
begin
hfechar := Self.Handle;
if (hfechar <> 0) then
begin
hMenuFechar := GetSystemMenu(hfechar, FALSE);
if (hMenuFechar <> 0) then
DeleteMenu(hMenuFechar, SC_CLOSE, MF_BYCOMMAND);

end;

end;

procedure TFmBuscaCli.FormShow(Sender: TObject);
begin
edit1.Clear;
Edit1.SetFocus
end;

end.


Essa codificação faz uma busca na tabela de clientes pelo Campo ´Telefone´. Como mudar a busca descrita acima para o campo ´Nome´? Não posso modificar muito esse código, pois o mesmo interage com demais forms.

Sou iniciante em Delphi, desde já eu agradeço!


Flaviolrf

Flaviolrf

Responder

Posts

24/09/2003

Marcelo.c

Olhando rapidamente e se me lembro bem, basta trocar o índice.

Você pode criar um botão e no evento Onclick:

Dm.tbClientes.IndexName:=´idxNome´;


Responder

Gostei + 0

24/09/2003

Flaviolrf

Já tentei, o erro gerado diz que o Índice não existe! Como criar o Indice então?


Responder

Gostei + 0

24/09/2003

Marcelo.c

Então, abra sua tabela através do DataBase Desktop e crie um índice secundário.

Acabou de me ocorrer que talvez você possa utilizar a propriedade IndexFieldNames diretamente na TTable ou TQuery, eliminando a necessidade de criação de um índice no arquivo.

Exemplo:

No evento Onclick de um botão:

Table.IndexFieldNames:=´Nome´;

Experimente, acho que pode funcionar, pelo menos para ordenação com clique no título coluna do DBGrid funciona.

Se não funcionar, a saída será realmente criar o índice.

Estamos aí...


Responder

Gostei + 0

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

Aceitar