Applies ToMicrosoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Bu makalede, Access içindeki ifadelere birçok örnek sağlanır. İfade, hesaplama sonucu tek bir değer veren matematiksel veya mantıksal işleçler, sabitler, işlevler, tablo alanları, denetimler ve özelliklerin bileşiminden oluşur. değerleri hesaplamak, verileri doğrulamak ve varsayılan bir değer ayarlamak için Access ifadeleri kullanabilirsiniz.

Bu makalede

Formlar ve raporlar

Bu bölümdeki tablolarda, form veya raporlarda yer alan denetimler üzerinde değer hesaplayan ifadelere örnekler verilir. Hesaplanan denetim oluşturmak için, denetimin ControlSource özelliğine tablo alanı veya sorgu yerine ifade girmeniz gerekir.

Not:    Koşullu biçimlendirmeyle verileri vurgularken de form veya raporda ifadeleri kullanabilirsiniz.

Metin işlemleri

Aşağıdaki tabloda yer alan ifadeler, & (ve işareti) ve + (artı) işleçlerini kullanarak metin dizelerini birleştirir, yerleşik işlevleri kullanarak metin dizelerini denetler veya metin üzerinde başla işlemler gerçekleştirerek, hesaplanan denetim oluşturur.

İfade

Sonuç

="N/A"

Yok sözcüğünü görüntüler.

=[FirstName] & " " & [LastName]

Ad ve Soyadı adlı tablo alanlarında bulunan değerleri görüntüler. Bu örnekte & işleci; Ad alanı, bir boşluk karakteri (tırnak işareti içinde) ve Soyadı alanını birleştirmek için kullanılmıştır.

=Left([ProductName], 1)

Left işlevini kullanarak ÜrünAdı adlı bir alan veya denetimdeki değerin ilk karakterini görüntüler.

=Right([AssetCode], 2)

Right işlevini kullanarak VarlıkKodu adlı bir alan veya denetimdeki değerin son 2 karakterini görüntüler.

=Trim([Address])

Trim işlevini kullanarak Adres denetiminin değerini başındaki ve sonundaki boşlukları kaldırarak görüntüler.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

IIf işlevini kullanarak Bölge denetimindeki değer null olduğunda Şehir ve PostaKodu denetimlerine ait değerleri, aksi takdirde Şehir, Bölge ve PostaKodu denetimlerine ait değerleri, boşlukla ayrılmış şekilde görüntüler.

=[City] & (" " + [Region]) & " " & [PostalCode]

+ işlecini ve null yaymasını kullanarak, Bölge alanı veya denetimindeki değer null olduğunda Şehir ve PostaKodu denetimlerine ait değerleri, aksi takdirde Şehir, Bölge ve PostaKodu alan veya denetimlerine ait değerleri, boşlukla ayrılmış şekilde görüntüler.

Null yayması, ifadenin herhangi bir bileşeni null olduğunda tüm ifadenin de null olması anlamına gelir. + işleci null yaymasını destekler, & işleci ise desteklemez.

Sayfanın Başı

Üst bilgiler ve alt bilgiler

Form ve raporlarda sayfa numaralarını görüntülemek veya yazdırmak için Sayfa ve Sayfalar özellikleri kullanılır. Sayfa ve Sayfalar özellikleri yalnızca yazdırma veya yazdırma önizlemesi sırasında kullanılabilir, bu nedenle form veya raporun özellik sayfasında bu özellikler görüntülenmez. Bu özellikler genellikle, form veya raporun üst bilgi ya da alt bilgi bölümüne bir metin kutusu yerleştirildikten sonra aşağıdaki tabloda gösterilenler gibi bir ifade kullanılarak uygulanır.

Form ve raporlarda üst bilgi ve alt bilgi kullanımı hakkında daha fazla bilgi için Form veya rapora sayfa numarası ekleme makalesine bakın.

İfade

Sonuç

=[Page]

1

="Page " & [Page]

Sayfa 1

="Page " & [Page] & " of " & [Pages]

Sayfa 1/3

=[Page] & " of " & [Pages] & " Pages"

1/3 Sayfa

=[Page] & "/" & [Pages] & " Pages"

1/3 Sayfa

=[Country/region] & " - " & [Page]

Birleşik Krallık - 1

=Format([Page], "000")

001

="Printed on: " & Date()

Yazdırma tarihi: 31/12/17

Sayfanın Başı

Aritmetik işlemler

İfadeleri kullanarak, iki veya daha fazla alan ya da denetimdeki değerlere toplama, çıkarma, çarpma ve bölme işlemleri uygulayabilirsiniz. İfadeleri, tarihler üzerinde aritmetik işlemler gerçekleştirmek için de kullanabilirsiniz. Örneğin, Tarih/Saat tablosunda GerekliTarih adlı bir alanınız olduğunu varsayalım. Alanda veya alana bağlı bir denetimde kullanıldığında =[RequiredDate] - 2 ifadesi, GerekliTarih alanındaki geçerli değerlerden iki gün öncesine karşılık gelen bir tarih/saat değeri döndürür.

İfade

Sonuç

=[Subtotal]+[Freight]

AltToplam ve Navlun alanları veya denetimlerindeki değerlerin toplamı.

=[RequiredDate]-[ShippedDate]

GerekliTarih ve SevkiyatTarihi alanları veya denetimlerindeki tarih değerleri arasındaki aralık.

=[Price]*1.06

Fiyat alanı veya denetimindeki değerin 1,06 ile çarpımı (Fiyat değerine yüzde 6 eklenir).

=[Quantity]*[Price]

Miktar ve Fiyat alanları veya denetimlerindeki değerlerin çarpımı.

