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 metni çeşitli yollarla 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 bilginiz yoksa bkz. İfade oluşturma.

Access'teki daha yaygın dize işlemlerinden bazılarının ve bunları gerçekleştirmek için kullanabileceğiniz işlevlerin bir listesi aşağıdadır:

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

* Tamam, bu bir işlev değil, bir işleç. Ancak, dizeleri birleştirmenin 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 şuna benzeyen küçük bir Oluştur düğmesi vardır: Düğme görüntüsü

İfade Oluşturucusu'nu göstermek için bir form veya görünümdeki Denetim Kaynağı özelliğinden açalım. Masaüstü veritabanı mı yoksa Access web uygulaması mı kullandığını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. Henüz açık değilse, Gezinti Bölmesi'ni açmak için F11 tuşuna bası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. Üzerinde çalışabileceğiniz bir form yoksaFormOluş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ğı'na tıklayın ve Denetim Kaynağı özellik kutusunun sağ tarafındaki Oluştur düğmesi Düğmesi resmine tıklayı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? Yalnızca karakter sayısını "sabit kodlamak" yerine, bunu hesaplayan başka bir işlev girebilirsiniz.

Aşağıda, dizenin herhangi bir yerinde kısa çizgi bulunan seri numaralarının bir örneği verilmiştir. 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, seri numarasındaki kısa çizginin konumunu döndüren InStr işlevini bağladık. 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.