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 deneyimli değilseniz, İfade oluşturma konusuna bakın.
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) |
[SeriNumarası] “CD234” ise, sonuç “CD” olur. |
|
Bir dizenin sonundaki karakterleri getirme |
=Right([SeriNumarası],3) |
[SeriNumarası] “CD234” ise, sonuç “234” olur. |
|
Dizedeki bir karakterin konumunu bulma |
=InStr(1,[Ad],"i") |
[Ad] “Kerim” ise, sonuç 4 olur. |
|
Bir dizenin ortasındaki karakterleri getirme |
=Mid([SeriNumarası],2,2) |
[SeriNumarası] “CD234” ise, sonuç “D2” olur. |
|
Dizenin başındaki ve sonundaki boşlukları kırpma |
=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([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 ş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ümde Denetim Kaynağı özelliğinden açmayı deneyelim. 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.
-
Gezinti Bölmesi açık değilse, F11 tuşuna basarak açı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. Çalışabileceğiniz bir form yoksa, Oluştur > Form'u tıklatı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? 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, 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.