=[EmployeeTotal]/[CountryRegionTotal]

ÇalışanToplamı ve ÜlkeBölgeToplamı alanları veya denetimlerindeki değerlerin birbirine oranı.

Not:    İfadede aritmetik işleç (+, -, * ve /) kullandığınızda, ifadedeki denetimlerden birinin değeri null ise tüm ifadenin sonucu null olur. Buna, Null yayması adı verilir. İfadede kullandığınız denetimlerden birindeki herhangi bir kaydın null değere sahip olma olasılığı varsa, Null yaymasından kaçınmak için Nz işlevini kullanarak null değerini sıfıra dönüştürebilirsiniz. Örneğin, =Nz([Subtotal])+Nz([Freight]).

Sayfanın Başı

Diğer denetimlerdeki değerler

Bazı durumlarda, farklı konumda bulunan bir değer (başka bir form veya rapordaki bir alan veya denetim gibi) kullanmanız gerekebilir. Başka bir alan veya denetimdeki değeri döndürmek için bir ifade kullanabilirsiniz.

Aşağıdaki tabloda, formlardaki hesaplanan denetimlerde kullanabileceğiniz ifade örnekleri listelenir.

İfade

Sonuç

=Forms![Orders]![OrderID]

Siparişler formundaki SiparişKimliği denetiminin değeri.

=Forms![Orders]![Orders Subform].Form![OrderSubtotal]

Siparişler formundaki Siparişler Alt Formu adlı alt formda bulunan SiparişAltToplamı denetiminin değeri.

=Forms![Orders]![Orders Subform]![ProductID].Column(2)

Siparişler formundaki Siparişler Alt Formu adlı alt formda bulunan çok sütunlu bir liste kutusu olan ÜrünKimliği’nde, üçüncü sütunun değeri. (İlk sütun 0 ile, ikinci sütun 1 ile gösterilir ve numaralandırma bu sıralamaya göre devam eder.)

=Forms![Orders]![Orders Subform]![Price] * 1.06

Siparişler formundaki Siparişler Alt Formu adlı alt formda bulunan Fiyat denetimine ait değerin 1,06 ile çarpımı (Fiyat denetimine yüzde 6 eklenir).

=Parent![OrderID]

Geçerli alt formun üst formu veya ana formundaki SiparişKimliği denetiminin değeri.

Aşağıdaki tabloda bulunan ifadeler, raporlarda hesaplanan denetimleri kullanmanın yollarını gösterir. İfadeler, Rapor Özelliğine başvurur.

İfade

Sonuç

=Report![Invoice]![OrderID]

"Fatura" adlı bir rapordaki "SiparişKimliği" adlı denetimin değeri.

=Report![Summary]![Summary Subreport]![SalesTotal]

Özet raporundaki Özet Alt Raporu adlı alt raporda bulunan SatışToplamı denetiminin değeri.

=Parent![OrderID]

Geçerli alt raporun üst raporu veya ana raporundaki SiparişKimliği denetiminin değeri.

Sayfanın Başı

Değerleri sayma, toplama ve değerlerin ortalamalarını alma

Bir veya daha fazla alan veya denetime yönelik değerleri hesaplamak için, toplama işlevi adı verilen işlev türünü kullanabilirsiniz. Örneğin, rapordaki grup alt bilgisi için grup toplamını veya formdaki kalemle için sipariş alt toplamını hesaplayabilirsiniz. Ayrıca, bir veya daha fazla alandaki öğeleri sayabilir veya ortalama bir değer hesaplayabilirsiniz.

Aşağıdaki tabloda bulunan ifadeler, Avg, Count ve Sum gibi işlevleri kullanmanın yollarını gösterir.

İfade

Açıklama

=Avg([Freight])

Avg işlevini kullanarak "Navlun" adlı bir tablo alanı veya denetiminin değerlerinin ortalamasını görüntüler.

=Count([OrderID])

Count işlevini kullanarak SiparişKimliği denetimindeki kayıtların sayısını görüntüler.

=Sum([Sales])

Sum işlevini kullanarak Satış denetiminin değerlerinin toplamını görüntüler.

=Sum([Quantity]*[Price])

Sum işlevini kullanarak Miktar ve Fiyat denetimlerindeki değerlerin çarpımının toplamını görüntüler.

=[Sales]/Sum([Sales])*100

Satış denetiminin değerinin, Satış denetimine ait tüm değerlerin toplamına bölünmesiyle hesaplanan Satış yüzdesini görüntüler.

Denetimin Format özelliğini Yüzde olarak ayarlarsanız ifadeye *100 kısmını dahil etmeyin.

Toplama işlevlerinin kullanımı ile alan ve sütunlardaki değerlerin toplanması hakkında daha fazla bilgi için Verileri sorgu kullanarak toplama, Verileri sorgu kullanarak sayma, Toplamlar satırını kullanarak veri sayfasında sütun toplamlarını görüntüleme ve Veri sayfasında sütun toplamlarını görüntüleme makalelerine bakın.

Sayfanın Başı

SQL toplama işlevleri

Değerleri seçmeli olarak toplamanız veya saymanız gerektiğinde, SQL veya etki alanı toplama işlevi adı verilen bir işlev türü kullanmanız gerekir. "Etki alanı", bir veya birden çok tablodaki bir veya daha fazla alandan oluşabileceği gibi, bir veya birden çok form ya da rapordaki bir veya daha fazla denetimden de oluşabilir. Örneğin, bir tablo alanındaki değerleri, bir formda yer alan denetimdeki değerlerle eşleştirebilirsiniz.

İfade

Açıklama

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]"))

