Dize işlevleri ve bu işlevlerin kullanımı

Uygulandığı Öğe
Microsoft 365 için Access Access 2024 Access 2021 Access 2019 Access 2016

Dize işlevleriyle, Access'te metinleri çeşitli biçimlerde işleyen ifadeler oluşturabilirsiniz. Örneğin, bir formda seri numarasının yalnızca belirli bir kısmını göstermek isteyebilirsiniz. Ya da soyadı ve ad gibi birkaç dizeyi bir araya getirmeniz (birleştirme) gerekebilir. İfadeler konusunda henüz deneyimli değilseniz, İfade oluşturma konusuna bakın.

Aşağıda, Access'te kullanılan daha yaygın dize işlemlerinden bazılarının listesi ve bunları gerçekleştirmek için kullanacağınız işlevler verilmektedir:

Yapılacak işlem… Kullanılacak işlev… Örneğin… Sonuçlar
Bir dizenin başındaki karakterleri getirme Left işlevi =Left([SeriNumarası],2) [SeriNumarası] "CD234" ise, sonuç "CD" olur.
Bir dizenin sonundaki karakterleri getirme Right işlevi =Right([SeriNumarası],3) [SeriNumarası] "CD234" ise, sonuç "234" olur.
Dizedeki bir karakterin konumunu bulma InStr işlevi =InStr(1,[Ad],"i") [Ad] "Kerim" ise, sonuç 4 olur.
Bir dizenin ortasındaki karakterleri getirme Mid işlevi =Mid([SeriNumarası],2,2) [SeriNumarası] "CD234" ise, sonuç "D2" olur.
Dizenin başındaki ve sonundaki boşlukları kırpma LTrim, RTrim ve Trim İşlevleri =Trim([Ad]) [Ad] " Mete " ise, sonuç "Mete" olur.
İki dizeyi bir araya getirme Artı işareti (+) işleci* =[Ad] + [Soyadı] [Ad] "Kerim" ve [Soyadı] Hanif ise, sonuç "KerimHanif" olur.
İki dizeyi, aralarına bir boşluk ekleyerek bir araya getirme Artı işareti (+) işleci* =[Ad] + " " + [Soyadı] [Ad] "Kerim" ve [Soyadı] Hanif ise, sonuç "Kerim Hanif" olur.
Dizenin harflerini büyük veya küçük harfe çevirme UCase işlevi veya LCase işlevi =UCase([Ad]) [Ad] "Kerim" ise, sonuç "KERİM" olur.
Bir dizenin uzunluğunu belirleme Len işlevi =Len([Ad]) [Ad] "Kerim" ise, sonuç 5 olur.

* Tamam, bu işlev değil, bir işleçtir. Ancak, dizeleri bir araya getirmenin en hızlı yolu budur. Masaüstü veritabanında, birleştirme için ve (&) işlecini de kullanabilirsiniz.

Access'te daha birçok metinle ilgili işlev vardır. Bunlar hakkında daha fazla bilgi edinmenin en iyi yolu İfade Oluşturucusu'nu açmak ve işlev listelerine göz gezdirmektir. İfade Oluşturucusu, ifade oluşturmak istediğiniz hemen her yerde kullanılabilir; genellikle aşağıdakine benzeyen küçük bir Oluştur düğmesi bulunur: Düğme resmi

İfade Oluşturucusu'nu göstermek için, bir form veya görünümde Denetim Kaynağı özelliğinden açmayı deneyelim. Masaüstü veritabanı veya Access web uygulaması kullanmanıza bağlı olarak, aşağıdaki yordamlardan birini kullanın.

Masaüstü veritabanında İfade Oluşturucusu'nu görüntüleme

  1. Bir masaüstü veritabanı (.accdb) açın.

  2. Gezinti Bölmesi açık değilse, F11 tuşuna basarak açın.

  3. Elinizde zaten bir form varsa, Gezinti Bölmesi'nde formu sağ tıklatın ve Düzen Görünümü'nü tıklatın. Çalışabileceğiniz bir form yoksa,FormOluştur'a> tıklayın.

  4. Formdaki bir metin kutusunu sağ tıklatın ve ardından Özellikler'i tıklatın.

  5. Özellik Sayfası'nda, Tüm>Denetim Kaynağı'nı tıklatın ve Denetim Kaynağı özellik kutusunun sağ tarafındaki Oluşturdüğmesi Düğme görüntüsünü tıklatın.

    Özellik Sayfası'ndaki Oluştur düğmesi.

  6. İfade Öğeleri'nin altında İşlevler düğümünü genişletin ve Yerleşik İşlevler'i tıklatın.

  7. İfade Kategorileri'nin altında Metin'i tıklatın.

  8. İfade Değerleri'nin altında, çeşitli işlevleri tıklatın ve İfade Oluşturucusu'nun en altındaki kısa açıklamaları okuyun.

    Not

    Bu işlevlerin tümü her bağlamda kullanılamaz; Access, her bir bağlamda kullanılabilen işlevlere göre listeye otomatik olarak filtre uygular.

Daha fazla esneklik için metin işlevlerini birleştirme

Bazı dize işlevlerinin, belirli durumlarda işlevi her çağırdığınızda hesaplamanız gereken sayısal bağımsız değişkenleri vardır. Örneğin, Left işlevi bir dize ve bir sayı alır (=Left(SeriNumarası, 2) örneğinde olduğu gibi). Her zaman sol iki karaktere ihtiyacınız olduğunu biliyorsanız bu harikadır; peki ama gerek duyduğunuz karakterlerin sayısı öğeye göre değişiyorsa ne olacak? Karakter sayısını "sabit kodlamak" yerine, bu sayıyı hesaplayan başka bir işlev girebilirsiniz.

Aşağıdaki örnekte, her birinde dizenin içinde bir yerde kısa çizgi bulunan seri numaraları görülmektedir. Ancak, kısa çizginin konumu değişmektedir:

SeriNumarası
3928-29993
23-9923
333-53234
3399940-444

Kısa çizginin yalnızca solundaki sayıları görüntülemek isterseniz, her seferinde kısa çizginin yerini bulmak için bir hesaplama yapmanız gerekir. Bir seçeneğiniz aşağıdaki gibidir:

=Left([SeriNumarası],InStr(1,[SeriNumarası],"-")-1)

Left işlevinin ikinci bağımsız değişkeni olarak bir sayı girmek yerine, kısa çizginin seri numarasındaki konumunu döndüren InStr işlevini ekledik. Bu değerden 1'i çıkardığınızda Left işlevinin sonuç olarak getirmesi için doğru karakter sayısını elde etmiş olursunuz. İlk başta biraz karmaşık görünebilir, ancak biraz deneyim kazandığınızda iki veya daha fazla ifadeyi birleştirerek istediğiniz sonuçları elde edebilirsiniz.