ComboBox ve Datetimepicker den dbgrid'e ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Hotkey
Üye
Mesajlar: 5
Kayıt: 06 Eki 2007 10:35

ComboBox ve Datetimepicker den dbgrid'e ekleme

Mesaj gönderen Hotkey »

Merhaba dostlar comboBox da seçilen elemanı dbgrid e nasıl eklerim? Bir de Datetimepicker da seçilen tarihi dbgrid e aktarmam gerek? şimdiden teşekkürler... :roll:
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Mesaj gönderen Battosai »

DBGrid e değil veritabanına yazcaksın verini.DBGrid zaten yaptığın değişiklikleri gösterecektir....
Hotkey
Üye
Mesajlar: 5
Kayıt: 06 Eki 2007 10:35

Mesaj gönderen Hotkey »

Battosai yazdı:DBGrid e değil veritabanına yazcaksın verini.DBGrid zaten yaptığın değişiklikleri gösterecektir....
haklısın ustam veritabanına kaydetmek için;
combobox lardan seçim yapıp kaydet dediğim zaman hata alıyorum. kodum aşağıda;

adotable3.post;
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

bu kod dbaware componentlerde gorduklerini yazar. 2 şansın var.

1. dbcombobox kullan.
2.

Kod: Tümünü seç

adotable1.fieldbyname('alanın adı').asstring:=comboboxadin.text;
3. statik alan yaptıysan

Kod: Tümünü seç

adotable1alanınadı.asstring:=comboboxadin.text;
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
Hotkey
Üye
Mesajlar: 5
Kayıt: 06 Eki 2007 10:35

Mesaj gönderen Hotkey »

ikutluay yazdı:bu kod dbaware componentlerde gorduklerini yazar. 2 şansın var.

1. dbcombobox kullan.
2.

Kod: Tümünü seç

adotable1.fieldbyname('alanın adı').asstring:=comboboxadin.text;
3. statik alan yaptıysan

Kod: Tümünü seç

adotable1alanınadı.asstring:=comboboxadin.text;
Aynı hatayı alıyorum ustam;Ben yapmak istediğimi daha açık anlatayım;

*Forma 2 adet dbcombobox ekledim,
*dbcombobox1'i adotable1 e bağladım
*dbcombobox2'i adotable2 e bağladım
*ve formda 1 adet dbgrid bileşenim var bu da adotable3 e bağlı

yapmak istediğim;
dbcombobox1'i kullanarak adotable1 den firma adını;
dbcombobox2'i kullanarak adotable2 den banka adını;
datetimepicker aracılığıylada tarih seçerek;

kaydet butonu aracılığıyla seçilen değerleri adotable3 e kaydedecem doğal olarak dbgrid de gösterecem;

kodum aşağıda;

procedure Tf_dekgiris.BitBtn1Click(Sender: TObject);
begin
adotable1.Fieldbyname('Firma_Adi').asstring:=dbcombobox1.Text;
adotable2.FieldByName('Banka_Adi').asstring:=dbcombobox2.Text;
adotable3.Post;
end;

aldığım hata;

Resim
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

gecenin bu vakti ayaktayım. sanırım neskayfeyi(!) azaltmalıyım.

hocam bir dataseti kodla değiştirmek için önce edite almalısın.
mesajın anlamı. açıkçası bu konuda helpte destan gibide bir yardım var.

ben mantığı şöyle görüyorum. dbcomboboxlar yardımı ile 2 datasetten bilgi seçip bunalrı 3. bir tabloya yazacaksın. bu durumda comboboxların itemine gitmene gerek yok doğrudan db alanlarını kullanabilirsin. kayıt ekleme içinde elle append vermelisin.

Kod: Tümünü seç

procedure Tf_dekgiris.BitBtn1Click(Sender: TObject);
begin
adotable3.append; // bu olmazsa hata alırsın
adotable3.Fieldbyname('Firma_Adi').asstring:=Adotable1.Fieldbyname('Firma_Adi').asstring;
adotable3.FieldByName('Banka_Adi').asstring:=adotable2.FieldByName('Banka_Adi').asstring;
adotable3.Post;
end; 
[/code]
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

Mesaj gönderen ikutluay »

ilk iki tabloyada eklemek ve 3.kayıda bu ekleneleri yazmak istersen table 1 ve 2 yide edit metodu ile düzenleme durumuna geçirmeli ve sonra değerleri atatyo tekrar post etmelisin.
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
Cevapla