Tedarikçiler tablosundaki TedarikçiKimliği alanının değeri ile Tedarikçiler formundaki TedarikçiKimliği denetiminin değeri eşleştiğinde Tedarikçiler tablosunda İlgiliKişiAdı alanının değerini döndürmek için DLookup işlevini kullanır.

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID])

Tedarikçiler tablosundaki TedarikçiKimliği alanının değeri ile Yeni Tedarikçiler formundaki TedarikçiKimliği denetiminin değeri eşleştiğinde Tedarikçiler tablosunda İlgiliKişiAdı alanının değerini döndürmek için DLookup işlevini kullanır.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'")

DSum işlevini kullanarak Siparişler tablosunda MüşteriKimliği değeri RATTC olduğunda SiparişTutarı alanında yer alan değerlerin toplamını döndürür.

=DCount("[Retired]","[Assets]","[Retired]=Yes")

DCount işlevini kullanarak Varlıklar tablosundaki Kullanımdan Kaldırıldı alanında (Evet/Hayır alanı) yer alan Evet değerlerinin sayısını döndürür.

Sayfanın Başı

Tarih işlemleri

Tarih ve saatlerin izlenmesi, temel bir veritabanı etkinliğidir. Örneğin, fatura tarihinden alacak hesaplarınızın vadesinin dolacağı tarihe kadar geçen süreyi hesaplayabilirsiniz. Tarih ve saatleri, aşağıdaki tabloda gösterildiği gibi çeşitli yöntemlerle biçimlendirebilirsiniz.

İfade

Açıklama

=Date()

Date işlevini kullanarak, geçerli tarihi mm-dd-yy biçiminde görüntüler. Burada mm ayı (1 ile 12 arasında), dd günü (1 ile 31 arasında) ve yy yılın son iki basamağını (1980’den 2099’a kadar) temsil eder.

=Format(Now(), "ww")

Format işlevini kullanarak geçerli tarihin yılın kaçıncı haftası olduğunu görüntüler. Burada ww, 1 ile 53 arasındaki hafta sayılarını temsil eder.

=DatePart("yyyy", [OrderDate])

DatePart işlevini kullanarak SiparişTarihi denetiminin değerine ait dört basamaklı yılı görüntüler.

=DateAdd("y", -10, [PromisedDate])

DateAdd işlevini kullanarak SözVerilenTarih denetiminin değerinden 10 gün önceki tarihi görüntüler.

=DateDiff("d", [OrderDate], [ShippedDate])

DateDiff işlevini kullanarak SiparişTarihi ve SevkiyatTarihi denetimlerinin değerleri arasındaki gün sayısı farkını görüntüler.

=[InvoiceDate] + 30

Tarihlere aritmetik işlemler uygulayarak, FaturaTarihi alan veya denetimindeki tarihten 30 gün sonraki tarihi hesaplar.

Sayfanın Başı

Yalnızca iki değerin koşulları

Aşağıdaki tabloda yer alan örnek ifadeler, IIf işlevini kullanarak olası iki değerden birini döndürür. IIf işlevine üç bağımsız değişken geçirirsiniz: İlk bağımsız değişken, True veya False değeri döndürmesi gereken bir ifadedir. İkinci bağımsız değişken, ifade doğruysa döndürülecek olan değer ve üçüncü bağımsız değişken, ifade yanlışsa döndürülecek olan değerdir.

İfade

Açıklama

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

IIf (Immediate If) işlevini kullanarak Onaylandı denetiminin değeri Yes ise "Sipariş Onaylandı" iletisini, aksi takdirde "Order Not Confirmed." iletisini görüntüler.

=IIf(IsNull([Country/region]), " ", [Country])

IIf ve IsNull işlevlerini kullanarak Ülke/bölge denetiminin değeri null olduğunda boş bir dize, null olmadığında ise Ülke/bölge denetiminin değerini görüntüler.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

IIf ve IsNull işlevlerini kullanarak Bölge denetimindeki değer null olduğunda Şehir ve PostaKodu denetimlerine ait değerleri, aksi takdirde Şehir, Bölge ve PostaKodu alan veya denetimlerine ait değerleri görüntüler.

=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

IIf ve IsNull işlevlerini kullanarak, GerekliTarih’ten SevkiyatTarihi’ni çıkarma işleminin sonucu null olduğunda "Eksik tarih olup olmadığını denetleyin" iletisini, aksi takdirde GerekliTarih ve SevkiyatTarihi denetimlerinin tarih değerleri arasındaki aralığı görüntüler.

Sayfanın Başı

Sorgular ve filtreler

Bu bölüm, sorgularda hesaplanan alan oluşturmak veya bir sorguya ölçüt sağlamak için kullanılabilecek ifade örnekleri içerir. Hesaplanan alan, sorguda bir ifade sonucu oluşturulan sütundur. Örneğin, bir değer hesaplayabilir, ad ve soyadı gibi metin değerlerini birleştirebilir veya bir tarihin bir bölümünü biçimlendirebilirsiniz.

Sorgularda, çalışacağınız kayıt sayısını sınırlamak için ölçütleri kullanabilirsiniz. Örneğin, Between işlecini kullanarak başlangıç ve bitiş tarihi girebilir ve böylece sorgunuzun sonuçlarını bu tarihler arasında sevk edilen siparişlerle sınırlayabilirsiniz.

Aşağıda sorgularda kullanılacak ifade örnekleri verilmiştir.

Metin işlemleri

Aşağıdaki tabloda yer alan ifadeler, & ve + işleçlerini kullanarak metin dizelerini birleştirir, yerleşik işlevleri kullanarak metin dizeleri üzerinde işlem yapar veya metin üzerinde başka işlemler gerçekleştirerek, hesaplanan bir alan oluşturur.

