Så här konverterar du datavärden för datatypen Text till rätt format i Microsoft Access

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Måttlig: Kräver grundläggande makron, kodning och kompatibilitetsfärdigheter.

Den här artikeln gäller en Microsoft Access-databasfil (.mdb) eller en Microsoft Access-databasfil (.accdb).

Sammanfattning

I den här artikeln beskrivs hur du konverterar datavärden av datatypen Text till rätt format.

Mer information

Datavärdena för datatypen Text kan konverteras till rätt format med någon av följande metoder:

  • Metod 1: Använd funktionen Built-In för strängkonvertering
  • Metod 2: Använda en User-Defined funktion

Obs! Innan du använder någon av de här metoderna skapar du en exempeltabell som heter MyTestTextList. Gör så här:

  1. Skapa en ny tom databas i Access.

  2. Skapa en ny tabell med följande fält:

    Field Name: testText
    Data Type: Text
    
  3. Spara tabellen som MyTestTextList.

  4. Lägg till följande exempeltestText i tabellen:

    the cOw jumped Over the MOON
    
    THE QUICK BROWN FOX jUmped over THE lazy DOG 
    
    
  5. Spara databasen som MinTestDatabas.

Metod 1: Använd den inbyggda strängkonverteringsfunktionen

  1. Öppna Databasen MinTestDatabas i Access.

  2. Klicka på FrågaInfoga-menyn.

    Obs! I Microsoft Office Access 2007 eller en senare version klickar du på Frågedesign i gruppen Övrigt på fliken Skapa.

  3. Klicka på Designvy i dialogrutan Ny fråga.

    Obs! Hoppa över det här steget i Access 2007 eller en senare version.

  4. Klicka på Stäng i dialogrutan Visa tabell.

  5. Klicka på VisaSQL Visa.

    Obs! I Access 2007 eller en senare version klickar SQL i gruppen Resultat på fliken Design.

  6. Skriv följande kod i SQL vy:

    SELECT testText, STRCONV(testText,3) as  TestText_in_Proper_Case FROM MyTestTextList
    
  7. Klicka på Kör på Menyn Fråga.

    Obs! I Access 2007 eller en senare version klickar du på Kör i gruppen Resultat på fliken Design.

    Frågans utdata följer:

    TestTextTestText_in_Proper_Case
    the cOw jumped Over the MOONThe Cow Jumped Over The Moon
    THE QUICK BROWN FOX jUmped overTHE lazy DOG The Quick Brown Fox Jumped Over The Lazy Dog
    

Obs! Med StrConv(,3) konverteras den första bokstaven i <Text> varje ord i texten till versaler. Det här beteendet inträffar bara när orden avgränsas med blanksteg eller en flik. StrConv behandlar inte specialtecken som - eller $, som ordavgränsare.

Metod 2: Använda en användardefinierad funktion

  1. Öppna Databasen MinTestDatabas i Access.

  2. Klicka på ModulInfoga-menyn.

    Obs! I Access 2007 eller en senare version klickar du på pilen för listrutan under Makro i gruppen Övrigt på fliken Skapa.

  3. Skriv följande kod i den aktuella modulen och spara ändringarna.

    Function Proper(X)
    Capitalize first letter of every word in a field.
    
    Dim Temp$, C$, OldC$, i As Integer
    
    If IsNull(X) Then
    
    Exit Function
    
    Else
    
    Temp$ = CStr(LCase(X))
    
    ' Initialize OldC$ to a single space because first
            ' letter must be capitalized but has no preceding letter.
    
    OldC$ = " "
    
    For i = 1 To Len(Temp$)
                    C$ = Mid$(Temp$, i, 1)
                    If C$ >= "a" And C$ <= "z" And (OldC$ < "a" Or OldC$ > "z") Then
                          Mid$(Temp$, i, 1) = UCase$(C$)
                    End If
                    OldC$ = C$
             Next i
    
    Proper = Temp$
    
    End If
    
    End Function
    

    Obs! Du måste ange Alternativjämföringsdatabas i avsnittet "Deklarationer" i den här modulen för att funktionen ska fungera korrekt.

  4. Klicka på Stäng och återgå till Microsoft Access på Arkiv-menyn.

    Obs! Klicka på Stäng för Access 97 på Arkiv-menyn.

  5. Klicka på FrågaInfoga-menyn.

    Obs! I Access 2007 eller en senare version klickar du på Frågedesign i gruppen Övrigt på fliken Skapa.

  6. Klicka på Designvy i dialogrutan Ny fråga.

    Obs! Hoppa över det här steget i Access 2007 eller en senare version.

  7. Klicka på Stäng i dialogrutan Visa tabell.

  8. Klicka på VisaSQL Visa.

    Obs! I Access 2007 eller en senare version klickar SQL i gruppen Resultat på fliken Design.

  9. Skriv följande kod i SQL vy:

    SELECT testText, proper(testText) as  testText_in_Proper_Case FROM MyTestTextList
    

    Observera att den här frågan liknar frågan i metod 1. Detta gäller förutom funktionsanropet.

  10. Klicka på Kör på Menyn Fråga.

    Obs! I Access 2007 eller en senare version klickar du på Kör i gruppen Resultat på fliken Design.

    Frågans utdata följer:

    TestTextTestText_in_Proper_Case
    the cOw jumped Over the MOONThe Cow Jumped Over The Moon
    THE QUICK BROWN FOX jUmped overTHE lazy DOG The Quick Brown Fox Jumped Over The Lazy Dog
    

Även om utdata från båda metoderna är likartade ger Metod 2 dig möjlighet att välja alla fallsformat. Det inkluderar en vald ordavgränsare som - eller _. Du kan definiera det format som krävs eller definiera en ordavgränsare. Det kan du göra om du ändrar funktionen Proper som nämns i steg 3.