Strängfunktioner och hur de används

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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 Funktionen Vänster =Vänster([SerialNumber],2) Om [SerialNumber] är "CD234" blir resultatet "CD".
Returnera tecken från slutet av en sträng Funktionen Höger =Höger([SerialNumber],3) Om [SerialNumber] är "CD234" blir resultatet "234".
Hitta positionen för ett tecken i en sträng Funktionen SökSträ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 Funktionen Mitt =Mitt([Serienummer],2;2) Om [SerialNumber] är "CD234" blir resultatet "D2".
Trimma inledande eller avslutande blanksteg från en sträng Funktionerna LTrim, RTrim och Trim =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 Funktionen Versaler eller Funktionen Versaler =Gemener([Förnamn]) Om [Förnamn] är "Colin" blir resultatet "COLIN".
Bestämma längden på en sträng Funktionen Längd =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: Knappbild

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

  1. Öppna en skrivbordsdatabas (.accdb).

  2. Tryck på F11 för att öppna navigeringsfönstret om det inte redan är öppet.

  3. 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.

  4. Högerklicka på en textruta i formuläret och klicka på Egenskaper.

  5. Klicka på All>kontrollkälla på egenskapssidan och klicka på knappen Skapatill höger i egenskapsrutan Kontrollkälla .

    Knappen Skapa på Egenskapssidan.

  6. Under Uttryckselement expanderar du noden Funktioner och klickar på Inbyggda funktioner.

  7. Klicka på Text under Uttryckskategorier.

  8. 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.