İfade

Açıklama

FullName: [FirstName] & " " & [LastName]

Ad ve Soyadı alanlarındaki değerleri aralarında bir boşlukla görüntüleyen, TamAd adlı bir alan oluşturur.

Address2: [City] & " " & [Region] & " " & [PostalCode]

Şehir, Bölge ve PostaKodu alanlarındaki değerleri aralarında birer boşlukla görüntüleyen, Adres2 adlı bir alan oluşturur.

ProductInitial: Left([ProductName], 1)

ÜrünBaşHarfi adlı bir alan oluşturur ve Left işlevini kullanarak ÜrünAdı alanındaki değerin ilk karakterini ÜrünBaşHarfi alanında görüntüler.

TypeCode: Right([AssetCode], 2)

TürKodu adlı bir alan oluşturur ve Right işlevini kullanarak VarlıkKodu alanındaki değerlerin son iki karakterini görüntüler.

AreaCode: Mid([Phone],2,3)

AlanKodu adlı bir alan oluşturur ve Mid işlevini kullanarak Telefon alanındaki değerin, ikinci karakterden başlayarak üç karakterini görüntüler.

ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100

GenişletilmişFiyat hesaplanan alanını adlandırır ve CCur işlevini kullanarak indirim uygulanmış satır öğesi toplamlarını hesaplar.

Sayfanın Başı

Aritmetik işlemler

İfadeleri kullanarak, iki veya daha fazla alan ya da denetimdeki değerlere toplama, çıkarma, çarpma ve bölme işlemleri uygulayabilirsiniz. Tarihler üzerinde aritmetik işlemler de uygulayabilirsiniz. Örneğin, GerekliTarih adlı bir Tarih/Saat alanınız olduğunu varsayalım. =[RequiredDate] - 2 ifadesi, GerekliTarih alanındaki değerden iki gün öncesine karşılık gelen bir Tarih/Saat değeri döndürür.

İfade

Açıklama

PrimeFreight: [Freight] * 1.1

AnaNavlun adlı bir alan oluşturur ve ardından bu alanda navlun ücretlerini, ücretlerin yüzde 10’una karşılık gelen değerlerle birlikte görüntüler.

OrderAmount: [Quantity] * [UnitPrice]

SiparişTutarı adlı bir alan oluşturur ve ardından Miktar ile BirimFiyat alanlarındaki değerlerin çarpımını görüntüler.

LeadTime: [RequiredDate] - [ShippedDate]

TeslimatSüresi adlı bir alan oluşturur ve ardından GerekliTarih ile SevkiyatTarihi alanlarındaki değerler arasındaki farkı görüntüler.

TotalStock: [UnitsInStock]+[UnitsOnOrder]

ToplamStok adlı bir alan oluşturur ve ardından StoktakiBirimSayısı ile SiparişEdilenBirimSayısı değerlerinin toplamını görüntüler.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

NavlunYüzdesi adlı bir alan oluşturur ve her alt toplamdaki navlun ücretlerinin yüzdesini görüntüler. Bu ifade, Sum işlevini kullanarak navlun alanındaki değerleri toplar ve bu toplamı AltToplam alanındaki değerlerin toplamına böler.

Tasarım kılavuzunda Toplam satırını kullanmanız gerekeceğinden, bu ifadeyi kullanabilmek için seçtiğiniz sorguyu Toplamlar sorgusuna dönüştürmeniz ve bu alan için Toplam hücresini İfade olarak ayarlamanız gerekir.

Toplamlar sorgusu oluşturma hakkında daha fazla bilgi için Verileri sorgu kullanarak toplama makalesine bakın.

Alanın Format özelliğini Yüzde olarak ayarlarsanız *100 kısmını dahil etmeyin.

Toplama işlevlerinin kullanımı ile alan ve sütunlardaki değerlerin toplanması hakkında daha fazla bilgi için Verileri sorgu kullanarak toplama, Verileri sorgu kullanarak sayma, Toplamlar satırını kullanarak veri sayfasında sütun toplamlarını görüntüleme ve Veri sayfasında sütun toplamlarını görüntüleme makalelerine bakın.

Sayfanın Başı

Tarih işlemleri

Veritabanlarının büyük çoğunluğu, tarih ve saatleri depolar ve izler. Access’te tarih ve saatlerle çalışmak için, tablolardaki tarih ve saat alanlarını Tarih/Saat veri türüne ayarlamanız gerekir. Access, tarihler üzerinde aritmetik hesaplamalar gerçekleştirebilir. Örneğin, fatura tarihinden alacak hesaplarınızın vadesinin dolacağı tarihe kadar geçen süreyi hesaplayabilirsiniz.

İfade

Açıklama

LagTime: DateDiff("d", [OrderDate], [ShippedDate])

GecikmeSüresi adlı bir alan oluşturur ve DateDiff işlevini kullanarak sipariş tarihi ve sevkiyat tarihi arasındaki gün sayısını görüntüler.

YearHired: DatePart("yyyy",[HireDate])

İşeAlındığıYıl adlı bir alan oluşturur ve ardından DatePart işlevini kullanarak her çalışanın işe alındığı yılı görüntüler.

MinusThirty: Date( )- 30

EksiOtuz adlı bir alan oluşturur ve Date işlevini kullanarak, geçerli tarihten 30 gün önceki tarihi görüntüler.

Sayfanın Başı

SQL toplama işlevleri

Aşağıdaki tabloda yer alan ifadeler, verileri toplayan veya özetleyen SQL (Yapılandırılmış Sorgu Dili) işlevlerini kullanır. Bu işlevler (örneğin Sum, Count ve Avg) genellikle toplama işlevleri olarak adlandırılır.

