TIBQuery

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

TIBQuery

Mesaj gönderen abdulkadir »

S.a

Arkadaslar yapmak istedigim birsey var biraz denedim olmadı
böyle birseyi yapabilirmiyim diye bilenlere sorayım dedim.

veritabanında x tabloda

ISLEM_NO INTEGER,bir alanım var

TIBQuery DE
ISLEM_NO dan sonra //bu alan tabloda var
ISLEM1 String , ISLEM2 String , ISLEM3 Boolean //tabloda olmayan Alanlar ekledim
ve bu alanları dbgride ekledim ISLEM_NO,ISLEM1,ISLEM2,ISLEM3

şimdi tabloyu okurken ISLEM_NO degerine göre ISLEM1 ISLEM2 ISLEM3 te veri görmek istiyorum.

yani soyle

Kod: Tümünü seç

// ISLEM_NO OnGetText ile yapmaya calıstım
procedure TF_CRF.IBQuery1ISLEM_NOGetText(Sender: TField;var Text: string; DisplayText: Boolean);
begin
  case sender.AsInteger of
    1:IBQuery1.FieldByName('ISLEM1').AsString:='DENEME';
    2:IBQuery1.FieldByName('ISLEM2').AsString:='TEST';
    3:IBQuery1.FieldByName('ISLEM3').AsBoolean:=True;
  end;
end;
bu deger hata vermiyor ama sonucta göstermiyor.
böyle bir işlem yapılabilirmi.
SEVGİLER
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: TIBQuery

Mesaj gönderen aslangeri »

s.a.
bu kodu işlem_no nun değilde diğer alanların get textine yaz.
birde islemno 2 olduğu zaman islem2 de ne yazacak onu set etmeyi unutma.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: TIBQuery

Mesaj gönderen abdulkadir »

Hocam dediklerinizi iyi anlayamadım
anladıgım kadarıyla yapmaya calıstım ama sonuc degişmedi

bunumu demek istediniz

Kod: Tümünü seç

procedure TF_CRF.IBQuery1ISLEM1GetText(Sender: TField;var Text: string; DisplayText: Boolean);
begin
  case IBQuery1.FieldByName('ISLEM_NO').AsInteger of
    1:IBQuery1.FieldByName('ISLEM1').AsString:='DENEME';
  end;
end;
hocam sunu ögrenmeye ihtiyacım var
ISLEM1 de görmek istediklerimizi illa ISLEM1 in OnGetText ine mi yazmamız lazım (bana biraz tuhaf geldi çünkü ISLEM1 e atanmıs bir deger yok)
birde set etmek nedir OnSetText mi acaba

Tesekkür ederim...
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: TIBQuery

Mesaj gönderen aslangeri »

s.a.
Set etmek demek değer atamak demek.
işlemno alanının değeri 2 olduğu zaman islem1 de ne göstereceksin onu sormuştum. o ihtimal geçekleştiğinde islem1 e değer atmayı unutma demek istemiştim.
ongettext işe yaramadı ise bu eklediğin alanların fieldtype larını calculated olarak ayarla. fieldeditörden alanı seçip object inspectorden Kind (yanlış hatırlamıyorsam) özelliğine bak calculated ise tablonun oncalcfields eventini dene. :wink:
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Re: TIBQuery

Mesaj gönderen gkimirti »

Selamun Aleykum,
abdulkadir demek istediğin,

"ben vt de olmayan alanları gride ekleyeceğim ve bu alanları vt de ki diğer alanlar ile oluşturacağım"
ise bu işi CalculatedField ile yapman daha rahat olur.
ibquery ye yeni alan ekle CalculatedField diye. OnCalculate olayında istediğini yaz bu alana
ÜŞENME,ERTELEME,VAZGEÇME
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Re: TIBQuery

Mesaj gönderen abdulkadir »

A.s
Tesekkür ederim
dediginiz gibi yaptım İşlem tamamdır
ibquery de alanın FieldKind property i CalculatedField ayarladım
ibquery nin onCalcFields ne aşagıdaki kodu yazdım.

Kod: Tümünü seç

procedure TF_CariHrkRaporuF.CariHr_QCalcFields(DataSet: TDataSet);
begin
  case DataSet.FieldByName('ISLEM_NO').AsInteger of
1:DataSet.FieldByName('ISLEM1').AsString:='deneme';
2:DataSet.FieldByName('ISLEM2').AsString:='test';
3:DataSet.FieldByName('ISLEM3').AsString:='sonuc';
 end;
end;
Tesekkür eder iyi çalışmalar dilerim...
Fikirleri Aktar
Kaynakları Dagıt
Ve
Yoldan Çekil
http://www.Leventler.com.tr
Cevapla