Accessteki Gibi Otomatik Sayı
Accessteki Gibi Otomatik Sayı
Formunuza olan üyeliğimi Kabul ettiğiniz için çok Teşekkür ederim.Delphi Türkiye gerçektende çok güzel ve yararlı bir portal Bu Güzel insanlarla birşeyler payalaşabileceğim için Şanslıyım. Soruma Gelince
gerçektende basit bir şey olsa gerek ama delphide yapamadım ve sinirim bozuluyor. Birçok Kişiye sordum Fakat Yanıt Alamadım Tabloları Adotable yada query ile bağlıyorum....
Ado ile db3.mdb mi bağladım. iki adet tablom var
1. tablo : urunler = muskodno = otomatik sayı...
2.Tablo : musteriler urunlerid = otomatik sayı....
görüldüğü üzere urunler ve musteriler tablosunda muskodno ve urunlerid otomatik sayı... tekrarı olmayan ve daima 1 artan...
delphide dbeditlere tüm fieldsları bağladım yeni bir kayıt yap dediğim zaman istiyorum ki otomatikman muskodno kısmı atsın...
çünkü ben musteriler tablomdaki muskodno , ad,soyad kısımlarını birleştirip bir müşteri kodu oluşturuyorum ( muskodno+ad+soyad)
Accessde bu işlem çok basit accesste yapmış olduğum forma yeni kayıt ekle diyorum formun firma alanına bilgi girer girmez muskodno kısmı son kayı100 de ise otomatik olarak 101 oluyor ama delphide malesef bunu başaramadım..... yardımcı olursanız çok sevinirim bir çok kişiye sordum ama malesef doğru yanıt alamadım şimdiden Teşekkür Ederim. Saygılarımla...
gerçektende basit bir şey olsa gerek ama delphide yapamadım ve sinirim bozuluyor. Birçok Kişiye sordum Fakat Yanıt Alamadım Tabloları Adotable yada query ile bağlıyorum....
Ado ile db3.mdb mi bağladım. iki adet tablom var
1. tablo : urunler = muskodno = otomatik sayı...
2.Tablo : musteriler urunlerid = otomatik sayı....
görüldüğü üzere urunler ve musteriler tablosunda muskodno ve urunlerid otomatik sayı... tekrarı olmayan ve daima 1 artan...
delphide dbeditlere tüm fieldsları bağladım yeni bir kayıt yap dediğim zaman istiyorum ki otomatikman muskodno kısmı atsın...
çünkü ben musteriler tablomdaki muskodno , ad,soyad kısımlarını birleştirip bir müşteri kodu oluşturuyorum ( muskodno+ad+soyad)
Accessde bu işlem çok basit accesste yapmış olduğum forma yeni kayıt ekle diyorum formun firma alanına bilgi girer girmez muskodno kısmı son kayı100 de ise otomatik olarak 101 oluyor ama delphide malesef bunu başaramadım..... yardımcı olursanız çok sevinirim bir çok kişiye sordum ama malesef doğru yanıt alamadım şimdiden Teşekkür Ederim. Saygılarımla...
Bilenler Lütfen Bilmeyenlere Anlatsın....
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
global bir değişken tanımlayın ,
tablonun OnBeforeInsert inde bu global değişkeni ID ye eşitle
ve sonrada bu değeri 1 arttır
tablonun OnBeforeInsert inde bu global değişkeni ID ye eşitle
Kod: Tümünü seç
var
DEGISKEN : integer;
TabloOnBeforeInsert
begin
Tablo.Last;
DEGISKEN := Tablo.FieldByName('ID').AsInteger;
end
Kod: Tümünü seç
TabloOnBeforeInsert
begin
Tablo.FieldByName('ID').AsInteger := DEGISKEN + 1 ;
end
Deniyorum
Vallaha çok teşekkür ederimbeyefendi fakat malum acemilik kötü birşey ve herkez acemilik çekmiştir.
unit 2 nin kod bölümüne girdim verdiğiniz kodları şöyle yazdım
yani sadece var degisken : integer; yazdım
sonra adotable1 in üzerine tıklayıp before insert olayınada
olayını yazdım kayıt ekle deyince hata verdi özür dilerim acemiyimde 
unit 2 nin kod bölümüne girdim verdiğiniz kodları şöyle yazdım
Kod: Tümünü seç
var
Form2: TForm2;
var
DEGISKEN : integer;
implementation
sonra adotable1 in üzerine tıklayıp before insert olayınada
Kod: Tümünü seç
Begin
adoTable1.Last;
DEGISKEN := adoTable1.FieldByName('muskodno').AsInteger;
adoTable1.FieldByName('muskodno').AsInteger := DEGISKEN + 1 ;
end;

