Microsoft Access'i kullanırken genellikle doğrudan verilerinizde olmayan değerlerle çalışmanız gerekir. Örneğin, bir siparişin satış vergisini veya siparişin kendi toplam değerini hesaplamak istersiniz. İfadeleri kullanarak bu değerleri hesaplayabilirsiniz. İfadeleri kullanmak için, önce düzgün söz dizimini kullanarak bunları yazarsınız. Söz dizimi, ifadedeki sözcüklerin ve simgelerin doğru bir şekilde bir araya getirilmesini sağlayan kurallar kümesidir. Başlangıçta, Access'deki ifadeleri okumak biraz zordur. Ama ifade söz dizimi iyi anlaşıldığında ve biraz da alıştırma yapıldığında çok daha kolaylaşır.
Bu makalede
- İfadelere genel bakış
- İfadelerin bileşenleri
- Nesneler, koleksiyonlar ve özellikler
- Tanımlayıcılar
- İşlevler, işleçler, sabitler ve değerler
- Web veritabanında ifadeleri iç içe kullanma sınırı 65'tir
İfadelere genel bakış
Bir ifade, şunların bir bölümünün veya tümünün birleşimidir: tek bir değer olarak değerlendirilen yerleşik veya kullanıcı tanımlı işlevler, tanımlayıcılar, işleçler, değerler ve sabitler.
Örneğin, aşağıdaki ifade yaygın bileşenleri içerir:
=Sum([Purchase Price])*0.08
-
Sum()yerleşik bir işlevdir -
[Purchase Price]bir tanımlayıcıdır -
*matematik işlecidir -
0.08sabittir
Bu ifade, bir grup öğenin satış vergisini hesaplamak için form alt bilgisindeki veya rapor alt bilgisindeki bir metin kutusunda kullanılabilir.
İfadeler, bu örnekte gösterildiğinden çok daha karmaşık veya çok daha basit olabilir. Örneğin, bu Boole ifadesi yalnızca bir işleç ve sabitlerden oluşur:
>0
Bu ifade şunları döndürür:
-
True0'dan büyük bir sayı ile karşılaştırıldığında. -
False0'dan küçük bir sayı ile karşılaştırıldığında.
Bu ifadeyi, yalnızca pozitif değerlerin girildiğinden emin olmak için bir denetimin veya tablo alanının Validation Rule özelliğinde kullanabilirsiniz. İfadeler birçok konumda hesaplamalar yapmak, karakterleri işlemek veya verileri test etmek için kullanılabilir. Tablo, sorgu, form, rapor ve makroların tümünün ifade kabul eden özellikleri vardır. Örneğin, bir denetimin Denetim Kaynağı ve Varsayılan Değer özelliklerinde ifade kullanabilirsiniz. İfadeleri tablo alanının Doğrulama Kuralı özelliğinde de kullanabilirsiniz.
İfadelerin bileşenleri
İfade oluşturmak için işlevleri, işleçleri, sabitleri ve değerleri kullanarak tanımlayıcıları bir araya getirirsiniz. Geçerli bir ifade en az bir işlev veya en az bir tanımlayıcı içermelidir ve sabitler veya işleçler de içerebilir. İfadeyi başka bir ifadenin parçası olarak da kullanabilirsiniz; genellikle bir işlevin bağımsız değişkeni olarak. Buna ifadeyi iç içe yerleştirmek denir.
Tanımlayıcılar Genel biçim şöyledir:
[Collection name]![Object name].[Property name]Tanımlayıcının, yalnızca ifadeniz bağlamında benzersiz olmasını sağlayacak kadar olan bölümlerini belirtmeniz gerekir. Tanımlayıcının biçiminde olması sık rastlanır bir durum
[Object name]değildir.İşlevler Genel biçim şöyledir:
Function(argument, argument)Bağımsız değişkenlerden biri genellikle bir tanımlayıcı veya ifadedir. Bazı işlevlere bağımsız değişken gerekmez. Belirli bir işlevi kullanmadan önce, işlevin söz dizimini gözden geçirin. Daha fazla bilgi için bkz. İşlevler (kategoriye göre düzenlenmiş).
İşleçler Genel biçim şöyledir:
Identifier operator identifierİşleçler bölümünde ayrıntılarıyla gösterildiği gibi, bu biçimin bazı özel durumları vardır.
Sabitler Genel biçim şöyledir:
Identifier comparison_operator constantDeğerler Değerler ifadenin birçok konumunda yer alabilir.
Nesneler, koleksiyonlar ve özellikler
Access veritabanındaki tüm tablolar, sorgular, formlar, raporlar ve alanlar tek tek nesneler olarak bilinir. Her nesnenin bir adı vardır. Microsoft Office Access Kişiler şablonundan oluşturulan veritabanındaki Kişiler tablosu gibi, bazı nesneler zaten adlandırılmıştır. Yeni nesne oluşturduğunuzda, ona bir ad verirsiniz.
Belirli bir nesne türünün tüm üyelerinden oluşan küme koleksiyon olarak bilinir. Örneğin, veritabanındaki tüm tablolar kümesi bir koleksiyondur. Veritabanınızda bir koleksiyonun üyesi olan bazı nesnelerin kendileri de başka nesneler içeren koleksiyonlar olabilir. Örneğin, tablo nesnesi alan nesneleri içeren bir koleksiyondur.
Nesnelerin, karakteristiklerini açıklayan ve bunları değiştirmek için bir yol sağlayan özellikleri vardır. Örneğin sorgu nesnesinin, çalıştırdığınızda nasıl görüneceğini hem açıklayan hem de belirtmenize olanak tanıyan bir Varsayılan Görünüm özelliği vardır.
Aşağıdaki diyagramda koleksiyonlar, nesneler ve özellikler arasındaki ilişki çizilmiştir:
|
3 A özelliği 2 Bir nesne 1 Bir koleksiyon |
|---|
Tanımlayıcılar
İfadede nesne, koleksiyon veya özellik kullandığınızda, bu öğeye başvurmak için tanımlayıcı kullanırsınız. Tanımlayıcı, tanımladığınız öğenin adını ve bir de ait olduğu öğenin adını içerir. Örneğin, bir alanın tanımlayıcısı alanın adını ve bu alanın ait olduğu tablonun adını içerir. Bu tür bir tanımlayıcı örneği:
[Customers]![BirthDate]
Bazı durumlarda, öğenin adı kendi başına bir tanımlayıcı işlevi görür. Öğenin adı, oluşturduğunuz ifade bağlamında benzersiz olduğunda bu durum geçerlidir. Tanımlayıcının kalan kısmı bağlam tarafından örtük olarak belirtilir. Örneğin, tek bir tablo kullanan bir sorgu tasarlıyorsanız tek başına alan adları tanımlayıcı işlevi görür, çünkü tablodaki alan adlarının o tablo içinde benzersiz olması gerekir. Tek tablo kullandığınız için, sorguda bir alana başvurmak için kullandığınız her tanımlayıcıda tablo adı örtük olarak belirtilir.
Başka durumlarda, başvurunun çalışması için tanımlayıcının bölümlerini açıkça belirtmeniz gerekir. Tanımlayıcı ifade bağlamında benzersiz olmadığında bu durum geçerlidir. Bir belirsizlik olması durumunda, tanımlayıcının bağlamda benzersiz olması için yeteri kadar parçasını açıkça belirtmelisiniz. Örneğin, biri Ürünler, diğeri ise Siparişler adlı iki tablo kullanan bir sorgu tasarladığınızı ve her iki tabloda da ÜrünKimliği adlı bir alanın bulunduğunu varsayalım. Böyle bir durumda, sorguda iki ÜrünKimliği alanından birine başvurmak için kullandığınız tanımlayıcı, alanı adının yanı sıra tablo adını da içermelidir. Örneğin:
[Products]![ProductID]
Tanımlayıcı işleçleri Tanımlayıcıda kullanabileceğiniz üç işleç vardır:
- Patlama işleci (
!) - Nokta işleci (
.) - Köşeli ayraç işleci (
[ ])
Bu işleçleri, tanımlayıcının her parçasını köşeli ayraç içine alarak ve ardından bunları ünlem veya nokta işleciyle birleştirerek kullanırsınız. Örneğin, Çalışanlar adlı bir tablodaki Soyadı adlı alanın tanımlayıcısı olarak [Employees]![Last Name]ifade edilebilir. Ünlem işleci Access'e, izleyen öğenin ünlem işlecinden önce gelen koleksiyona ait bir nesne olduğunu söyler. Bu örnekte [Soyadı], kendisi de bir tablo nesnesi olan [Çalışanlar] koleksiyonuna ait bir alan nesnesidir.
Net olarak söylemek gerekirse, bir tanımlayıcıyı veya kısmi tanımlayıcıyı her zaman köşeli ayraç içine almanız gerekmez. Tanımlayıcıda boşluk veya başka özel karakter yoksa, Access ifadeyi okurken köşeli ayraçları otomatik olarak ekler. Ancak köşeli ayraçları kendiniz yazmak iyi bir uygulamadır; bu, hatalardan kaçınmanıza yardımcı olur ve ayrıca ifadenin belirli bir bölümünün tanımlayıcı olduğuna ilişkin görsel bir ipucu olarak işlev görür.
İşlevler, işleçler, sabitler ve değerler
İfade oluşturmak için tanımlayıcılardan fazlasına ihtiyacınız vardır; bir tür eylem gerçekleştirmeniz gerekir. İfadede eylem gerçekleştirmek için işlevleri, işleçleri ve sabitleri kullanırsınız.
İşlevler
İşlev, ifadede kullanabildiğiniz bir yordamdır. Date gibi bazı işlevlerin çalışması için herhangi bir giriş gerekmez. Öte yandan işlevlerin çoğuna giriş gerekir ve bu girişler bağımsız değişkenler olarak adlandırılır.
Bu makalenin başındaki örnekte, DatePart işlevi iki bağımsız değişken kullanır: değeri ve değeri tarih bağımsız değişkeni olan "yyyy"[Customers]![BirthDate]bir aralık bağımsız değişkeni. DatePart işlevi için en az iki bağımsız değişken (aralık ve tarih) gerekir, ama dört adede kadar bağımsız değişkeni kabul edebilir.
Aşağıdaki listede, ifadelerde yaygın olarak kullanılan bazı işlevler gösterilir. Her işlevde kullandığınız söz dizimi hakkında daha fazla bilgi edinmek için o işlevin bağlantısına tıklayın.
Date işlevi, ifadeye geçerli sistem tarihini eklemek için kullanılır. Çoğunlukla Format işleviyle kullanılır ve tarih/saat verileri içeren alanlar için alan tanımlayıcılarıyla da kullanılır.
=Date()DatePart işlevi, bir tarihin bir kısmını (genellikle alan tanımlayıcısından alınan bir tarih, ancak bazen Tarih gibi başka bir işlev tarafından döndürülen bir tarih değeri) belirlemek veya ayıklamak için kullanılır.
DatePart ( "yyyy", Date())DateDiff işlevi, genellikle bir alan tanımlayıcısından alınan tarih ile Date işlevi kullanılarak elde edilen tarih arasındaki iki tarih arasındaki farkı belirlemek için kullanılır.
=DateDiff("d", Now(), [Orders].[ReceiveBefore])-10Format işlevi, tanımlayıcıya ve başka bir işlevin sonuçlarına biçim uygulamak için kullanılır.
Format([Date],"ww")=Format(Now(),"ww")-1IIf işlevi, bir ifadeyi true veya false olarak değerlendirmek ve ifade true olarak değerlendirilirse bir değer, ifade false olarak değerlendirilirse farklı bir değer döndürmek için kullanılır.
=IIf([CountryRegion]="Italy", "Italian", "Some other language")InStr işlevi, bir karakterin veya dizenin başka bir dize içindeki konumunu aramak için kullanılır. Arama yapılan dize çoğunlukla bir alan tanımlayıcısından elde edilir.
InStr(1,[IPAddress],".")Left, Mid ve Right işlevleri, en soldaki karakterden (Left), ortada belirli bir konumdan (Mid) veya en sağdaki karakterden (Right) başlayarak bir dizeden karakterleri ayıklamak için kullanılır. Bunlar yaygın olarak InStr işleviyle kullanılır. Bu işlevlerin karakterleri ayıkladığı dize çoğunlukla bir alan tanımlayıcısından elde edilir.
Left([ProductName], 1) Right([AssetCode], 2) Mid([Phone],2,3)
İşlevlerin listesi için bkz. İşlevler (kategoriye göre düzenlenmiş).
İşleçler
İşleç, ifadenin diğer öğeleri arasındaki belirli bir aritmetik veya mantıksal ilişkiyi gösteren bir sözcük veya simgedir. İşleçler şunlar olabilir:
- Artı işareti (
+) gibi aritmetik. -
Eşittir işareti (
=) gibi karşılaştırma. -
Mantıksal, örneğin
Not. -
Birleştirme, gibi
&. -
Özel, örneğin
Like.
İşleçler genel olarak iki tanımlayıcı arasındaki ilişkiyi göstermek için kullanılır. Aşağıdaki tablolarda, Access ifadelerinde kullanabileceğiniz işleçler açıklanır.
İki veya daha çok sayıdan bir değeri hesaplamak veya bir sayının pozitif olan değerini negatife dönüştürmek için aritmetik işleçleri kullanırsınız.
| İşleç | Amaç | Örnek |
|---|---|---|
+ |
İki sayının toplamını alır. | [AltToplam]+[SatışVergisi] |
- |
İki sayı arasındaki farkı bulur veya sayının negatif değerini gösterir. | [Fiyat]-[İndirim] |
* |
İki sayının çarpımını alır. | [Miktar]*[Fiyat] |
/ |
İlk sayıyı ikinci sayıya böler. | [Toplam]/[ÖğeSayısı] |
\ |
Her iki sayıyı da tamsayıya yuvarlar, ilk sayıyı ikinci sayıya böler ve sonucu keserek tamsayı değerini gösterir. | [Kayıtlı]\[Odalar] |
Mod |
İlk sayıyı ikinci sayıya böler ve yalnızca kalan değeri döndürür. | [Kayıtlı] Mod [Odalar] |
^ |
Sayıyı bir üsse yükseltir. | Sayı ^ Üs |
Karşılaştırma
Karşılaştırma işleçlerini, değerleri karşılaştırmak ve doğru, yanlış veya Null (bilinmeyen değer) sonucunun döndürülmesini sağlamak için kullanırsınız
| İşleç | Amaç |
|---|---|
< |
İlk değerin ikinci değerden küçük olup olmadığını belirler. |
<= |
İlk değerin ikinci değerden küçük veya ona eşit olup olmadığını belirler. |
> |
İlk değerin ikinci değerden büyük olup olmadığını belirler. |
>= |
İlk değerin ikinci değerden büyük veya ona eşit olup olmadığını belirler. |
= |
İlk değerin ikinci değere eşit olup olmadığını belirler. |
<> |
İlk değerin ikinci değere eşit olmadığının doğru olup olmadığını belirler. |
Her durumda, ilk değer veya ikinci değer ise Nullsonuç da Nullolur.
Null Bilinmeyen bir değeri temsil ettiğinden, ile Null herhangi bir karşılaştırmanın sonucu da bilinmez.
Mantıksal
Mantıksal işleçleri, iki değeri birleştirmek ve doğru, yanlış veya Null sonucunun döndürülmesini sağlamak için kullanırsınız. Mantıksal işleçlere Boole işleçleri adı verildiğini de görebilirsiniz.
| İşleç | Kullanım | Açıklama |
|---|---|---|
And |
İfade1 And İfade2 | Hem İfade1 hem de İfade2 doğru olduğunda, doğrudur. |
Or |
İfade1 Or İfade2 | İfade1 veya İfade2'den herhangi biri doğru olduğunda, doğrudur. |
Eqv |
İfade1 Eqv İfade2 | Hem İfade1 hem de İfade2 doğru olduğunda veya hem İfade1 hem de İfade2 yanlış olduğunda, doğrudur. |
Not |
Not İfade | İfade doğru olmadığında, doğrudur. |
Xor |
İfade1 Xor İfade2 | İfade1 ve İfade2'den yalnızca biri doğru olduğunda, doğrudur. |
Birleştirme
Birleştirme işleçlerini, iki metin değerini tek bir dizede bir araya getirmek için kullanırsınız.
| İşleç | Kullanım | Açıklama |
|---|---|---|
& |
dize1 & dize2 | İki dizeyi birleştirerek tek bir dize oluşturur. |
+ |
dize1 + dize2 | Tek bir dize oluşturmak için iki dizeyi birleştirir ve null değerleri yayar. |
Özel
Özel işleçleri aşağıdaki tabloda açıklandığı gibi kullanırsınız.
| İşleç | Açıklama | Daha Fazla Bilgi İçin |
|---|---|---|
Is Null or Is Not Null |
Bir değerin Null olduğunu veya Null olmadığını belirler. | |
Like "pattern" |
ve *joker karakter işleçlerini ?kullanarak dize değerlerini eşleştirir. |
Like İşleci |
Between val1 And val2 |
Sayısal bir değerin veya tarih değerinin aralık içinde yer alıp almadığını belirler. | Between...And İşleci |
In(string1,string2...) |
Dize değerinin bir dize değerleri kümesi içinde yer alıp almadığını belirler. | In İşleci |
Sabitler
Sabit, ifadede kullanılabilen ve değişmeyen bilinen bir değerdir. Access'te yaygın olarak kullanılan dört sabit vardır:
-
Truemantıksal olarak doğru olan bir şeyi gösterir. -
Falsemantıksal olarak yanlış olan bir şeyi gösterir. -
Nullbilinen bir değerin eksik olduğunu gösterir. -
"" (empty string)boş olduğu bilinen bir değeri gösterir.
Sabitler, işlevin bağımsız değişkenleri olarak kullanılabileceği gibi ifadede ölçütün bir parçası olarak da kullanılabilir. Örneğin, sorgudaki bir sütunun ölçütünün parçası olarak boş dize sabitini ("") kullanarak bu sütunun alan değerlerini değerlendirebilir ve ölçüt olarak aşağıdakileri girebilirsiniz: <>"". Bu örnekte, <> bir işleçtir ve "" bir sabittir. Birlikte kullanıldığında, uygulandığı tanımlayıcının boş dizeyle karşılaştırılması gerektiğini belirtirler. Tanımlayıcının değeri boş dize dışında herhangi bir değer olduğunda, sonuç olarak çıkan ifade doğrudur.
Sabiti Null kullanırken dikkatli olun. Çoğu durumda, karşılaştırma işleciyle birlikte kullanılması Null hataya neden olur. İfadedeki bir değeri ile karşılaştırmak Null istiyorsanız veya işlecini Is Not Null kullanınIs Null.
Değerler
İfadelerinizde, 1254 sayısı veya "1 ile 10 arasında bir sayı girin," gibi hazır değerleri kullanabilirsiniz. Ayrıca, gerekirse işaret ve ondalık ayırıcının yer aldığı bir sayı dizisi olabilen, sayısal değerleri de kullanabilirsiniz. İşaret olmazsa, Access değerin pozitif bir değer olduğunu varsayar. Bir 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).
Metin dizelerini kullandığınızda, Access'in bunları doğru yorumladığından emin olmak için dizeyi tırnak içine alın. Bazı durumlarda, Access sizin için tırnak işaretlerini koyar. Ö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, metnini Parisyazarsanız, Access ifadede "Paris" değerini görüntüler. İfadenin aslında tırnak içine alınmış bir dize oluşturmasını istiyorsanız, iç içe dizeyi tek tırnak işareti (') veya üç çift (") tırnak işareti kümesi içine alırsınız. Örneğin, aşağıdaki ifadeler eşdeğerdir:
Forms![Contacts]![City]. DefaultValue = ' "Paris" '
Forms![Contacts]![City].DefaultValue = " " "Paris" " "
Tarih/saat değerlerini kullanmak için, değerleri pound işaretleri (# ) içine alın. Örneğin, #3-7-17#, #7-Mar-17# ve #Mar-7-2017# 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.
Web veritabanında ifadeleri iç içe kullanma sınırı 65'tir
65 düzeyden daha derin iç içe yerleştirilmiş ifadeler tarayıcıda çalışmaz, bu nedenle access web veritabanında bu tür ifadeleri kullanmamalısınız. Herhangi bir hata iletisi almazsınız; ifade çalışmaz.
, ANDve OR işleçlerinin &kullanımı, sunucuda Access istemcisine yansıtılmış olmayan ek iç içe yerleştirme düzeyleri oluşturabilir. Örneğin, ifade "a" & "b" & "c" İfade Oluşturucusu'nda iç içe değil, SharePoint'te olur concatenate.Db("a", concatenate.Db("b", "c") ). Bu dönüşüm de bir düzey iç içe kullanım oluşturur. Tek bir ifadede birçok ardışık &, ANDveya OR işleç kullanılması, sunucunun iç içe geçme sınırı olan 65'i aşmanıza neden olabilir ve bu noktada ifade tarayıcıda çalışmaz.
İfade Oluşturucusu'nu kullanmaİfadelere girişİfade oluşturmaİfade örnekleri