Kendi Otomatik Artan Alanınızı Oluşturun

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

Kendi Otomatik Artan Alanınızı Oluşturun

Mesaj gönderen Fatih! »

Öncelikle tablomuzu oluşturuyoruz.tablo adı delphidunyasi olsun. otomatik artmasını istediğiniz alanın tipini Sayısal bir tip olarak seçin. örneğin integer tipini seçebilirsiniz. otomatik artmasını istediğiniz alanın adınıda OtoAlan olarak belirlediğinizi varsayıyorum. bildiğiniz şekilde veritabanı bağlantınızı yapın. Ek olarak delphidunyasi tablosundan en büyük sayının bir fazlasını bulabilmemizi sağlayacak sorgumuzu çalıştırabilmemiz için forma 1 query ekliyoruz.
Query'nin SQL özelliğine Select Max(otoAlan)+1 As myOtoAlan From delphidunyasi

Şimdi bu sorguyu Datasetiniz herneyse (query,table vb.) afterinsert olayında çalıştırıp dönen değeri delphidunyasi tablosundaki otoAlan adlı alanımıza değeeri atıyoruz.

datasetinizin after isert olayına aşağıdaki kodu yazıyoruz.

Kod: Tümünü seç

BenimQuery.Open;
SizinDataset.FieldByName('otoAlan').Asinteger:=benimQuery.Fi eldByName('myOtoAlan').Asinteger; 
benimQuery.Close; 
bunu Datasetinizin BeforePost olayına aşağıdaki şekilde yazarakta halledebilirsiniz

Kod: Tümünü seç

if SizinDataset.FieldByName('otoAlan').isNull Then //Alan Boşsa
Begin
BenimQuery.Open;
SizinDataset.FieldByName('otoAlan').Asinteger:=benimQuery.Fi eldByName('myOtoAlan').Asinteger; 
benimQuery.Close; 
End;
mavitunam
Üye
Mesajlar: 13
Kayıt: 25 Kas 2005 02:12

Re: Kendi Otomatik Artan Alanınızı Oluşturun

Mesaj gönderen mavitunam »

Yazınız için teşekkür ederim ancak otomatik artan alanın formun içinde öncesinde seçilen seviye kısmına göre numara artmasını istiyorsak nasıl yapacağız.

Bendeki kod alanı Alpha olarak kayıtlı. Program üzerinde seviyede personel seçilmiş ise kodu S1 oluyor. 2. kayıt için bunu s2 yaptırıyorum fakat program yeniden başladığında s1 den başlıyor. Halbuki son kayıt S2.

Bunu nasıl çözebiliriz acaba?
[Her Canlı Bir Gün Ölümü Tadacaktır]
Cevapla