Bilenler Lütfen Bilmeyenlere Anlatsın....
malesef efendim
Yok efendim malesef beforeinsert olayının başına ve sonunda adotable1.edit; eklememe rağmen yine aynı hatayı veriyor sanırım küçük bir detay var ama göremiyorum. özür dilerim formuda meşgul ediyorum...
musteriler ve urunler tabloları datasource1 datasource2 adotable1 ve adotable2 ile bağlanmış durumda malum ikisinin ilişkisi içinde adotable2yi adotable 1 ile bağladım...
musteriler ve urunler tabloları datasource1 datasource2 adotable1 ve adotable2 ile bağlanmış durumda malum ikisinin ilişkisi içinde adotable2yi adotable 1 ile bağladım...
Bilenler Lütfen Bilmeyenlere Anlatsın....
Estağfirullah.... herkesin burada olmasındaki amaç birbirine yardım etmek ve gerektiğinde de yardım olmak. Bilgi duzeyinden bağımsız olarak tabi ki....
Yalnız yeterki forum kurallarına uymuş olalım... Bu konuda hassasız.
Şimdi sizin meselede oguzozturk74 arkadaşımızın önerdiği yöntem işe yarar fakat ufak bir nokta gözden kaçmış.
Bu kodu Beforeinsert te yazmak pek uygun olmaz zira dediğiniz edit modda olmama hatasi verir. Tabloyu bu eventte edit moda geçirmek de pek mumkun olmayabilir zira zaten insert isleminden onceki son anda bu evente ugranmış oluyor...
Dolayısıyla yapmanız gereken tek şey bu koduafter insert eventeine yazmak olacak. Olası hataları mesajın içeriği ve yazdığınız kod ile birlikte verirseniz Allah'ın izniyle birlikte aşarız bu problemi....
Yalnız yeterki forum kurallarına uymuş olalım... Bu konuda hassasız.
Şimdi sizin meselede oguzozturk74 arkadaşımızın önerdiği yöntem işe yarar fakat ufak bir nokta gözden kaçmış.
Kod: Tümünü seç
TabloOnBeforeInsert
begin
Tablo.FieldByName('ID').AsInteger := DEGISKEN + 1 ;
end
Dolayısıyla yapmanız gereken tek şey bu kodu
Kod: Tümünü seç
Tablo.FieldByName('ID').AsInteger := DEGISKEN + 1 ;
* http://www.fahrettin.org Manzara Fotoğraflarım... 
* http://delphiturkiye.gunduz.info Seminerler...
* http://www.hakmar.com.tr Kalite bir haktır...

* http://delphiturkiye.gunduz.info Seminerler...

* http://www.hakmar.com.tr Kalite bir haktır...

-
- Kıdemli Üye
- Mesajlar: 1026
- Kayıt: 11 Şub 2005 02:12
- Konum: İstanbul
Kod: Tümünü seç
update tableMusteri set musterikod = musteriid&musteriadi&musterisoyadi
where musterikod=null
-
- Kıdemli Üye
- Mesajlar: 574
- Kayıt: 01 Şub 2004 12:29
- Konum: Erdemli - MERSİN
olmadı ama oldu :)
Ne diyeyim yaa olmadı dedim ama birini Before insert e birinide After inserte ekledim oldu Ne güzel insanlarsınız ALLAH razı olsun Bu kodlar sorunsuz ÇAlışır değilmi umarım Ado ile DElphide bir sorun çıkmadan Güzel şeyler Yapabilirim Şimdiden Çok Teşekkür eder Küçüklerin Gözlerinden Büyüklerin Ellerinden öperim SAygılarımla.... 

Bilenler Lütfen Bilmeyenlere Anlatsın....