dbgrid arama hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ishak27
Üye
Mesajlar: 21
Kayıt: 01 Nis 2007 11:58
Konum: Gaziantep
İletişim:

dbgrid arama hatası

Mesaj gönderen ishak27 »

İyi günler,


Access veritabanındaki bilgileri dbgridde listeliyorum.
Listelediğim kayıtları bir edit yardımıyla aramak istiyorum.
Buraya kadar herşey güzel

Kod: Tümünü seç

ADOTable1.Filtered:=true;
ADOtable1.Filter:='Adi like '+QuotedStr('%'+Edit1.Text+'%');
bu kodlar ile arama yapıyorum yalnız edit in içini sildiğim zaman
Yanlış türdeki değerler kabul edilebilir aralık dışında veya bir basşkasıyla çakışan bağımsız değişkenler kullanılıyor.
Hatasını almaktayım.
Yardımlarınızı rica ederim.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: dbgrid arama hatası

Mesaj gönderen hi_selamlar »

ishak27 yazdı:İyi günler,

Kod: Tümünü seç

ADOTable1.Filtered:=true;
ADOtable1.Filter:='Adi like '+QuotedStr('%'+Edit1.Text+'%');

Kod: Tümünü seç

if edit1.text<>'' then
 table1.filter:=True
else
table1.filter:=False;
Herkes cahildir, bazi konularda.
ishak27
Üye
Mesajlar: 21
Kayıt: 01 Nis 2007 11:58
Konum: Gaziantep
İletişim:

Re: dbgrid arama hatası

Mesaj gönderen ishak27 »

Cevap için tşk ederim yalnız hata verdi

Kodlar aşağıda

Kod: Tümünü seç

procedure TForm1.Edit1Change(Sender: TObject);
begin
ADOTable1.Filtered:=true;
ADOtable1.Filter:='Adi like '+QuotedStr('%'+Edit1.Text+'%');
if edit1.text<>'' then
ADOTable1.Filter:=True
else
ADOTable1.Filter:=False;

end;
end.
Hata Kodu

Kod: Tümünü seç

[Error] Unit1.pas(96): Incompatible types: 'String' and 'Boolean'
[Error] Unit1.pas(97): Incompatible types: 'String' and 'Boolean'
ertank
Kıdemli Üye
Mesajlar: 1668
Kayıt: 12 Eyl 2015 12:45

Re: dbgrid arama hatası

Mesaj gönderen ertank »

ishak27 yazdı:Cevap için tşk ederim yalnız hata verdi

Kodlar aşağıda

Kod: Tümünü seç

procedure TForm1.Edit1Change(Sender: TObject);
begin
ADOTable1.Filtered:=true;
ADOtable1.Filter:='Adi like '+QuotedStr('%'+Edit1.Text+'%');
if edit1.text<>'' then
ADOTable1.Filter:=True
else
ADOTable1.Filter:=False;

end;
end.
Hata Kodu

Kod: Tümünü seç

[Error] Unit1.pas(96): Incompatible types: 'String' and 'Boolean'
[Error] Unit1.pas(97): Incompatible types: 'String' and 'Boolean'

Merhaba,

Aşağıdaki şekilde deneyebilir misiniz?

Kod: Tümünü seç

procedure TForm1.Edit1Change(Sender: TObject);
begin
  Edit1.Text := Trim(Edit1.Text);
  ADOTable1.Filtered := False;
  ADOtable1.Filter := 'Adi like ' + QuotedStr('%' + Edit1.Text + '%');
  ADOTable1.Filtered := Edit1.Text <> '';
end;
ishak27
Üye
Mesajlar: 21
Kayıt: 01 Nis 2007 11:58
Konum: Gaziantep
İletişim:

Re: dbgrid arama hatası

Mesaj gönderen ishak27 »

Çok teşekkür ederim.
ishak27
Üye
Mesajlar: 21
Kayıt: 01 Nis 2007 11:58
Konum: Gaziantep
İletişim:

Re: dbgrid arama hatası

Mesaj gönderen ishak27 »

ertank bey sizden ricam mesela ben 2. bi form oluşturuyorum bu form da da yinme aynı şekilde dbgrid ve fieldler var
ben bunları dbgride kaydettiğim zaman form1.deki tablomunda aynı anda güncellenmesini istiyorum bunu nasıl yapabilirim ?
ertank
Kıdemli Üye
Mesajlar: 1668
Kayıt: 12 Eyl 2015 12:45

Re: dbgrid arama hatası

Mesaj gönderen ertank »

1- Uygulama Form1 ve Form2 arasında nasıl geçiş yapıyor bilinmiyor. Bu anlamda ben Form1 açık iken Form2.ShowModal() şeklinde gösterildiğini farzediyorum.
2- Ayrıca, Form2 içinde kullanılan Database ve Tablo Form1 ile aynı mı bilinmiyor. Ben aynı olduğunu farzediyorum.
3- Bunlar dışında Form2'nin unit adının Unit2 olduğunu ve Form2'nin AutoCreate form listesinde olmadığını farzediyorum.

Yukarıdaki koşullarda aşağıdaki gibi bir kod yazmak mümkün olabilir.

Kod: Tümünü seç

uses
  Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Screen.Cursor := crHourGlass;
  Form2 := TFrom2.Create(nil);
  try
    Form2.ShowModal();
    ADOTable1.Refresh();
  finally
    Form2.Free();
    Screen.Cursor := crDefault;
  end;
end;
Cevapla