Geçerlilik kurallarını kullanarak, Access masaüstü veritabanlarında verileri girdiğiniz sırada kontrol edebilir veya doğrulayabilirsiniz. Kuralı doğru biçimlendirmenize yardımcı olması için ifade oluşturucusunu kullanabilirsiniz. Geçerlilik kuralları tablo tasarımı veya tablo veri sayfasında görünümünde ayarlanabilir. Access’te üç tür geçerlilik kuralı vardır:
1. Alan Doğrulama Kuralı Tüm geçerli alan değerlerinin karşılaması gereken bir ölçüt belirtmek için alan doğrulama kuralı kullanabilirsiniz. Geçerli alanı bir işlevde kullanmıyorsanız, kuralın bir parçası olarak bu alanı belirtmeniz gerekmez. Alana girilebilecek karakter türleriyle ilgili kısıtlamalar, Giriş Maskesi ile daha kolay belirtilebilir. Örneğin, bir tarih alanında geçmiş tarih değerlerine izin vermeyen bir geçerlilik kuralı olabilir.
Hızlı örnekler:
Geçmişteki tarih değerlerine izin verme: >=Date()
Genel olarak kabul edilen e-posta biçimi: Null OR ((Like "*?@?*.? *") AND ("*[ ,;] Gibi Değil *"))
Beşten küçük veya uygun olan sayı: <=5
Para birimi alanı negatif olamaz: >=0
Dizedeki karakter uzunluğunu kısıtla: Len([StringFieldName])<100
2. Kayıt Doğrulama Kuralı Tüm geçerli kayıtların karşılaması gereken bir koşul belirtmek için kayıt doğrulama kuralı kullanabilirsiniz. Kayıt doğrulama kuralını kullanarak farklı alanlardaki değerleri karşılaştırabilirsiniz. Örneğin, iki tarih alanı olan bir kayıtta bir alanın değerlerinin her zaman diğer alanın değerlerinden önce gelmesi gerekebilir (BaşlangıçTarihi'nin BitişTarihi'nden önce olması gibi).
Hızlı örnekler:
Bitiş tarihinin başlangıç tarihinden önce gelmediğinden emin olun: [Bitiş Tarihi]>=[Başlangıç Tarihi]
Sipariş tarihinden en fazla 30 gün sonra gerçekleşen gerekli bir tarih girin: [GerekliTarih]<=[SiparişTarihi]+30
3. Formda doğrulama Formdaki bir denetimin Geçerlilik Kuralı özelliğini kullanarak, bu denetime giriş yapılan tüm değerlerin karşılaması gereken bir ölçüt belirtebilirsiniz. Geçerlilik Kuralı denetim özelliği alan geçerlilik kuralı gibi çalışır. Normalde, kural nerede kullanılmış olursa olsun tabloya değil yalnızca o forma özgü olduğunda, alan geçerlilik kuralı yerine form geçerlilik kuralı kullanırsınız.
Bu makalede
Genel bakış
Bu makalede, tablo alanlarında ve form denetimlerinde geçerlilik kuralı ve geçerlilik metni kullanımı açıklanmaktadır. Geçerlilik kuralı, formdaki bir tablo alanına veya denetime (metin kutusu gibi) girişi sınırlamak için kullanılan bir yoldur. Geçerlilik metni, geçerli olmayan veri giren kullanıcılara yardımcı olacak bir ileti göstermenizi sağlar.
Veri girişi yapılırken, Access girişin geçerlilik kuralını ihlal edip etmediğini denetler; ihlal ediyorsa, giriş kabul edilmez ve Access bir ileti görüntüler.
Access, veri girişini kısıtlamak için bazı yollar sağlar:
-
Veri türleri Her tablo alanının, kullanıcıların girebileceği verileri kısıtlayan bir veri türü vardır. Örneğin, Tarih/Saat alanı, yalnızca tarihleri ve saatleri kabul eder, Para birimi alanı yalnızca parasal verileri kabul eder.
-
Alan özellikleri Bazı alan özellikleri veri girişini kısıtlar. Örneğin, bir alanın Alan Boyutu özelliği, veri miktarını sınırlayarak girişi kısıtlar.
Ayrıca, belirli değerleri istemek için GeçerlilikKuralı özelliğini ve yanlışlıklar ile ilgili olarak kullanıcılarınızı uyarmak için Geçerlilik Metni özelliğini kullanabilirsiniz. Örneğin, Geçerlilik Kuralı özelliğine >100 And <1000 gibi bir kural girmek, kullanıcıları 100 ile 1000 arasında bir değer girmeye zorunlu kılar. [BitişTarihi]>=[BaşlangıçTarihi] gibi bir değer, kullanıcıları başlangıç tarihinde veya sonrasında gerçekleşen bir bitiş tarihi girmelerini zorunlu kılar. Geçerlilik Metni özelliğindeki "100 ile 1000 arasında değer girin" veya "Başlangıç tarihinde veya sonrasında gerçekleşen bir bitiş tarihi girin" gibi metinler, kullanıcılara yanlışlık yaptıklarını ve hatayı nasıl düzelteceklerini belirtir.
-
Giriş maskeleri Kullanıcıların değerleri belirli bir yolla girmesini zorunlu tutarak verileri doğrulamak için giriş maskesi kullanabilirsiniz. Örneğin, giriş maskesi kullanıcıların tarihleri Avrupa biçiminde (2007.04.14 gibi) girmesini zorunlu tutabilir.
Bu veri doğrulama yöntemlerini tek başına veya birlikte kullanabilirsiniz. Veri türleri isteğe bağlı değildir ve en temel veri geçerliliği türünü oluşturur.
Veri türleri, alan boyutları ve giriş maskeleri hakkında daha fazla bilgi için Veri türlerine ve alan özelliklerine giriş makalesine bakın.
Geçerlilik kuralları türleri
İki temel türde GeçerlilikKuralı oluşturabilirsiniz:
-
Alan geçerlilik kuralları Alan geçerlilik kuralını, bir alandan çıkarken ilgili alana girdiğiniz değeri denetlemek için kullanın. Örneğin, bir Tarih alanınız olduğunu ve ilgili alanın Geçerlilik Kuralı özelliğine >=#01/01/2010# girdiğinizi varsayalım. Kuralınız artık kullanıcıların 1 Ocak 2010 tarihini veya bundan sonraki tarihleri girmelerini ister. 2010 öncesi bir tarih girdiğinizde ve odağı başka bir alana yerleştirmek istediğinizde, Access sorunu çözene kadar geçerli alandan çıkmanızı engeller.
-
Kayıt geçerlilik kuralları Kayıt geçerlilik kuralını, kaydı (tablodaki bir satır) kaydedebildiğinizde kullanın. Alan geçerlilik kuralının tersine, kayıt geçerlilik kuralı aynı tablodaki diğer alanlara da başvurur. Kayıt geçerlilik kurallarını, bir alandaki değerleri başka bir alandaki değerlere göre denetlemeniz gerektiğinde oluşturursunuz. Örneğin, işinizin, ürünleri 30 gün içinde sevk etmenizi gerektirdiğini ve bu süre içinde sevki gerçekleştirmezseniz sipariş fiyatının bir kısmını müşteriye geri ödemeniz gerektiğini varsayalım. Birisinin, sevk tarihini (İstenenTarih alanındaki değer) çok geç girmesini engellemek için [İstenenTarih]<=[SiparişTarihi]+30 gibi bir kayıt geçerlilik kuralı tanımlayabilirsiniz.
Geçerlilik kurallarının sözdizimi şifreli gibi görünüyorsa, sözdizimiyle ilgili açıklama ve bazı örnek geçerlilik kuralları için Geçerlilik kuralına koyabilecekleriniz bölümüne bakın.
Geçerlilik kurallarını kullanabileceğiniz yerler
Geçerlilik kurallarını, tablo alanları ve formlardaki denetimler için tanımlayabilirsiniz. Tablolar için tanımlanan kurallar içeri veri aktardığınızda uygulanır. Tabloya geçerlilik kuralları eklemek için tabloyu açar ve şeridin Tablo Alanları sekmesindeki komutları kullanırsınız. Forma geçerlilik kuralları eklemek için formu Düzen görünümünde açar ve tek tek denetimlerin özelliklerine kuralları eklersiniz.
Tabloya GeçerlilikKuralı ekleme bölümündeki adımlarda, tablo alanlarına geçerlilik kurallarının nasıl ekleneceği açıklanmaktadır. Bu makalenin sonraki bölümlerinde yer alan Formdaki bir denetime GeçerlilikKuralı ekleme bölümündeki adımlarda, tek tek denetimlerdeki özelliklere kuralların nasıl ekleneceği anlatılmaktadır.
Geçerlilik kuralına koyabilecekleriniz
Geçerlilik kurallarınız ifadeler (tek bir değer döndüren işlevler) içerebilir. Hesaplamalar yapmak, karakterleri değiştirmek veya verileri sınamak için ifadeleri kullanabilirsiniz. GeçerlilikKuralı ifadesi verileri sınar. Örneğin, bir ifade, değerler dizisindeki bir değeri denetleyebilir ("Tokyo" Or "Moskova" Or "Paris" Or "Helsinki" gibi). İfadeler matematiksel işlemleri de yapabilir. Örneğin, <100 ifadesi, kullanıcıların 100'den küçük bir değer girmelerini zorunlu kılar. ([SiparişTarihi] - [SevkTarihi]) ifadesi, bir siparişin verilmesinden sevk edilmesine kadar geçen günleri hesaplar.
İfadeler hakkında daha fazla bilgi için, İfade oluşturma makalesine bakın.
Tabloya GeçerlilikKuralı ekleme
Alan GeçerlilikKuralı ve/veya kayıt GeçerlilikKuralı ekleyebilirsiniz. Alan GeçerlilikKuralı, alana yapılan girişi denetler ve odak alandan ayrılırken uygulanır. Kayıt GeçerlilikKuralı, bir veya daha fazla alana yapılan girişi denetler ve odak kayıttan ayrılırken uygulanır. Kayıt GeçerlilikKuralı genellikle iki veya daha fazla alanın değerlerini karşılaştırır.
Notlar: Aşağıdaki alan türleri geçerlilik kurallarını desteklemez:
-
Otomatik Sayı
-
OLE Nesnesi
-
Ek
-
Yineleme No
Alan GeçerlilikKuralı oluşturma
-
Geçerliliğini doğrulamak istediğiniz alanı seçin.
-
Tablo Alanları sekmesinin Alan Doğrulama grubunda Doğrulama'ya ve ardından Alan Doğrulama Kuralı'na tıklayın.
-
Kuralı oluşturmak için İfade Oluşturucusu'nu kullanın. İfade Oluşturucusu'nu kullanma hakkında daha fazla bilgi için İfade Oluşturucusu'nu Kullanma makalesine bakın.
Geçerli olmayan alan girişi için görüntülenmek üzere ileti oluşturma
-
Geçerli olmayan giriş için ileti gösterilmesi gereken alanı seçin. Alanın zaten bir geçerlilik kuralının olması gerekir.
-
Tablo Alanları sekmesinin Alan Doğrulama grubunda Doğrulama'ya ve ardından Alan Doğrulama İletisi'ne tıklayın.
-
Uygun bir ileti girin. Örneğin, geçerlilik kuralı >10 ise, iletisi “10'dan küçük bir sayı girin” olabilir.
Alan geçerlilik kuralları ve iletileriyle ilgili bazı örnekler için Geçerlilik kuralı başvurusu bölümüne bakın.
Kayıt GeçerlilikKuralı oluşturma
-
Kayıtların geçerliliğini doğrulamak istediğiniz tabloyu açın.
-
Tablo Alanları sekmesinin Alan Doğrulama grubunda Doğrulama'ya ve ardından Geçerlilik Kuralı'na tıklayın.
-
Kuralı oluşturmak için İfade Oluşturucusu'nu kullanın. İfade Oluşturucusu'nu kullanma hakkında daha fazla bilgi için İfade Oluşturucusu'nu Kullanma makalesine bakın.
Geçerli olmayan kayıt girişi için görüntülenmek üzere ileti oluşturma
-
Geçerli olmayan giriş için ileti gösterilmesi gereken tabloyu açın. Tablonun zaten bir kayıt geçerlilik kuralının olması gerekir.
-
Tablo Alanları sekmesinin Alan Doğrulama grubunda Doğrulama'ya ve ardından Doğrulama İletisi'ne tıklayın.
-
Uygun bir ileti girin. Örneğin, doğrulama kuralı [StartDate]<[EndDate] ise, ileti "BaşlangıçTarihi EndDate'tan önce olmalıdır" olabilir.
Varolan verileri yeni bir geçerlilik kuralıyla sınama
Varolan bir tabloya GeçerlilikKuralı ekliyorsanız, kuralı sınayarak varolan kayıtların geçerli olup olmadığını görmek isteyebilirsiniz.
-
Sınamak istediğiniz tabloyu Tasarım Görünümü'nde açın.
Tablo Tasarımı sekmesinin Araçlar grubunda Test Doğrulama Kuralları'na tıklayın.
-
Uyarı iletisini kapatmak ve sınamayı başlatmak için Evet'i tıklatın.
-
Tabloyu kaydetmeniz sorulursa Evet'i tıklatın.
-
Devam ederken, çeşitli uyarı iletileri görebilirsiniz. Her iletideki yönergeleri okuyun ve sonra sınamayı tamamlamak veya durdurmak için Evet veya Hayır'dan uygun olanı tıklatın.
Formdaki bir denetime GeçerlilikKuralı ekleme
Bir denetime girilen veriyi doğrulamak ve geçersiz veri giren kullanıcılara yardımcı olmak için, form denetiminin Geçerlilik Kuralı özelliğini ve Geçerlilik Metni özelliğini kullanabilirsiniz.
İpucu: Şeritteki Form komutlarından birini kullanmak suretiyle bir tablodan otomatik olarak form oluşturursanız, (varsa) temel tablodaki alanlara ilişkin geçerlilik doğrulaması formdaki ilgili denetimlere devredilir.
Bir denetim, bağlı olduğu tablo alanından farklı bir geçerlilik kuralına sahip olabilir. Bu özellik, formun tablodan daha kısıtlayıcı olmasını istediğinizde işe yarar. Form kuralı uygulanır ve sonra da tablo kuralı uygulanır. Tablo formdan daha kısıtlayıcıysa, tablo alanı için tanımlı kural öncelikli olur. Kurallar karşılıklı olarak birbirini dışlıyorsa, herhangi bir veri girmenizi tümüyle engellerler.
Örneğin, tablodaki bir veri alanına aşağıdaki kuralı uyguladığınızı varsayalım:
<#01/01/2010#
Ancak, daha sonra bu kuralı tarih alanına bağlı form denetimine uyguluyorsunuz:
>=#01/01/2010#
Artık, tarih alanı için 2010 yılından önceki değerlerin girilmesi gerekir, ancak form denetimi de bu yıl veya öncesindeki tarihleri zorunlu tutmaktadır; bu nedenle herhangi bir veri girmeniz tümüyle engellenir.
Denetim için GeçerlilikKuralı oluşturma
-
Değiştirmek istediğiniz formu sağ tıklatın ve ardından Düzen Görünümü'nü tıklatın.
-
Değiştirmek istediğiniz denetimi sağ tıklatın ve sonra bu denetimin özellik sayfasını açmak için Özellikler'i tıklatın.
-
Tümü sekmesine tıklayın ve sonra Geçerlilik Kuralı özellik kutusuna geçerlilik kuralınızı girin.
İpucu: İfade Oluşturucusu'nu başlatmak için Oluştur düğmesini tıklatın.
İfade Oluşturucusu'nu kullanma hakkında daha fazla bilgi için İfade Oluşturucusu'nu Kullanma makalesine bakın.
-
Geçerlilik Metni kutusuna bir ileti girin.
GeçerlilikKuralı başvurusu
Geçerlilik kuralları Access ifade sözdizimini kullanır. İfadeler hakkında daha fazla bilgi için, İfadelere giriş başlıklı makaleye bakın.
GeçerlilikKuralı ve geçerlilik metni örnekleri
GeçerlilikKuralı |
Geçerlilik metni |
---|---|
<>0 |
Sıfırdan farklı bir değer girin. |
>=0 |
Değer sıfır veya sıfırdan daha büyük olmalı. -veya- Pozitif bir sayı girmelisiniz. |
0 or >100 |
Değer ya 0 ya da 100'den büyük olmalı. |
BETWEEN 0 AND 1 |
Yüzde işareti olan bir değer girin. (sayı değerlerini yüzdeler olarak depolayan bir alanla kullanmak için). |
<#01/01/2007# |
2007'den önceki bir tarih girin. |
>=#01/01/2007# AND <#01/01/2008# |
Tarih, 2007 yılında olmalı. |
<Date() |
Doğum Tarihi gelecekte olamaz. |
StrComp(UCase([Soyadı]), [Soyadı],0) = 0 |
Soyadı alanına, veriler büyük harfle girilmelidir. |
>=Int(Now()) |
Bugünün tarihini girin. |
M Or F |
Erkek için E, Kadın için K girin. |
LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" |
Geçerli bir .com, .net, veya .org e-posta adresi girin. |
[İstenenTarih]<=[SiparişTarihi]+30 |
Sipariş tarihinden sonraki 30 gün içinde yer alan bir sevk tarihi girin. |
[BitişTarihi]>=[BaşlangıçTarihi] |
Başlangıç tarihindeki veya sonrasındaki bir bitiş tarihi girin. |
Yaygın GeçerlilikKuralı işleçleri için sözdizimi örnekleri
İşleç |
Fonksiyon |
Örnek |
---|---|---|
NOT |
Zıt değerler için sınama yapar. IS NOT NULL dışındaki tüm karşılaştırma işleçlerinden önce kullanın. |
NOT > 10 (<=10 ile aynı). |
IN |
Listede varolan üyelere eşit değerler için sınama yapar. Karşılaştırma değeri, virgüllerle ayrılmış ve parantez içine alınmış bir liste olmalıdır. |
IN ("Tokyo","Paris","Moskova") |
BETWEEN |
Belirli bir aralıktaki değerler için sınar. İki karşılaştırma değeri kullanmalısınız — düşük veya yüksek — ve bu değerleri AND ayracı ile ayırmalısınız. |
BETWEEN 100 AND 1000 (>=100 AND <=1000 ile aynı) |
LIKE |
Metin ve Not alanlarındaki örnek dizeleri eşleştirir. |
LIKE "Geo*" |
IS NOT NULL |
Kullanıcıların alana değer girmesini zorunlu tutar. Bu, Gerekli alan özelliğini Evet olarak ayarlamakla aynıdır. Bununla birlikte, Gerekli özelliğini etkinleştirirseniz ve kullanıcı değer giremezse, Access biraz karmaşık bir hata iletisi görüntüler. Normalde, IS NOT NULL kullanır ve Geçerlilik Metni özelliğine kolay anlaşılır bir ileti girerseniz, veritabanınız daha kolay kullanılabilir. |
IS NOT NULL |
AND |
Geçerlilik kuralının tüm bölümlerinin doğru olması gerektiğini belirtir. |
>= #01/01/2007# AND <=#03/06/2008# Not: Ayrıca, geçerlilik kurallarını birleştirmek için AND kullanabilirsiniz. Örneğin: NOT "UK" AND LIKE "U*". |
OR |
Geçerlilik kuralının tüm bölümlerinin değil de, bazı bölümlerinin doğru olması gerektiğini belirtir. |
Ocak OR Şubat |
< |
Küçük. |
|
<= |
Küçük veya eşit. |
|
> |
Büyük. |
|
>= |
Büyük veya eşit. |
|
= |
Eşit. |
|
<> |
Eşit değil. |
Geçerlilik kurallarında joker karakterlerini kullanma
Geçerlilik kurallarınızda joker karakterleri kullanabilirsiniz. Access'in iki joker karakter kümesini desteklediğini unutmayın: ANSI-89 ve ANSI-92. Bu standartların her biri farklı bir joker karakter kümesi kullanır.
Varsayılan olarak, tüm .accdb ve .mdb dosyalarında ANSI-89 standardı kullanılır.
Bir veritabanının ANSI standardını ANSI-92 olarak değiştirmek için aşağıdaki yordamı kullanabilirsiniz:
-
Dosya sekmesinde Seçenekler'i tıklatın.
-
Access Seçenekleri iletişim kutusunda Nesne Tasarımcıları'nı tıklatın.
-
Sorgu tasarımı bölümünde, SQL Server Uyumlu Sözdizimi (ANSI 92) öğesinin altında Bu veritabanı'nı seçin.
Joker karakterleri kullanmak ve SQL için ANSI standartları ile ilgili daha fazla bilgi için Access joker karakter başvurusu başlıklı makaleye bakın.