Access, toplama işlevlerine ek olarak, değerleri seçmeli olarak saymak veya toplamak için kullanılan "etki alanı" toplama işlevleri de sağlar. Örneğin, yalnızca belirli bir aralıktaki değerleri sayabilir veya başka bir tablodaki bir değeri arayabilirsiniz. Etki alanı kümesel işlevleri şunları içerir: DSum İşlevi, DCount İşlevi ve DAvg İşlevi.

Toplamları hesaplamak için genellikle toplamlar sorgusu oluşturmanız gerekir. Örneğin, verileri gruba göre özetlemek için Toplamlar sorgusu kullanmanız gerekir. Sorgu tasarımı kılavuzundan bir Toplamlar sorgusunu etkinleştirmek için Görünüm menüsünde Toplamlar’a tıklayın.

İfade

Açıklama

RowCount: Count(*)

SatırSayısı adlı bir alan oluşturur ve Count işlevini kullanarak, null (boş) alanlara sahip kayıtlar da dahil olmak üzere sorgudaki kayıtların sayısını hesaplar.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

NavlunYüzdesi adlı bir alan oluşturur ve Navlun alanındaki değerlerin toplamını AltToplam alanındaki değerlerin toplamına bölerek her alt toplamdaki navlun ücretlerinin yüzdesini hesaplar. (Bu örnekte Sum işlevi kullanılmıştır.)

Bu ifadeyi Toplamlar sorgusuyla kullanmanız gerekir. Alanın Format özelliğini Yüzde olarak ayarlarsanız *100 kısmını dahil etmeyin.

Toplamlar sorgusu oluşturma hakkında daha fazla bilgi için Verileri sorgu kullanarak toplama makalesine bakın.

AverageFreight: DAvg("[Freight]", "[Orders]")

OrtalamaNavlun adlı bir alan oluşturur ve DAvg işlevini kullanarak Toplamlar sorgusunda birleştirilmek üzere tüm siparişlerdeki ortalama navlunu hesaplar.

Sayfanın Başı

Eksik verileri olan alanlar

Burada gösterilen ifadeler, null (bilinmeyen veya tanımlanmamış) değerler içeren alanlar gibi olası eksik bilgileri bulunan alanlar ile çalışır. Yeni bir ürünün bilinmeyen fiyatı veya iş arkadaşınızın siparişe eklemeyi unuttuğu bir değer gibi null değerlerle sık sık karşılaşırsınız. Null değerleri bulup işleme özelliği, veritabanı işlemlerinde önemli katkılar sağlayabilir. Aşağıdaki tabloda yer alan ifadeler, null değerlerle çalışmaya yönelik yaygın yöntemleri gösterir.

İfade

Açıklama

CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

GeçerliÜlkeBölge adlı bir alan oluşturur ve IIf ile IsNull işlevlerini kullanarak bu alanda, ÜlkeBölge alanında null bir değer varsa boş bir dize, aksi takdirde ÜlkeBölge alanının içeriğini görüntüler.

LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

TeslimatSüresi adlı bir alan oluşturur ve IIf ile IsNull işlevlerini kullanarak, GereklilikTarihi ve SevkiyatTarihi alanlarındaki değerlerden herhangi biri null olduğunda "Eksik tarih olup olmadığını denetleyin" iletisini, aksi takdirde tarih farkını görüntüler.

SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

AltıAylıkDönem adlı bir alan oluşturur ve ilk olarak Nz işlevini kullanıp tüm null değerleri sıfıra dönüştürerek, Çyr1Satışlar ve Çyr2Satışlar alanlarındaki değerlerin toplamını görüntüler.

Sayfanın Başı

Alt sorgularla hesaplanan alanlar

Hesaplanan alan oluşturmak için, alt sorgu olarak da adlandırılan bir iç içe sorgu kullanabilirsiniz. Aşağıdaki tabloda yer alan ifade, alt sorgu sonucu oluşan hesaplanan alanların bir örneğidir.

İfade

Açıklama

Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

Kat adlı bir alan oluşturur ve Kategoriler tablosundaki KategoriKimliği ile Ürünler tablosundaki KategoriKimliği aynıysa KategoriAdı değerini görüntüler.

Sayfanın Başı

Metin değerlerini eşleştirme

Bu tablodaki örnek ifadeler, tam veya kısmi metin değerlerini eşleştiren ölçütleri gösterir.

Alan

İfade

Açıklama

SevkiyatŞehri

"London"

Londra’ya sevk edilen siparişleri görüntüler.

SevkiyatŞehri

"London" Or "Hedge End"

Or işlecini kullanarak, Londra’ya veya Hedge End’e sevk edilen siparişleri görüntüler.

SevkiyatÜlkesiBölgesi

In("Canada", "UK")

In işlecini kullanarak, Kanada’ya veya İngiltere’ye sevk edilen siparişleri görüntüler.

SevkiyatÜlkesiBölgesi

Not "USA"

Not işlecini kullanarak, ABD dışındaki ülkelere/bölgelere sevk edilen siparişleri görüntüler.

ÜrünAdı

Not Like "C*"

Not işlecini ve * joker karakterini kullanarak, adları C ile başlamayan ürünleri görüntüler.

ŞirketAdı

>="N"

Adları N ile Z arasındaki harflerle başlayan şirketlere sevk edilen siparişleri görüntüler.

ÜrünKodu

Right([ProductCode], 2)="99"

Right işlevini kullanarak, ÜrünKodu değerleri 99 ile biten siparişleri görüntüler.

SevkiyatAdı

Like "S*"

