Form içinde arama yaparken Mrmarman hocamın databasedeki bir alanı combobox da listeleme kodunu buldum;
Bu kodu kısmen kendime göre uyarladım, fakat (AramaYap(TComboBox(Sender).Text, Ad);) bu alanda run aşamasında hata alıyorum "hata kodu yok"
Not: Mrmarman hocam ADOQuery1 kullanmış ben FDQuery1 olarak değiştirdim...
Kod: Tümünü seç
procedure TForm1.ComboBox2KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Ad: String;
begin
with KayitlarListele do
begin
Close;
SQL.Clear;
SQL.Add('Select * From KAYITLAR');
SQL.Add('Where PROGRAMADI Like ' + QuotedStr('%' + ComboBox2.Text + '%'));
Prepared := True;
Open;
if Not IsEmpty then // Kayıt Varsa
begin
Ad := FieldByName('PROGRAMADI').AsString;
with KayitlarListele do
begin
if Key <> vk_Return then
begin
AramaYap(TComboBox(Sender).Text, Ad);
TComboBox(Sender).Items.Clear;
TComboBox(Sender).AutoComplete := False;
TComboBox(Sender).DroppedDown := True;
while Not KayitlarListele.Eof do
begin
TComboBox(Sender).Items.Add(FieldByName('PROGRAMADI').AsString);
Next;
end;
TComboBox(Sender).SelStart := length(TComboBox(Sender).Text);
TComboBox(Sender).SetFocus;
end
else
begin
TComboBox(Sender).DroppedDown := False;
end;
end;
end;
end;
end;
Kod: Tümünü seç
procedure AramaYap(strAra: String; AdoQuery: TADOQuery);
begin
With AdoQuery do
begin
Active := False;
SQL.Clear;
SQL.Add('SELECT PROGRAMADI From KAYITLAR');
SQL.Add('WHERE 1=1');
SQL.Add('AND ROGRAMADI like ' + QuotedStr(strAra + '%') + ' ORDER BY ROGRAMADI');
Active := True;
end;
end;