Çekiliş ile 2 Adet Microsoft Excel Kitabı Hediye Edilecektir. Ayrıntılı Bilgi İçin [Tıklayınız]

ÖNEMLİ

  • Forumumuzda bilgi alışverişinde bulunabilmeniz için Üye olmalısınız. Üye olmayanlar forumumuzdan yararlanamazlar.
  • Eğer daha önceden üye olduysanız lütfen kullanıcı adınız ve şifreniz ile Giriş yapınız.
 Konu Araçları | Seçenekler: | Gösterim Stili
Tarih
25/01/2009 17:29
Konu Sahibi
mehmetdemiral
Yorumlar
16
Okunma
7132
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy

mehmetdemiral

.
Kullanici Avatari
Uzman
M.... D....
4.769
30/10/2008
Samsun
Öğretmen
Ofis 2013 32 Bit
11/12/2017,00:12
Arkadaşlar, hep Access'le tanışanlar sorarlar "Bu otomatik sayı neden saçmalıyor?" diye... Ben de ısrarla saçmalamadığını, mantığının öyle olduğunu anlatırım. Neden saçmalamıyor biliyor musunuz?

1- Öncelikle genel olarak tüm otomatik sayı alanları aslında birincil anahtar olarak seçilir. Böylece de herşey onun üzerinden bağlanarak alt formlar, alt kayıtlar, sorgu kriterleri falan oluşturulur.

2- Sonra da bir kayıt silinir. Doğal olarak da o değer artık kullanılamaz, çünkü ona bağlanan her bağlantının bir daha kullanılamaz hale gelmesi gerekir. Doğal olan bu değil midir? Ama biz ısrarla neden o sayı kullanılamaz derizImg-grin))

3- Ama şu yapılabilirdi denir hep: "Silinen sayıların yerine yeni kayıtlar gelseydi iyi olurdu..." Eeee.. O zaman da kayıtların sıralanması yanlış olurdu. 1 numaralı kayıtın tarihiyle mesela 12 numaralı kayıtın tarihi aynı olur, aralarında daha yeni kayıtlar olurdu. O da olmazdı di mi?

4- Bu maddeye gerek yok, çünkü Otomatik sayı alanının başka yapılabileceği bir alternatifi yok. En iyisi zaten yapılmış.

5- O zaman ne yapmak lazım? Otomatik sayıya ellemeyeleim o bildiği gibi tutarlı tutarlı gitsin. Bize neden bu kadar sıralı gitmesi lazım onu konuşalım.

Biz onu sıra no için bu kadar düzgün olsun isteriz. Ama olmuyor madem kendimiz sıra no mantığı kuramaz mıyız?

Kurarız tabii? Nasıl yapabiliriz? Şimdi gelin onu anlatalım:

1- Önce bir tablo yaparız. İçine otomatiksayı alanı koyarız. Birincil değer olarak da onu seçeriz. Sonra da bırakırız kendi halineImg-grin)

2- Sırano alanımız olur. Oraya asıl sıra sayımızı koyacağız. Değeri sayı olmalı

3- Diğer kaydedilecek veriler için alanlarımızı ekleriz.

4- Bir sorgu yaparız. Bu sorguya sadece sırano alanımızı ekleriz. Sonra da toplam butonuna basarak buradaki değeri "enbüyük" olarak seçeriz. Artık bu sorgu kayıt sayımızın en büyük değerini gösterecektir.

5- Form üzerine gerekli alanlarımızı standart olarak ekledikten sonra bir altform üzerinden bu en büyük sayı değerini bir metin kutusuna getiririz.

6- Sonra bir başka metin kutusuyla (metin10) eğer bu değer null  ise "1" olmasını sağlamak için

SQL Code
=IIf(IsNull([metin3]);"1";[metin3]+1)  


komutunu kullanırız. (Burada metin3, en büyük sayı değerini getirdiğimiz metin kutusunun adıdır)
Böylece yeni kayıta bastığımızda


