İsteğe Göre Raporlama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
macsonfor
Üye
Mesajlar: 118
Kayıt: 14 Haz 2004 04:59

İsteğe Göre Raporlama

Mesaj gönderen macsonfor »

Site arama yaptım bazı yazılar var ama ben sanırım yapamadım vt'de smallint alan tanımlayıp varsayılan değer olarak 0 veriyorum devexpress quantumgrid'de dbcheckbox tanımlıyorum seçili olanları 1 olmayanları 0 diye kaydettirmek istiyorum ne yaptımsa olmuyor veritabanı olarak firebird yanlız interbase Boolean Alan desteği var ama dbgridden işaretleme anında hata veriyor biri bu konuda yardım edebilirmi yaptığı bir projeden örnek verebilirmi. Yapmak istediğim seçili olan satırları yazıcıdan çıkarmak. Eğer bildiğiniz başka bir yol varsa memnun olurum.
Kolay Gelsin...
Bilgi Paylaşıldıkça Çoğalır
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Kullanıcı avatarı
macsonfor
Üye
Mesajlar: 118
Kayıt: 14 Haz 2004 04:59

Mesaj gönderen macsonfor »

Verdiğiniz link için teşekkür ederim yanlız ben onuda denedim ama bir sonuç alamadım varchar kullandım char kullandım integer kullandım smallint kullandım yapadım kolay gelsin...
Bilgi Paylaşıldıkça Çoğalır
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Default değeri eğer veritabanı tarafında veriyorsanız bunu iptal edip Delphi tarafında (ilgili table ın AfterInsert inde) vermeyi deneyin .
Birde verdiği hatayı daha net yazabilirmisin ?

Boolean olacak alan için veri tabanında varchar(1) şeklinde alanı oluştur. Daha sonra ilgili gridde o tablonun alanlarını ekle ve boolean olacak alanın ,
Örneğin: cxGridDBTableViewYAZMA_HAKKI alanı için ; Properties kısmından CheckBox değerini seçiyorum. ve buradan True değeri için

Kod: Tümünü seç

DisplayChecked = 1
ValueChecked = 1 
ve False değeri için ise

Kod: Tümünü seç

DisplayUnChecked = 0
ValueUnChecked = 0
değerlerini gir ve en son olarak ta

Kod: Tümünü seç

Procedure Form.QueryAfterInsert ();
begin
  Dataset.FieldByName('YAZMA_HAKKI').AsString := '0';  // Değeri false yaptık
end;
Kullanıcı avatarı
macsonfor
Üye
Mesajlar: 118
Kayıt: 14 Haz 2004 04:59

Mesaj gönderen macsonfor »

Hocam dediklerinizi aynen yaptım ama yine olmuyor

Kod:
DisplayChecked = 1
ValueChecked = 1


ve False değeri için ise

Kod:
DisplayUnChecked = 0
ValueUnChecked = 0


değerlerini gir ve en son olarak ta

Kod:
Procedure Form.QueryAfterInsert ();
begin
Dataset.FieldByName('YAZMA_HAKKI').AsString := '0'; // Değeri false yaptık
end;
cxgird kullanıyorum ama değerler hep uncheked görünüyor mesela tabloda 3 adet kayıt var 2 tanesi işretliyorum 1 tanesinide işretlemiyorum sonra

Kod: Tümünü seç

Data1.KARARLAR.Transaction.CommitRetaining;
değişiklikleri kaydediyorum ama programı yenide başlattığım zaman tekrar 3 adet kayıtta uncheked olarak görünüyor.
Kolay gelsin...
Bilgi Paylaşıldıkça Çoğalır
Kullanıcı avatarı
cuneyt22
Üye
Mesajlar: 213
Kayıt: 07 Şub 2004 03:32
İletişim:

Mesaj gönderen cuneyt22 »

bende updatesql kullanırsan bu olayı halledersin..
oguzozturk74
Kıdemli Üye
Mesajlar: 574
Kayıt: 01 Şub 2004 12:29
Konum: Erdemli - MERSİN

Mesaj gönderen oguzozturk74 »

Hocam anlamadım sende niye olmuyor, yani ben bu şekilde kullanıyorum bir sorun yok.

Tabloyu ve checkbox u silip yeniden denermisin . Birde şu commitretaining olayını şu şekilde kullanman daha iyi olur ,

Kod: Tümünü seç

procedure TDTM_SIRKET.DSet_FATURAAfterPost(DataSet: TDataSet);
begin
  if DSet_FATURA.Transaction.InTransaction then  
  begin
   DSet_FATURA.Transaction.CommitRetaining;  
  end
  else  
  begin
   MessageDlg('Transaction Çalışmıyor!!', mtError, [mbOk], 0);
   Exit;  
  end;
end;
Kullanıcı avatarı
macsonfor
Üye
Mesajlar: 118
Kayıt: 14 Haz 2004 04:59

Mesaj gönderen macsonfor »

Cevaplarınızdan dolayı teşekkür ediyorum sorun halledildi.
Sanırım Ben DisplayCheked alanlarını boş bırakıyordum.
Kolay Gelsin...
Bilgi Paylaşıldıkça Çoğalır
Cevapla