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 |
=Left([SeriNumarası],2) |
[SerialNumber] "CD234" ise, sonuç "CD" olur. |
|
|
Bir dizenin sonundaki karakterleri getirme |
=Right([SeriNumarası],3) |
[SerialNumber] "CD234" ise, sonuç "234" olur. |
|
|
Dizedeki bir karakterin konumunu bulma |
=InStr(1,[Ad],"i") |
[FirstName] "Colin" ise sonuç 4 olur. |
|
|
Bir dizenin ortasındaki karakterleri getirme |
=Mid([SeriNumarası],2,2) |
[SerialNumber] "CD234" ise, sonuç "D2" olur. |
|
|
Dizenin başındaki ve sonundaki boşlukları kırpma |
=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([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:
İ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
-
Bir masaüstü veritabanı (.accdb) açın.
-
Henüz açık değilse, Gezinti Bölmesi'ni açmak için F11 tuşuna basın.
-
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 yoksa Form Oluştur'a> tıklayın.
-
Formdaki bir metin kutusunu sağ tıklatın ve ardından Özellikler'i tıklatın.
-
Özellik Sayfası'nda Tüm > Denetim Kaynağı'na tıklayın ve Denetim Kaynağı özellik kutusunun sağ tarafındaki Oluştur düğmesine
tıklayın. -
İfade Öğeleri'nin altında İşlevler düğümünü genişletin ve Yerleşik İşlevler'i tıklatın.
-
İfade Kategorileri'nin altında Metin'i tıklatın.
-
İ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.