Med strängfunktioner kan du skapa uttryck i Access som ändrar text på flera olika sätt. Du kanske till exempel bara vill visa en del av ett serienummer i ett formulär. Eller så kan du behöva sammanfoga flera strängar, till exempel ett efternamn och ett förnamn. Om du inte är kunnig med uttryck ännu kan du läsa Skapa ett uttryck.
Här följer en lista över några av de vanligaste strängåtgärderna i Access och de funktioner du använder för att utföra dem:
Om du vill… |
Använd ... |
Till exempel... |
Resultat |
---|---|---|---|
Returnera tecken från början av en sträng |
=Vänster([SerialNumber],2) |
Om [SerialNumber] är "CD234" blir resultatet "CD". |
|
Returnera tecken från slutet av en sträng |
=Höger([SerialNumber],3) |
Om [SerialNumber] är "CD234" blir resultatet "234". |
|
Hitta positionen för ett tecken i en sträng |
=SökSträng(1;[Förnamn];"i") |
Om [Förnamn] är "Colin" blir resultatet 4. |
|
Returnera tecken från mitten av en sträng |
=Mitt([Serienummer],2;2) |
Om [SerialNumber] är "CD234" blir resultatet "D2". |
|
Trimma inledande eller avslutande blanksteg från en sträng |
=Trimma([Förnamn]) |
Om [Förnamn] är " Colin ", blir resultatet "Colin". |
|
Sammanfoga två strängar |
Plustecken (+) operator* |
=[Förnamn] + [Efternamn] |
Om [Förnamn] är "Colin" och [Efternamn] är Wilcox blir resultatet "ColinWilcox" |
Sammanfoga två strängar med ett blanksteg mellan dem |
Plustecken (+) operator* |
=[Förnamn] + " " + [Efternamn] |
Om [Förnamn] är "Colin" och [Efternamn] är Wilcox blir resultatet "Colin Wilcox" |
Ändra skiftläge för en sträng till versaler eller gemener |
=Gemener([Förnamn]) |
Om [Förnamn] är "Colin" blir resultatet "COLIN". |
|
Bestämma längden på en sträng |
=Längd([Förnamn]) |
Om [Förnamn] är "Colin" blir resultatet 5. |
* Okej, så det är inte en funktion, det är en operatör. Det är dock det snabbaste sättet att koppla ihop strängar. I en skrivbordsdatabas kan du också använda et-et-operatorn (&) för sammanfogning.
Det finns många fler textrelaterade funktioner i Access. Ett bra sätt att lära sig mer om dem är att öppna Uttrycksverktyget och bläddra igenom funktionslistorna. Uttrycksverktyget är tillgängligt nästan överallt där du vill skapa ett uttryck – vanligtvis finns det en liten build-knapp som ser ut så här:
Vi visar uttrycksverktyget genom att öppna det från egenskapen Kontrollkälla i ett formulär eller en vy. Använd någon av procedurerna nedan beroende på om du använder en skrivbordsdatabas eller en Access-webbapp.
Visa Uttrycksverktyget i en skrivbordsdatabas
-
Öppna en skrivbordsdatabas (.accdb).
-
Tryck på F11 för att öppna navigeringsfönstret om det inte redan är öppet.
-
Om du redan har ett formulär tillgängligt högerklickar du på det i navigeringsfönstret och klickar på Layoutvy. Om du inte har något formulär att arbeta med klickar du på Skapa > formulär.
-
Högerklicka på en textruta i formuläret och klicka på Egenskaper.
-
Klicka på Alla > Kontrollkälla på egenskapssidan och klicka på knappen Skapa till höger i egenskapsrutan Kontrollkälla .
-
Under Uttryckselement expanderar du noden Funktioner och klickar på Inbyggda funktioner.
-
Klicka på Text under Uttryckskategorier.
-
Under Uttrycksvärden klickar du på de olika funktionerna och läser de korta beskrivningarna längst ned i Uttrycksverktyget.
Obs!: Alla dessa funktioner är inte tillgängliga i alla sammanhang. Access filtrerar listan automatiskt beroende på vilka som fungerar i varje sammanhang.
Kombinera textfunktioner för mer flexibilitet
Vissa strängfunktioner har numeriska argument som du i vissa fall behöver beräkna varje gång du anropar funktionen. Funktionen Vänster tar till exempel en sträng och ett tal, som i =Vänster(SerialNumber, 2). Det här är bra om du vet att du alltid behöver de två vänstra tecknen, men vad händer om antalet tecken du behöver varierar från objekt till objekt? I stället för att bara "hårdkoda" antalet tecken kan du ange en annan funktion som beräknar det.
Här är ett exempel på serienummer som var och en har ett bindestreck någonstans i strängen. Bindestreckens placering varierar dock:
Serialnumber |
---|
3928-29993 |
23-9923 |
333-53234 |
3399940-444 |
Om du bara vill visa talen till vänster om bindestrecket måste du göra en beräkning varje gång för att ta reda på var bindestrecket finns. Ett alternativ är att göra något liknande:
=Vänster([SerialNumber],InStr(1,[SerialNumber],"-")-1)
I stället för att ange ett tal som det andra argumentet för funktionen Vänster har vi anslutit funktionen SökSträng, som returnerar bindestreckets position i serienumret. Subtrahera 1 från det värdet och du får rätt antal tecken för att funktionen Vänster ska returneras. Verkar lite komplicerat i början, men med lite experiment kan du kombinera två eller fler uttryck för att få de resultat du vill ha.