run time da sql sorgusu oluşturma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

run time da sql sorgusu oluşturma

Mesaj gönderen ikutluay »

Merhaba

Mikro vt de cha_evr_tip degerivar. bunun 6 degerinden bir yada bir kacını yada tümünübirden listeleyerek secilmesi gerek

WHEN 1 THEN 'Tahsilat makbuzu'
WHEN 2 THEN 'Kasa Tahsil Fişi'
WHEN 3 THEN 'Senet'
WHEN 4 THEN 'Çek'
WHEN 34 THEN 'Gelen Havale'
WHEN 98 THEN 'Avans Tahsil Makbuzu'

forma 6 tane checkbox koydum. bir byte degeri her checked olduğunda bir artırdım. bu deger kontrol bitttiğinde 1 ise sorun yok. tek biri seçili demek.

birden fazla secilme durumunda ise araya or yazılması ve tüm bu ifadeninde paranteze alınması gerek. bunu sırayla chedked degerlerinikontrol edipbir suru ifle yaptım ama daha kolaybir yolu olmalı.

IN operatörü aklıma geliyor ama ondadada or yerine virül gerekecek.

biri yol gösterebilirmi
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: run time da sql sorgusu oluşturma

Mesaj gönderen sabanakman »

Şart işini yapan CheckBox'larınızı özel bir panel içine (örn:Panel1) yerleştirin ve burada başka bileşenler olmasın. Her CheckBox bileşeninin değeri neyi temsil ediyorsa Tag özelliğine bu değeri verin (CheckBox1.Tag->1,CheckBox2.Tag->2,...,CheckBox6.Tag->98,.) ve aşağıdaki kodları deneyin.

Kod: Tümünü seç

var Sart:String; i:Integer;  cbx:TCheckBox;
begin
  Sart:='';
  for i:=0 to Panel1.ControlCount-1 do if Panel1.Controls[i] is TCheckBox then begin
    cbx:=TCheckBox(Panel1.Controls[i]);
    if cbx.Checked then Sart:=Format('%s,%d',[Sart,cbx.Tag]);
  end;
  if Sart<>'' then begin
    Delete(Sart,1,1);
    Sart:=Format('AlanAdi in (%s)',[Sart])
  end;
  Label1.Caption:=Sart;
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: run time da sql sorgusu oluşturma

Mesaj gönderen ikutluay »

sabanakman yazdı:Şart işini yapan CheckBox'larınızı özel bir panel içine (örn:Panel1) yerleştirin ve burada başka bileşenler olmasın. Her CheckBox bileşeninin değeri neyi temsil ediyorsa Tag özelliğine bu değeri verin (CheckBox1.Tag->1,CheckBox2.Tag->2,...,CheckBox6.Tag->98,.) ve aşağıdaki kodları deneyin.

Kod: Tümünü seç

var Sart:String; i:Integer;  cbx:TCheckBox;
begin
  Sart:='';
  for i:=0 to Panel1.ControlCount-1 do if Panel1.Controls[i] is TCheckBox then begin
    cbx:=TCheckBox(Panel1.Controls[i]);
    if cbx.Checked then Sart:=Format('%s,%d',[Sart,cbx.Tag]);
  end;
  if Sart<>'' then begin
    Delete(Sart,1,1);
    Sart:=Format('AlanAdi in (%s)',[Sart])
  end;
  Label1.Caption:=Sart;
kodun ufuk acıcı bu durumda checklist box olmaması içinde bir sebep kalmadı
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Re: run time da sql sorgusu oluşturma

Mesaj gönderen ikutluay »

checklistbox ta tag olmadığından stringlist kullanarak işlemi yaptım
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: run time da sql sorgusu oluşturma

Mesaj gönderen adelphiforumz »

listbox gibi items özelliği olan objelerde addobject özelliğini kullanırsanız
eklediğiniz itemsın value değerinide kolaylıkla alabilirsiniz.
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Cevapla