A karakterláncfüggvények használatával olyan kifejezéseket hozhat létre az Accessben, amelyek sokféle módon módosítják a szöveget. Előfordulhat például, hogy egy űrlapon egy sorozatszámnak csak egy részét szeretné megjeleníteni. Vagy előfordulhat, hogy össze kell kapcsolnia (össze kell fűznie) több karakterláncot, például egy vezetéknevet és egy utónevet. Ha még nem jártas a kifejezésekben, olvassa el a Kifejezés készítése című témakört.
Az alábbiakban felsorolunk néhányat az Access leggyakrabban használt karakterlánc-műveletei közül, valamint azokat a függvényeket, amelyekkel végrehajthatja őket:
| Cél... | Használja a... | Például... | Eredmények |
|---|---|---|---|
| Karakterlánc elejére adott karakterek visszaadása | Left függvény | =Left([SerialNumber];2) | Ha a [Sorozatszám] "CD234", az eredmény "CD" lesz. |
| Karakterlánc végére eső karakterek visszaadása | Right függvény | =Right([SerialNumber];3) | Ha a [Sorozatszám] "CD234", az eredmény "234" lesz. |
| Karakter pozíciójának megkeresése karakterláncban | InStr függvény | =InStr(1;[Vezetéknév];"i") | Ha a [Vezetéknév] értéke "Colin", az eredmény 4. |
| Egy karakterlánc közepén lévő karakterek visszaadása | Mid függvény | =Mid([SerialNumber];2;2) | Ha a [SerialNumber] értéke "CD234", az eredmény "D2" lesz. |
| Karakterlánc kezdő és záró szóközeinek levágása | LTrim, RTrim és Trim függvények | =Trim([FirstName]) | Ha a [Vezetéknév] " Colin ", az eredmény "Colin" lesz. |
| Két karakterlánc összekapcsolása | Pluszjel (+) operátor* | =[Vezetéknév] + [Utónév] | Ha a [Vezetéknév] értéke "Colin" és a [Vezetéknév] értéke Wilcox, akkor az eredmény "ColinWilcox" lesz. |
| Két karakterlánc összeillesztése közéjük eső szóközzel | Pluszjel (+) operátor* | =[Vezetéknév] + " " + [Utónév] | Ha a [Vezetéknév] értéke "Colin" és a [Vezetéknév] értéke Wilcox, akkor az eredmény "Colin Wilcox" lesz. |
| Karakterlánc kis- és nagybetűssé alakítása | UCase függvény vagy LCáz függvény | =UCase([FirstName]) | Ha a [Vezetéknév] értéke "Colin", az eredmény "COLIN". |
| Karakterlánc hosszának meghatározása | Len függvény | =Hossz([Utónév]) | Ha a [Vezetéknév] értéke "Colin", az eredmény 5. |
* Rendben, tehát ez nem függvény, hanem egy operátor. A karakterláncok összeillesztésére azonban ez a leggyorsabb módszer. Asztali adatbázisban az és (&) operátort is használhatja összefűzéshez.
Az Accessben számos további, szöveggel kapcsolatos függvény található. Érdemes többet megtudni róluk, ha megnyitja a Kifejezésszerkesztőt, és tallózik a függvénylistákban. A Kifejezésszerkesztő szinte bárhol elérhető, ahol kifejezést szeretne készíteni – általában van egy ilyen kis Szerkesztő gomb:
A Kifejezésszerkesztő bemutatásához nyissa meg egy űrlap vagy nézet Mező vagy kifejezés tulajdonságából . Alkalmazza az alábbi eljárások egyikét attól függően, hogy asztali adatbázist vagy Access-webappot használ.
A Kifejezésszerkesztő megjelenítése asztali adatbázisban
Nyisson meg egy asztali adatbázist (.accdb).
Ha nem látható a navigációs ablak, nyissa meg az F11 billentyűvel.
Ha már van elérhető űrlapja, kattintson rá a jobb gombbal a navigációs ablakban, és válassza az Elrendezési nézet parancsot. Ha nem rendelkezik űrlappal, kattintson azŰrlaplétrehozása> gombra.
Kattintson a jobb gombbal az űrlapon egy beviteli mezőre, és válassza a Tulajdonságok parancsot.
A Tulajdonságlapon kattintson a Minden>mező vagy kifejezés elemre , majd kattintson az Összeállítás gombra
a Mező vagy kifejezés tulajdonságmező jobb oldalán
A Kifejezéselemek területen bontsa ki a Függvények csomópontot, és kattintson a Beépített függvények elemre.
A Kifejezéskategóriák csoportban kattintson a Szöveg elemre.
A Kifejezésértékek csoportban kattintson a különböző függvényekre, és olvassa el a Kifejezésszerkesztő alján található rövid leírást.
Megjegyzés
Nem minden függvény érhető el minden környezetben; Az Access automatikusan szűri a listát attól függően, hogy az egyes környezetek melyik típusnak felelnek meg.
Szöveges függvények kombinálása a nagyobb rugalmasság érdekében
Egyes karakterláncfüggvények numerikus argumentumokkal rendelkeznek, amelyeket bizonyos esetekben minden hívásakor ki kell számítani. A Left függvény például egy karakterláncot és egy számot vesz fel a következőképpen: =Left(SerialNumber, 2). Ez akkor hasznos, ha tudja, hogy mindig a bal oldali két karakterre van szüksége, de mi a teendő, ha a karakterek száma elemenként változik? A karakterek számának "kódolása" helyett megadhat egy másik függvényt, amely kiszámítja azt.
Íme egy példa azokra a sorszámokra, amelyek mindegyikéhez tartozik egy kötőjel valahol a karakterláncban. A kötőjel elhelyezése azonban változó:
| SerialNumber (Sorozatszám) |
|---|
| 3928-29993 |
| 23-9923 |
| 333-53234 |
| 3399940-444 |
Ha csak a kötőjeltől balra lévő számokat szeretné megjeleníteni, minden alkalommal számítást kell végeznie a kötőjel helyének meghatározásához. Az egyik lehetőség valamilyen ilyesmi:
=Left([SerialNumber];InStr(1;[SerialNumber];"-")-1)
A Left függvény második argumentumaként nem számot ad meg, hanem az InStr függvényt használjuk, amely a kötőjel pozícióját adja vissza a sorszámon belül. Ha ebből az értékből kivon 1-et, megkapja a megfelelő számú karaktert a Left függvény által visszaadott értékhez. Elsőre kissé bonyolultnak tűnik, de némi kísérletezéssel két vagy több kifejezés kombinálásával elérhető a kívánt eredmény.