Adı S harfiyle başlayan müşterilere sevk edilen siparişleri görüntüler.

Sayfanın Başı

Tarih ölçütlerine uyma

Aşağıdaki tabloda yer alan ifadeler, ölçüt ifadelerinde tarihlerin ve ilgili işlevlerin kullanımını gösterir. Tarih değerlerinin girilmesi ve kullanımı hakkında daha fazla bilgi için Tarih veya saat alanını biçimlendirme makalesine bakın.

Alan

İfade

Açıklama

SevkTarihi

#2/2/2017#

2 Şubat 2017’de sevk edilen siparişleri görüntüler.

SevkTarihi

Date()

Bugün sevk edilen siparişleri görüntüler.

İstenenTarih

Between Date( ) And DateAdd("m", 3, Date( ))

Between...And işleciyle DateAdd ve Date işlevlerini kullanarak, bugünün tarihi ile bugünün tarihinden üç ay sonrası arasındaki dönem için gereken siparişleri görüntüler.

SiparişTarihi

< Date( ) - 30

Date işlevini kullanarak, 30 günden daha eski olan siparişleri görüntüler.

SiparişTarihi

Year([OrderDate])=2017

Year işlevini kullanarak, sipariş tarihi 2017’de olan siparişleri görüntüler.

SiparişTarihi

DatePart("q", [OrderDate])=4

DatePart işlevini kullanarak, takvimin dördüncü üç aylık dönemine ait siparişleri görüntüler.

SiparişTarihi

DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1

DateSerial, Year ve Month işlevlerini kullanarak, her ayın son gününe ait siparişleri görüntüler.

SiparişTarihi

Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now())

Year ve Month işlevleri ile And işlecini kullanarak geçerli yıl ve aya ait siparişleri görüntüler.

SevkTarihi

Between #1/5/2017# And #1/10/2017#

Between...And işlecini kullanarak 5 Ocak 2017’den sonra ve 10 Ocak 2017'den önce sevk edilen siparişleri görüntüler.

İstenenTarih

Between Date( ) And DateAdd("M", 3, Date( ))

Between...And işlecini kullanarak bugünün tarihi ile bugünün tarihinden üç ay sonrası arasındaki dönemde gereken siparişleri görüntüler.

DoğumTarihi

Month([BirthDate])=Month(Date())

Month ve Date işlevlerini kullanarak doğum günü bu ay olan çalışanları görüntüler.

Sayfanın Başı

Eksik verileri bulma

Aşağıdaki tabloda yer alan ifadeler, olası eksik bilgileri bulunan alanlarla çalışır. Bu alanlar, null değer veya sıfır uzunluklu dize içerebilir. Null değer, bilginin mevcut olmadığı anlamına gelir. Sıfırı veya herhangi bir değeri temsil etmez. Eksik bilgi kavramı, veritabanının bütünlüğü açısından çok önemli olduğundan Access tarafından desteklenir. Gerçek dünyada bilgiler, geçici olarak da olsa sık sık eksik kalır (yeni bir ürünün henüz belirlenmemiş olan fiyatı gibi). Bu nedenle, bir işletme gibi gerçek dünyaya ait bir varlığı temsil eden veritabanlarının, bilgiyi eksik olarak kaydedebilmesi gerekir. IsNull işlevini kullanarak bir alan veya denetimin null değer içerip içermediğini belirleyebilir ve Nz işlevini kullanarak null değeri sıfıra dönüştürebilirsiniz.

Alan

İfade

Açıklama

SevkiyatBölgesi

Is Null

SevkiyatBölgesi alanı null (eksik) olan müşterilerin siparişlerini görüntüler.

SevkiyatBölgesi

Is Not Null

SevkiyatBölgesi alanı değer içeren müşterilerin siparişlerini görüntüler.

Faks

""

Faks makinesi olmayan müşterilerin siparişlerini görüntüler. Faks makinesinin yokluğu, Faks alanında null (eksik) değer yerine sıfır uzunluklu dize değeri tarafından gösterilmiştir.

Sayfanın Başı

Like ile kayıt düzenlerini eşleştirme

Belirli bir düzene uyan satırları eşleştirmeye çalıştığınız durumlarda Like işleci büyük bir esneklik sağlar, çünkü Like işlecini joker karakterlerle kullanabilir ve Access’in eşleştireceği düzenler tanımlayabilirsiniz. Örneğin, * (yıldız) joker karakteri tüm türlerden bir dizi karakterle eşleşir ve belirli bir harfle başlayan adların hepsini bulmayı kolaylaştırır. Örneğin, S harfiyle başlayan tüm adları bulmak için Like "S*" ifadesini kullanırsınız. Daha fazla bilgi için Like İşleci makalesine bakın.

Alan

İfade

Açıklama

SevkiyatAdı

Like "S*"

SevkiyatAdı alanındaki S harfi ile başlayan tüm kayıtları bulur.

SevkiyatAdı

Like "*Imports"

SevkiyatAdı alanındaki "İthalat" kelimesi ile biten tüm kayıtları bulur.

SevkiyatAdı

Like "[A-D]*"

SevkiyatAdı alanındaki A, B, C veya D harfi ile başlayan tüm kayıtları bulur.

SevkiyatAdı

Like "*ar*"

SevkiyatAdı alanındaki "ar" harf dizisini içeren tüm kayıtları bulur.

SevkiyatAdı

Like "Ahmet Özgü?"

SevkiyatAdı alanındaki değerinin ilk kısmı "Ahmet" olan ve ilk dört harfi "Özgü" olup son harfi bilinmeyen beş harfli bir dize içeren tüm kayıtları bulur.

SevkiyatAdı

