İfadelere giriş

Microsoft Office Access 2007 uygulamasında matematik hesaplamalarını yapma, metin birleştirme veya ayıklama ya da verileri doğrulama gibi çok değişik görevler için ifadeleri kullanabilirsiniz. Bu makalede, ifadelerin ne zaman kullanılması gerektiği, Microsoft Office Excel formülleriyle karşılaştırılmaları ve bileşen bölümlerinin neler olduğu gibi, ifadelerle ilgili arka plan bilgileri verilmektedir.

Makale başlıkları


İfadelere genel bakış

Hesaplandığında tek bir değeri veren, yerleşik veya kullanıcı tanımlı işlevler (Fonksiyon yordamı: Değer döndüren ve ifadede kullanılabilecek yordam. Fonksiyon, Function deyimi ile tanımlanır ve End Function deyimi ile biter.), tanımlayıcılar (tanıtıcı (ifadeler): Alan, denetim veya özelliğin değerine başvuran bir ifade öğesi. Örneğin, Formlar![Siparişler]![SiparişKimliği] Siparişler formu üzerindeki SiparişKimliği denetimindeki değere başvuran bir tanımlayıcıdır.), işleçler (işleç: İfade içinde gerçekleştirilecek hesaplamanın türünü belirten bir simge. Matematiksel, karşılaştırma, mantıksal ve başvuru işleçleri vardır.) ve sabitler (sabit: Hesaplanmamış, bu yüzden de değişmeyen bir değer. Örneğin, 210 sayısı ve "Üç Aylık Gelir" birer sabittir. Bir ifade veya bir ifadenin sonucu olan değer sabit bir sabit değildir.) öğelerinin bir kısmının veya tümünün birleşimine ifade denir.

İfadenin bileşenleri

Örneğin, aşağıdaki ifade bu öğelerin dördünü de içerir:

=Sum([Satın Alma Fiyatı])*0,08

Bu örnekte, Sum() yerleşik bir işlev, [Satın Alma Fiyatı] bir tanımlayıcı, * bir matematik işleci ve 0,08 de bir sabittir. Bu ifade, bir öğe grubu için satış vergilerini hesaplamak üzere form altbilgisi veya rapor altbilgisinde bir metin kutusu içinde kullanılabilir.

