Jak wyszukiwać nazwę wpisaną w edit w dbgrid ?!
Wyszukuj w tabeli czy query a nie w gridzie.
editKey;
FieldByName(DBGrid1.Columns[0].fieldname).AsString:=edit1.text;
{LUB MOZNA TO UZYSKAC POPRZEZ ZAPIS}
FieldByName('Nr').AsString:=edit1.text;
GotoNearest;
Jeśli szukasz w/g pola z indexem to proponuje:
procedure TForm1.Edit1Change(Sender: TObject);
begin
If Edit1.Text <> '' Then
begin
If Table1.FindKey([Edit1.Text]) = False Then ;
begin
Table1.FindNearest([Edit1.Text]); // jesli nie ma szukanego textu to szukaj podobny
...
end;
end;
End;
jeśli w/g nie indeksowanego to:
...
Table1.First;
Table1.Locate('Nazwa_pola',(Edit1.text,[]) ;
...
jeśli szuksz ciągu podobnego (z % lub _ ) to pozostaje query :
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
Var
st : TstringList;
begin
IF key=13 Then
Begin
IF (Pos('%',Edit1.text) > 0) or (Pos('_',Edit1.text) > 0) then
Begin
form1.Edit1.Cursor:=crHourglass;
Application.ProcessMessages;
st := TstringList.Create;
st.Clear;
st.Add('select nazwa_pola1, nazwa_pola2'); // lub *
st.Add('from nazwabazy');
st.Add('Where Nazwa_pola1 LIKE "'+Edit1.text+'"' );
st.Add('Order by Nazwa_pola1'); // sortowanie nie koniecznie
Dm1.Query1.Active := False;
DM1.Query1.SQL := st ;
DM1.Query1.Active := True ;
st.Free;
form1.Edit1.Cursor:=crDefault;
...
Witam.
W czym wyświetlić wynik z wykonanego query.sql można w dbgrid czy w listview, jak to zrobić ?
pozdro
OK, a jak można zresetować numerację Autoinkrementacji w Tabeli?
Nieraz sięzdarza że usuniemy zawartość tabeli a autoinkrementacja zaczyna numerować pierwszy rekord. np od numeru 12 itd.
Ponawiam pytanie jak wyświetlić wyniki z zapytania query.sql w jakim komponencie wyswietlic dane pomocy bo sam nie wpadne na to ;(