Not Like "A*"

SevkiyatAdı alanındaki A harfi ile başlamayan tüm kayıtları bulur.

Sayfanın Başı

Satırları SQL toplamalarıyla eşleştirme

Değerlerin seçmeli olarak toplanması, sayılması veya ortalamalarının alınması gerektiğinde, bir SQL veya etki alanı toplama işlevi kullanılır. Örneğin, yalnızca belirli bir aralıkta yer alan veya değerlendirmelerinin sonucu Evet olan değerleri saymak isteyebilirsiniz. Başka bir zamanda da farklı bir tablodan değer arayıp görüntülemeye gerek duyabilirsiniz. Aşağıdaki tabloda yer alan örnek ifadeler, etki alanı kümesel işlevlerini kullanarak bir değer kümesi üzerinde bir hesaplama gerçekleştirip sonucu sorgu ölçütleri olarak kullanılır.

Alan

İfade

Açıklama

Navlun

> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

DStDev ve DAvg işlevlerini kullanarak navlun maliyetine ilişkin ortalama değer ile standart sapma toplamından daha yüksek navlun maliyeti bulunan tüm siparişleri görüntüler.

Miktar

> DAvg("[Quantity]", "[Order Details]")

DAvg işlevini kullanarak ortalama sipariş miktarının üzerinde bir miktarda sipariş edilmiş ürünleri görüntüler.

Sayfanın Başı

Alanları alt sorgularla eşleştirme

Ölçüt olarak kullanılacak değeri hesaplamak için iç içe sorgu olarak da adlandırılan bir alt sorgu kullanılır. Aşağıdaki tabloda yer alan örnek ifadeler, bir alt sorgu tarafından döndürülen sonuçlara dayalı olarak satır eşleştirmesi yapar.

Alan

İfade

Görüntülenen

BirimFiyat

(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

Fiyatı, Anason Şurubu fiyatına eşit olan ürünler.

BirimFiyat

>(SELECT AVG([UnitPrice]) FROM [Products])

Birim fiyatı, ortalamanın üzerinde olan ürünler.

Maaş

> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*"))

Maaşı, iş unvanında "Yönetici" veya "Başkan Yardımcısı" geçen tüm çalışanların maaşlarından daha yüksek olan satış temsilcilerinin hepsinin maaşları.

SiparişToplamı: [BirimFiyat] * [Miktar]

> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details])

Toplamları ortalama sipariş değerinden daha yüksek olan siparişler.

Sayfanın Başı

Güncelleştirme sorguları

Güncelleştirme sorguları, veritabanındaki bir veya birden çok alanda bulunan mevcut verileri değiştirmek için kullanılır. Örneğin, değerleri değiştirebilir veya tamamen silebilirsiniz. Bu tabloda, ifadeleri güncelleştirme sorgularında kullanmanın bazı yöntemleri gösterilmektedir. Bu ifadeler, sorgu tasarımı kılavuzunda güncelleştirmek istenilen alana ilişkin Güncelleştirme Hedefi satırında kullanılır.

Güncelleştirme sorguları oluşturma hakkında daha fazla bilgi için Güncelleştirme sorgusu oluşturma ve çalıştırma makalesine bakın.

Alan

İfade

Sonuç

Başlık

"Salesperson"

Metin değerini Satış Görevlisi olarak değiştirir.

ProjeBaşlangıcı

#8/10/17#

Tarih değerini 10-Ağu-17 olarak değiştirir.

KullanımdanKaldırıldı

Yes

Evet/Hayır alanında, Hayır değerini Evet olarak değiştirir.

ParçaNumarası

"PN" & [PartNumber]

Belirtilen her parça numarasının başına PN ekler.

KalemToplamı

[UnitPrice] * [Quantity]

BirimFiyat ve Miktar çarpımını hesaplar.

Navlun

[Freight] * 1.5

Navlun ücretlerini yüzde 50 artırır.

Satışlar

DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID])

Geçerli tablodaki ÜrünKimliği değerleri Sipariş Detayları tablosundaki ÜrünKimliği değerleriyle eşleştiğinde, satış toplamını Miktar ve BirimFiyat çarpımına göre güncelleştirir.

SevkPostaKodu

Right([ShipPostalCode], 5)

Sol taraftaki karakterleri keserek en sağdaki beş karakteri bırakır.

BirimFiyat

Nz([UnitPrice])

BirimFiyat alanındaki null (tanımsız veya bilinmeyen) bir değeri sıfır (0) olarak değiştirir.

Sayfanın Başı

SQL deyimleri

Yapılandırılmış Sorgu Dili (SQL), Access’in kullandığı sorgu dilidir. Sorgu Tasarım görünümünde oluşturduğunuz her sorgu, SQL kullanılarak da ifade edilebilir. Herhangi bir sorgunun SQL deyimini görmek için Görünüm menüsünde SQL Görünümü’ne tıklayın. Aşağıdaki tabloda, bir ifade kullanan örnek SQL deyimleri gösterilir.

İfade kullanan SQL deyimi

Sonuç

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

Soyadı Elmas olan çalışanlara ilişkin Ad ve Soyadı alanlarındaki değerleri görüntüler.

SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID];

Ürünler tablosundaki KategoriKimliği değeri, açık bir Yeni Ürünler formunda belirtilen KategoriKimliği değeriyle eşleşen kayıtlar için Ürünler tablosundaki ÜrünKimliği ve ÜrünAdı alanlarında yer alan değerleri görüntüler.

SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000;

GenişletilmişFiyat alanındaki değerin 1000'den fazla olduğu siparişler için ortalama genişletilmiş fiyatı hesaplar ve Ortalama Genişletilmiş Fiyat adlı bir alanda görüntüler.

SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

10'dan fazla ürün bulunan kategorilerdeki toplam ürün sayısını ÜrünKimliğiSayısı adlı bir alanda görüntüler.

Sayfanın Başı

Tablo ifadeleri

Tablolarda ifade kullanmanın en yaygın iki yolu, bir varsayılan değer atamak ve bir doğrulama kuralı oluşturmaktır.

Alan varsayılan değerleri

Veritabanı tasarlarken, bir alana veya denetime varsayılan değer atamak isteyebilirsiniz. Alanı içeren yeni bir kayıt veya denetimi içeren bir nesne oluşturulduğunda Access, varsayılan değeri sağlar. Aşağıdaki tabloda yer alan ifadeler, bir alan veya denetime ilişkin varsayılan değer örneklerini temsil eder. Denetim tablodaki bir alana bağlıysa ve alanın varsayılan değeri varsa, denetimin varsayılan değeri alanın varsayılan değerine göre öncelikli olur.

Alan

İfade

Varsayılan alan değeri

Miktar

1

1

Bölge

"MT"

MT

Bölge

"New York, N.Y."

New York, N.Y. (Değer noktalama işareti içeriyorsa, değeri tırnak içine almanız gerektiğini unutmayın.)

Faks

""

Null bir değer içermek yerine bu alanın varsayılan olarak boş olması gerektiğini göstermek üzere sıfır uzunluklu bir dize

Sipariş Tarihi

Date( )

Bugünün tarihi

SonTarih

Date() + 60

Bugünden 60 gün sonraya denk gelen tarih

Sayfanın Başı

Alan geçerlilik kuralları

İfade kullanarak, bir alana veya denetime yönelik geçerlilik kuralı oluşturabilirsiniz. Böylece Access, alan veya denetime veri girildiğinde kuralın uygulanmasını zorunlu tutar. Geçerlilik kuralı oluşturmak için alan veya denetimin ValidationRule özelliği değiştirilir. Geçerlilik kuralı ihlal edildiğinde Access tarafından görüntülenen metni barındıran ValidationText özelliğini de ayarlayabilirsiniz. ValidationText özelliğini ayarlamazsanız, Access varsayılan bir hata iletisi görüntüler.

Aşağıdaki tablodaki örneklerde, ValidationRule özelliğine ait geçerlilik kuralı ifadeleri ve ValidationText özelliğinin ilişkili metni gösterilir.

ValidationRule özelliği

ValidationText özelliği

<> 0

Lütfen sıfırdan farklı bir değer girin.

0 Or > 100

Değer 0’a eşit veya 100'den büyük olmalıdır.

Like "K???"

Değer K harfi ile başlamalı ve dört karakter uzunluğunda olmalıdır.

< #1/1/2017#

1/1/2017'den önceki bir tarih girin.

>= #1/1/2017# And < #1/1/2008#

Tarih, 2017 yılında olmalıdır.

Veri doğrulama hakkında daha fazla bilgi için Alandaki verileri doğrulamak için geçerlilik kuralı oluşturma makalesine bakın.

Sayfanın Başı

Makro ifadeleri

Bazı durumlarda, bir makroda bulunan bir eylemi veya eylem dizisini yalnızca belirli bir koşul geçerli olduğunda gerçekleştirmek isteyebilirsiniz. Örneğin, ancak Sayaç metin kutusunun değeri 10 olduğunda bir eylemin çalıştırılmasını istediğinizi varsayalım. Koşulu if bloğunda tanımlamak için bir ifade kullanırsınız:

[Counter]=10

ValidationRule özelliğinde olduğu gibi, If bloğundaki ifade bir koşullu ifadedir. True veya False değerine çözümlenmesi gerekir. Eylem, ancak koşul doğru olduğunda gerçekleştirilir.

Eylemi gerçekleştirmek için kullanılacak ifade

If

[City]="Paris"

Makronun çalıştırıldığı formdaki alanda Şehir değeri Paris.

DCount("[OrderID]", "Orders") > 35

Siparişler tablosunun SiparişKimliği alanında 35'den fazla giriş var.

DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3

Sipariş Detayları tablosunda, tablonun SiparişKimliği alanının Siparişler formundaki SiparişKimliği alanıyla eşleştiği üçten fazla giriş var.

[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017#

Makronun çalıştırıldığı formdaki SevkiyatTarihi alanının değeri 2-Şub-2017 ile 2-Mar-2017 tarihleri arasında.

Forms![Products]![UnitsInStock] < 5

Ürünler formundaki StoktakiBirimSayısı alanının değeri 5'ten az.

IsNull([FirstName])

Makronun çalıştırıldığı formdaki Ad değeri null (değer yok). Bu ifade, [Ad] Is Null ifadesinin eşdeğeridir.

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100

Makronun çalıştırıldığı formdaki ÜlkeBölge alanının değeri İngiltere ve SatışToplamları formundaki ToplamSiparişler alanının değeri 100’den büyük.

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

Makronun çalıştırıldığı formdaki ÜlkeBölge alanının değeri Fransa, İtalya veya İspanya ve posta kodunun uzunluğu 5 karakter değil.

MsgBox("Confirm changes?",1)=1

MsgBox işlevinin görüntülediği iletişim kutusunda Tamam’a tıklayın. İletişim kutusunda İptal’e tıklarsanız Access eylemi yoksayar.

Sayfanın Başı

Ayrıca Bkz:

İfade Oluşturucusu'nu Kullanma

İfadelere giriş

Nasıl ifade oluşturulacağını öğrenme

İfade söz dizimi kılavuzu

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.