İfadeler, bu örnekte gösterildiğinden çok daha karmaşık veya çok daha basit olabilir. Örneğin, bu Boole (Boole: Doğru (sıfır olmayan) veya yanlış (0) olarak değerlendirilebilen bir ifade. Doğru ve Yanlış anahtar sözcüklerini kullanarak sırasıyla -1 ve 0 değerlerini verebilirsiniz. Evet/Hayır alan verisi türü Boole'dur ve Evet için -1 değerine sahiptir.) ifadesi yalnızca bir işleç ve bir sabitten oluşur:

>0

Bu ifade, 0'dan büyük bir sayı ile karşılaştırıldığında Doğru değerini, sıfırdan küçük bir sayı ile karşılaştırıldığında ise Yanlış değerini getirir. Bu ifadeyi, yalnızca pozitif değerlerin girilmesini sağlamak amacıyla, bir denetim veya tablo alanının Geçerlilik Kuralı özelliğinde kullanabilirsiniz.

Access'te, hesaplama yapmak, karakterleri işlemek veya verileri sınamak için bir çok yerde ifadeler kullanılır. Tablolar, sorgular, formlar, raporlar ve makroların tümü bir ifadeyi kabul eden özelliklere sahiptir. Örneğin, bir denetimin Denetim Kaynağı ve Varsayılan Değer özelliklerinde ifadeleri kullanabilirsiniz. İfadeleri aynı zamanda, bir tablo alanının Geçerlilik Kuralı özelliğinde de kullanabilirsiniz. Ayrıca, bir olay yordamı veya modül için Microsoft Visual Basic for Applications (VBA) kodu yazarken, tablo veya sorgu gibi Access nesnelerinde kullandığınıza benzer ifadeleri sıkça kullanırsınız.

 Not   İfadenin bileşenleri hakkında daha fazla bilgi için, bu makalenin devamında bulunan İfadenin bileşenleri bölümüne bakın.

Sayfanın Başı Sayfanın Başı

İfadeler ne amaçla kullanılır?

Access'te, ifadeleri kullanarak aşağıdakilerden istediğinizi yapabilirsiniz:

  • Verilerinizde doğrudan varolmayan değerleri hesaplayabilirsiniz. Form ve raporlardaki sorgu alanları ve denetimlere ilişkin değerleri hesaplayabilirsiniz.
  • Bir form veya raporda, tablo alanı veya denetim için varsayılan değer ayarlayabilirsiniz. Bu varsayılan değerler tablo, form veya raporu her açtığınızda görünür.
  • Doğrulama kuralı oluşturabilirsiniz. Doğrulama kuralları, kullanıcıların bir alan veya denetime girebileceği değerleri denetler.
  • Sorgu ölçütleri belirtebilirsiniz.

Access'te ifadeleri kullanmanın en yaygın yollarından biri, verilerinizde doğrudan bulunmayan değerleri hesaplamaktır. Örneğin, bir sorguda satır öğesi toplamı hesaplayan bir sütun oluşturabilir ve sonra da bu değeri bir form veya raporda kullanabilirsiniz. Sorguda bu tür hesaplama sonucu elde edilen sütuna hesaplanan alan denir. Örneğin, bir sorguda bulunan aşağıdaki ifade, uygulanan indirime göre satır öğesi toplamlarını hesaplar:

Tutar: CCur([Sipariş Ayrıntıları].[Birim Fiyat]*[Miktar]*(1-[İndirim])/100)*100

Bu ifade, sonuçta elde edilen sütuna, yani hesaplanan alana Tutar adını verir.

Kendi değerini otomatik olarak hesaplayan bir tablo alanı oluşturamazsınız. Gerekirse, başka bir yerde (örneğin, bir sorgu veya formda) yapılan hesaplamanın sonuçlarını depolamak için bir tablo alanı kullanabilirsiniz. Bununla birlikte, bunu yapmak için belirli bir neden olmadığı sürece, yalnızca hesaplamayı yapmak için gerekli değerleri depolamak ve daha sonra gerek duyduğunuzda sonuçları hesaplamak daha verimli bir yöntemdir.

Örneğin, faturadaki bir satır öğesi için toplam Türk Lirası tutarını hesaplamanız gerektiğini varsayalım. Satır öğesi toplamını veritabanında depolamak yerine, veritabanında depoladığınız diğer iki öğeden, yani miktar ve fiyat öğelerinden gerektiğinde bu değeri hesaplayabilirsiniz. Fatura raporundaki bir metin kutusu denetiminde, değeri hesaplamak için aşağıdaki ifadeyi kullanın:

=CCur([Miktar]*[Fiyat])

Bu ifade miktar ile fiyatı çarpar ve sonra, sonucu Para Birimi veri türüne dönüştürmek için para birimine dönüştürme (CCur) işlevini kullanır. Ayrıca, her sipariş için bir indirim de hesaplayabilirsiniz.

İki veya daha fazla tablo alanındaki veriler üzerinde hesaplama veya işlem yapmanız gerektiğinde, hesaplanan bir alan oluşturabilirsiniz. Örneğin, çoğu tablo ad ve soyad bilgilerini ayrı alanlarda depolar. Ad ve soyad bilgilerini birleştirmek ve bunları tek bir alanda görüntülemek isterseniz, bir sorgu içinde hesaplanan alan oluşturabilirsiniz. Daha önce belirtildiği gibi, bu tür bir hesaplanan alanın doğrudan tabloda oluşturulması mantıklı gelebilir; ancak, tablolar bu işlem türünü desteklemez. Tablolarda, gerekli ifadenin eklenebileceği bir alan veya özellik sağlanmamıştır.

Ad ve soyad bilgilerini birleştiren bir hesaplanan alan şu şekilde görünecektir: [Ad] & " " & [Soyad]. Bu durumda, 've' işleci (&) Ad alanındaki değeri, bir boşluk karakterini (çift tırnak işareti içine alınmış bir boşluk) ve Soyad alanındaki değeri birleştirir.

Access'te, bir tablo alanı veya denetime varsayılan değer vermek için de ifadeleri kullanabilirsiniz. Örneğin, tarih alanının varsayılan değerini geçerli tarih olarak ayarlamak için, bu alana ait Varsayılan Değer özellik kutusuna Date() yazın.

Ayrıca, bir geçerlilik kuralı oluşturmak için de ifadeleri kullanabilirsiniz. Örneğin, denetim veya tablo alanında bir geçerlilik kuralı kullanarak, girilen tarihin geçerli tarihten büyük veya bu tarihe eşit olmasını zorunlu tutabilirsiniz. Bu durumda, Geçerlilik Kuralı özellik kutusundaki değeri >= Date() olarak ayarlamanız gerekir.

Son olarak, bir sorguyla ilgili ölçütleri belirtmek için ifade kullanabilirsiniz. Örneğin, belirli bir zaman diliminde sevk edilen siparişler için ürün satışlarını görmek istediğinizi varsayalım. Ölçütleri girerek bir tarih aralığı tanımladığınızda, Access yalnızca ölçütlere uygun satırları sonuç olarak getirir. Örneğin, ifadeniz aşağıdaki gibi olabilir:

Between #1/1/2007# And #12/31/2007#

Sorguya ölçütler ekleyip sorguyu çalıştırdığınızda, yalnızca belirtilen tarihlere uygun değerleri sonuç olarak verir.

Sayfanın Başı Sayfanın Başı

Access ifadeleri ile Excel formüllerinin karşılaştırılması

İkisinin de sonucu ortaya çıkarmak için benzer öğeler kullanması bakımından, Access ifadeleri Excel formüllerini andırır. Hem Excel formülleri hem de Access ifadeleri aşağıdakilerden bir veya daha fazlasını içerir:

  • Tanımlayıcılar    Excel'de tanımlayıcılar, bir çalışma kitabındaki tek tek hücrelerin veya hücre aralıklarının adlarıdır (A1, B3:C6 veya Sayfa2!C32 gibi). Access'te tanımlayıcılar, tablo alanlarının ([Kişiler]![Ad] gibi), form veya raporlardaki denetimlerin (Formlar![Görev Listesi]![Açıklama] gibi) adları ya da bu alanların veya denetimlerin özellikleridir (Formlar![Görev Listesi]![Açıklama].SütunGenişliği gibi).
  • İşleçler    Hem Access'te hem de Excel'de, değerleri karşılaştırmak veya verileriniz üzerinde basit hesaplamalar yapmak için işleçler kullanılır. Örnek olarak + (artı) veya - (eksi) işleçleri verilebilir.
  • İşlevler ve bağımsız değişkenler    Hem Access'te hem de Excel'de, yalnızca işleçleri kullanarak yapamayacağınız görevleri gerçekleştirmek için işlevler ve bağımsız değişkenler kullanılır (örneğin, bir alandaki değerlerin ortalamasını bulabilir veya bir hesaplamanın sonucunu para birimi biçimine dönüştürebilirsiniz. İşlevlere örnek olarak SUM ve STDEV verilebilir. Bağımsız değişkenler, işlevlere bilgi sağlayan değerlerdir. Hem Access'te hem de Excel'de aralarından seçim yapılabilecek birçok işlev olmakla birlikte, programlardaki benzer işlevlerin adları bazen farklıdır. Örneğin, Excel'deki ORTALAMA işlevi Access'te AVG işlevine karşılık gelir.
  • Sabitler    Hem Access'te hem de Excel'de, bir ifade kullanılarak hesaplanmamış sayılar ya da metin dizesi gibi değişmeyen değerlere sabit adı verilir.

Access ifadeleri Excel formüllerinde kullanılana benzer işleçler ve sabitler kullanır, ancak Access ifadelerinde kullanılan tanımlayıcılar ve işlevler farklıdır. Excel formülünü yalnızca bir yerde, yani çalışma sayfasındaki hücre içinde kullanabilirsiniz. Ancak, Access ifadelerini aşağıdakileri de kapsayan çok farklı görevlerde birçok yerde kullanabilirsiniz:

  • Formlarda ve raporlarda hesaplanan denetimler oluşturma
  • Sorgularda hesaplanan alanlar oluşturma
  • Sorgularda ölçüt olarak yararlanma
  • Alana veya formdaki bir denetime girilen verileri doğrulama
  • Raporlardaki verileri gruplandırma

Matematik işleçlerini kullanarak sayısal değerleri veya tarih/saat değerlerini hesaplamak için bir Access ifadesi ya da Excel formülü kullanabilirsiniz. Örneğin, müşteriye uygulanacak indirimli fiyatı hesaplamak için, =C2*(1-D2) Excel formülünü veya = [Birim Fiyat]*(1-[İndirim]) Access ifadesini kullanabilirsiniz.

Ayrıca, dize işleçlerini kullanarak dizeleri birleştirmek, ayırmak veya diğer işlemleri yapmak için de bir Access ifadesi veya Excel formülü kullanabilirsiniz. Örneğin, ad ve soyad bilgisini tek bir dizede birleştirmek için, =D3 & " " & D4 Excel formülünü veya = [Ad] & " " & [Soyad] Access ifadesini kullanabilirsiniz.

Sayfanın Başı Sayfanın Başı

İfadenin bileşenleri

İfadeler; tanımlayıcılar, işleçler, işlevler ve bağımsız değişkenler, sabitler ve değerlerden oluşabilir. Aşağıdaki bölümlerde bu bileşenler daha ayrıntılı olarak anlatılmaktadır. Bu bölümlerdeki örneklerde ayrıca, ifadelerin kullandıkları sözdizimleriyle ilgili kısa açıklamalar verilmektedir.

Tanımlayıcılar

Tanımlayıcı bir alan, özellik veya denetimin adıdır. İfadede bir alan, özellik veya denetimle ilişkili değere başvuruda bulunmak için tanımlayıcı kullanılır. Örneğin, =[GereklilikTarihi]-[SevkiyatTarihi] ifadesine dikkat edin. Bu ifade SevkiyatTarihi alanı veya denetiminin değerini GereklilikTarihi alanı veya denetiminin değerinden çıkarır. Bu ifadede, hem GereklilikTarihi hem de SevkiyatTarihi tanımlayıcı olarak kullanılmıştır.

İşleçler

Access +, -, * (çarpı) ve / (bölü) gibi yaygın olarak kullanılarak aritmetik işleçler de dahil olmak üzere, çok çeşitli işleçleri destekler. Ayrıca, değerleri karşılaştırmak için < (küçüktür) veya > (büyüktür) gibi karşılaştırma işleçlerini, metinleri bitiştirmek (birleştirmek) için & ve + gibi metin işleçlerini, doğru veya yanlış değerleri belirlemek için Not ve And gibi mantıksal işleçleri ve Access'e özgü diğer işleçleri de kullanabilirsiniz.

İşlevler ve bağımsız değişkenler

İşlevler, ifadelerinizde kullanabileceğiniz yerleşik yordamlardır. İşlevler, değerleri hesaplama, metinleri ve tarihleri işleme ve verileri özetleme gibi çok çeşitli işlemlerde kullanılır. Örneğin, yaygın olarak kullanılan işlevlerden biri geçerli tarihi değer olarak getiren Date işlevidir. Date işlevini çok farklı şekillerde (örneğin, tablodaki bir alan için varsayılan değeri ayarlayan ifadede) kullanabilirsiniz. Bu örnekte, her yeni kayıt eklendiğinde, alanın değeri varsayılan olarak geçerli tarihe ayarlanmaktadır.

Bazı işlevler için bağımsız değişkenler gerekir. Bağımsız değişken, işlev için girdi sağlayan değerdir. İşlev için birden fazla bağımsız değişken gerekiyorsa, bağımsız değişkenleri virgülle ayırırsınız. Örneğin, aşağıdaki örnek ifadede yer alan Date işlevini gözden geçirin:

=Format(Date(),"aaaa g, yyyy")

Bu örnekte iki bağımsız değişken kullanılmaktadır. İlk bağımsız değişken, geçerli tarihi değer olarak getiren Date() işlevidir. İlk bağımsız değişkenden virgül ile ayrılan ikinci bağımsız değişken ("aaaa g, yyyy"), Format işlevine getirilen tarih değerini nasıl biçimlendirmesi gerektiğini söyleyen bir metin dizesini belirtir. Metin dizesinin tırnak işaretleri içine alınması gerektiğine dikkat edin. Bu ifade aynı zamanda, bir işlevin getirdiği değeri çoğu zaman bir diğer işlev için bağımsız değişken olarak kullanabileceğinizi göstermektedir. Bu durumda, Date() işlevi bağımsız değişken gibi davranır.

Ayrıca Bkz: bölümünde, işlevler ve ifade sözdizimi hakkında daha fazla bilgiye ulaşmanızı sağlayan bağlantılar bulabilirsiniz.

Sabitler

Access çalışırken değeri değişmeyen öğeye sabit denir. Doğru, Yanlış ve Boş sabitleri ifadelerde sıklıkla kullanılır. Ayrıca, VBA kodunda kendi sabitlerinizi de tanımlayarak, bunları VBA yordamlarında kullanabilirsiniz. VBA, Access'in kullandığı programlama dilidir.

 Not   VBA sabitlerini ifadelerinizde kullandığınız özel işlevlerde kullanamazsınız. Örneğin, VBA'da haftanın günleri için sabitler vardır: vbSunday Pazar gününü, vbMonday Pazartesi gününü temsil eder ve bu şekilde gider. Bu sabitlerin her birine karşılık gelen bir sayısal değer vardır. Örneğin, vbSunday için sayısal değer 1 ve vbMonday için 2'dir. Bu sabitleri bir ifade içinden çağrılan özel işlevde kullanamazsınız. Bunun yerine sayısal değerleri kullanmanız gerekir.

Değerler

İfadelerinizde, 1.254 sayısı veya "1 ile 10 arasında bir sayı girin," gibi hazır bilgi değerlerini kullanabilirsiniz. Ayrıca, gerekirse işaret ve ondalık ayırıcının da yer aldığı bir sayı dizisi olabilen, sayısal değerleri kullanabilirsiniz. İşaret olmazsa, Access değerin pozitif bir değer olduğunu varsayar. Değeri negatif yapmak için, eksi işaretini (-) ekleyin. Bilimsel gösterim de kullanabilirsiniz. Bunun için, "E" veya "e" harfini ve üssü işaretini ekleyin (örneğin, 1,0E-6).

Sabit olarak metin dizelerini kullandığınızda, Access'in bunları doğru olarak yorumladığından emin olmak için dizeyi tırnak işareti içine alın. Bazı durumlarda, Access tırnak işaretlerini sizin için verir. Örneğin, bir geçerlilik kuralı veya sorgu ölçütleri için ifadeye metin eklediğinizde, Access metin dizelerinizi otomatik olarak tırnak içine alır.

Örneğin, Paris metnini girerseniz, Access ifade içinde bunu "Paris" olarak gösterir. İfadenin, gerçekten de tırnak işaretleri içinde olan bir dize oluşturmasını isterseniz, iç içe geçen dizeyi tek tırnak işareti (') içine ya da üç kez çift tırnak işareti (") içine almanız gerekir. Örneğin, aşağıdaki ifadeler eşdeğerdir:

Formlar![Kişiler]![Şehir].VarsayılanDeğer = ' "Paris" '

Formlar![Kişiler]![Şehir].VarsayılanDeğer = " " "Paris" " "

Tarih/saat değerleri kullanmak için, değerleri sayı işaretleri (#) içine alın. Örneğin, #3-7-07#, #7-Mar-07# ve #Mar-7-2007# geçerli tarih/saat değerleridir. Access # karakterleri arasına alınmış geçerli bir tarih/saat değeriyle karşılaştığında, bu değeri otomatik olarak Tarih/Saat veri türünde kabul eder.

Sayfanın Başı Sayfanın Başı

İfade örnekleri

Aşağıdaki tabloda, bazı örnek Access ifadeleri ve bunların normalde nasıl kullanıldıkları listelenmiştir:

İfade Amaç
=[GereklilikTarihi]-[SevkiyatTarihi] Rapordaki iki metin kutusu denetiminde (GereklilikTarihi ve SevkiyatTarihi) yer alan tarih değerleri arasındaki farkı hesaplar.
Date() Tarih/Saat tablo alanının varsayılan değerini geçerli tarihe ayarlar.
Tutar: CCur([Sipariş Ayrıntıları].Birim Fiyat*[Miktar]*(1-[İndirim])/100)*100 Sorguda Tutar adında bir hesaplanan alan oluşturur.
Between #1/1/2007# And #12/31/2007# Sorguda Tarih/Saat alanı için ölçütleri belirtir.
=[Siparişler Alt Formu].Form!SiparişAltToplamı Siparişler formunda bulunan Siparişler alt formundaki SiparişAltToplamı denetiminin değerini getirir.
>0 Tablodaki bir sayısal alan için geçerlilik kuralı ayarlar; kullanıcıların sıfırdan büyük değerler girmesi gerekir.

Bazı ifadeler eşittir (=) işleciyle başlarken, bazıları bu şekilde başlamaz. Form veya rapordaki bir denetim için değer hesapladığınızda, ifadeyi başlatmak için = işleci kullanılır. Bir sorguya ya da alan veya denetimin VarsayılanDeğer veya GeçerlilikKuralı özelliğine değer yazma gibi diğer durumlarda, ifadeyi tablodaki bir Metin alanına eklemediğiniz sürece = işleci kullanılmaz. Bazı durumlarda, örneğin sorgulara ifade eklerken, Access = işlecini otomatik olarak kaldırır.

 
 
Uygulandığı uygulamalar:
Access 2007