Merhabalar...
Benim geliştirmekde olduğum bir projede arama işlemini aşağıda belirttiğim gibi yapmak istiyorum.
ara:=Table1.Locate('Adı;Soyadı;Sinif',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]);
Benim yapmak istediğin değişiklik ise:
Table1 örneğin Table2 gibi farklı bir db uzantılı paradox dosyası olsun. Bu durumda Table1 de gösterdiğim Adı,Soyadı ve Sinif alanları değişecek.
İşte burada ben elle girdiğim bu alanları table2 nin Field tablosundan almak istiyorum.
Biraz daha açarsam her table nin alan isimlerini aşağıda belirttiğim gibi;
ara:=Table2.Locate('AlanAdi1;AlanAdi2;AlanAdi3',varArrayOf([Edit4.Text,Edit5.Text,Edit5.text]),[]);
yukarıdaki AlanAdi1, AlanAdi2, AlanAdi3 olan alan isimlerini Table2.GetFieldNames. (2. noktadan sonrasındaki kodları bilmiyorum) den alarak
AlanAdi1 , AlanAdi2, AlanAdi3, ... yerine koymak istiyorum.
Bana yardımcı olacak arkadaşlarıma teşekkür ediyorum.
Table ile arama yapmak için alan isimlerini dışardan girmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Table ile arama yapmak için alan isimlerini dışardan gir
Locate dediğin bir function dır, alan adlarını gönderdiğin parametredir ve string tipindedir, bir string değişken oluştur ve tırnak içine yazdığın şekilde field isimleri ekle ve o değişkeni kullan, uğraşacağın yer ise VarArrayOf, bu da aynı, dışarıda bir değişken oluştur, içine değerleri ekle ve o oluşturduğun değişkeni parametre kısmına ekle
Kolay gele
Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Table ile arama yapmak için alan isimlerini dışardan gir
freeman35 teşekkür ederim. Önerini deneyeceğim.
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Table ile arama yapmak için alan isimlerini dışardan gir
Sayın Freeman35 önerini denedim ama başarılı olamadım. Sanırım sorunumu tam anlatamamışım.
Şimdi resimlerle anlatmaya çalışayım;
Aşağıdaki kodlar örnek amaçlıdır.
ara:=Table1.Locate(A1;A2;A3;digerleri',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]);
Benim Table1 verisinin içeriği
http://s4.postimg.org/8dxfs2ym5/Ekran_Al_nt_s.png
yukardaki resimde görüldüğü gibi.
A1 , A2, A3 veya diğerleri
Bu A1 A2 ve A3 değişkenlerine KuruTermometre, İzafiNem ve YasTermometre alanisimlerini Table1.GetFieldNames kodu ile veya aynı işi gören başka bir kodla aktarmak
istiyorum.
Bu alanları aktardığımda;
ara:=Table1.Locate(A1;A2;A3;digerleri',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]); satırı
ara:=Table1.Locate(KuruTermometre;IzafiNem;YasTermometre',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]); satırı gibi çalışsın istiyorum.
Sanırım bu sefer sorunumu açıklayabilmişimdir.
Teşekkür ederim.
Şimdi resimlerle anlatmaya çalışayım;
Aşağıdaki kodlar örnek amaçlıdır.
ara:=Table1.Locate(A1;A2;A3;digerleri',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]);
Benim Table1 verisinin içeriği
http://s4.postimg.org/8dxfs2ym5/Ekran_Al_nt_s.png
yukardaki resimde görüldüğü gibi.
A1 , A2, A3 veya diğerleri
Bu A1 A2 ve A3 değişkenlerine KuruTermometre, İzafiNem ve YasTermometre alanisimlerini Table1.GetFieldNames kodu ile veya aynı işi gören başka bir kodla aktarmak
istiyorum.
Bu alanları aktardığımda;
ara:=Table1.Locate(A1;A2;A3;digerleri',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]); satırı
ara:=Table1.Locate(KuruTermometre;IzafiNem;YasTermometre',varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]); satırı gibi çalışsın istiyorum.
Sanırım bu sefer sorunumu açıklayabilmişimdir.
Teşekkür ederim.
Re: Table ile arama yapmak için alan isimlerini dışardan gir
F:string;
...
f:=Table1.Fields[x].fieldname + ';' + Table1.Fields[y].fieldname.......
ara:=Table1.Locate(F, varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]);
kolay gele
...
f:=Table1.Fields[x].fieldname + ';' + Table1.Fields[y].fieldname.......
ara:=Table1.Locate(F, varArrayOf([Edit1.Text,Edit2.Text,Edit3.text]),[]);
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
-
- Üye
- Mesajlar: 155
- Kayıt: 10 Oca 2014 01:08
- Konum: izmir/Buca
Re: Table ile arama yapmak için alan isimlerini dışardan gir
Değerli Dostum Freeman35
Verdiğiniz kod bütünlüğü ile sorunumu çözdüm.
Size çok teşekkür ederim.
Verdiğiniz kod bütünlüğü ile sorunumu çözdüm.
Size çok teşekkür ederim.