Visual Basic Code
[enbuyuksayi alt formu].Requery         'en büyük sayı değerini güncelle

DoCmd.GoToRecord , , acNewRec        'yeni kayda git
Me.kayitno = Metin10                        'kayitno alanın metin10'dan al
adisoyadi.SetFocus                           'adisoyadi alanına odaklan



komutlarını işleterek otomatik sayımızı metin10 üzerinden 1 artırılmış olarak alırız.

NOT: Dikkat edilirse aralardaki değerler silinirse bizim yöntemde de kullanılamıyor. İnanın mantıklısı da odur. İstesek kullanabilirdik ama yanlış olurdu. Bu işte silinen kayıt numarası kullanılmaz..

Konuyu daha iyi anlamak için örneğimi inceleyiniz.


Ek Dosyalar
.rar   otomatik sayı yerine.rar (Dosya Boyutu: 21,86 KB / İndirme Sayısı: 278)
İnadına, ille de Accesstr.net...
Cevapla

Puletin


Kullanici Avatari
Altın Üye
1.715
01/11/2008
416
-
Ofis 2003
24/12/2016,00:18
Anlatım İçin teşekkürler Hocam ...
Klavyene, Beynine sağlık...


Kaplumbağa ya dikkat et...
Sadece  başını çıkartıp risk aldığında ilerleyebiliyor...
Cevapla

goodfalles

Hesap Aktif Değil
Kullanici Avatari
Aktivasyon Bekleyen
306
11/12/2008
İstanbul
Ofis 2007
17/11/2014,04:14
Img-grinama hocam girişi tablodan giriş yaparsak orada hep 0 olarak kalıcak diymi tablodan girildiği zaman elle yazılacak

anlatım içinde çok çok sağolun Img-grinşimdi yapmaya çalışcam Img-grin


Cevapla

mehmetdemiral

.
Kullanici Avatari
Uzman
M.... D....
4.769
30/10/2008
Samsun
Öğretmen
Ofis 2013 32 Bit
11/12/2017,00:12
Herhalde yani.. Access'te tablodan giriş diye birşey yoktur. Excel mi buImg-grin)))
Hadi kolay gelsin..


İnadına, ille de Accesstr.net...
Cevapla

goodfalles

Hesap Aktif Değil
Kullanici Avatari
Aktivasyon Bekleyen
306
11/12/2008
İstanbul
Ofis 2007
17/11/2014,04:14
(26/01/2009, 12:23)mehmetdemiral Adlı Kullanıcıdan Alıntı: Herhalde yani.. Access'te tablodan giriş diye birşey yoktur. Excel mi buImg-grin)))
Hadi kolay gelsin..

LolLol tmm hocam kızmayın Lol


Cevapla

fox35

Hesap Aktif Değil
Kullanici Avatari
Aktivasyon Bekleyen
120
30/04/2009
İzmir
Ofis 2003
26/07/2015,23:08
arkadaşlar otomatik sayıyla ilgili bir problemim var dağınıklık olmasın diye yeni konu açmadım.sorun hazırladığım veritabanında yeni yılda kayıtların baştan,yani 1 den başlaması lazım, alanı yada tabloyu silmeden yapılabilir mi?ben olmadan accessi bilmeyen bir kullanıcının bunu sıfırlayabilmesi için bir olay yordamı varmı acaba.yardımcı olursanız sevinirim.


Cevapla


Konuyu Okuyanlar: 1 Ziyaretçi

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
  Formun Otomatik Açılması okileturc 4 2.912 26/06/2011, 16:18 rüzgar54
Information Formun boyutuna göre otomatik yeniden boyutlanan metin kutusu, buton vb. kontroller alpeki99 7 4.782 10/01/2011, 01:51 gogoli01
 
 

Türkçe Çeviri: MCTR, Yazılım: MyBB, © 2002-2017 MyBB Group.
Forum use Krzysztof "Supryk" Supryczynski addons.