Come convertire i valori dei dati del tipo di dati Text nel formato di maiuscole/minuscole corretto in Microsoft Access

Moderato: richiede competenze di base di macro, codifica e interoperabilità.

Questo articolo si applica a un file di database di Microsoft Access (con estensione .mdb) oppure a un file di database di Microsoft Access (con estensione .accdb).

Riepilogo

Questo articolo descrive come convertire i valori dei dati del tipo di dati Text nel formato case corretto.

Ulteriori informazioni

I valori dei dati del tipo di dati Text possono essere convertiti nel formato case appropriato usando uno dei metodi seguenti:

  • Metodo 1: usare la funzione di conversione della stringa Built-In
  • Metodo 2: Usare una funzione User-Defined

Nota Prima di usare uno di questi metodi, creare una tabella di esempio denominata MyTestTextList. A tal fine, attenersi alla seguente procedura:

  1. Creare un nuovo database vuoto in Access.

  2. Creare una nuova tabella con i campi seguenti:

    Field Name: testText
    Data Type: Text
    
  3. Salvare la tabella come MyTestTextList.

  4. Aggiungere il testText di esempio seguente alla tabella:

    the cOw jumped Over the MOON
    
    THE QUICK BROWN FOX jUmped over THE lazy DOG 
    
    
  5. Salvare il database come MyTestDatabase.

Metodo 1: usare la funzione di conversione di stringhe predefinita

  1. Aprire il database MyTestDatabase in Access.

  2. Scegliere Query dal menu Inserisci.

    Nota In Microsoft Office Access 2007 o versione successiva fare clic su Progettazione query nel gruppo Altro della scheda Crea .

  3. Nella finestra di dialogo Nuova query fare clic su Visualizzazione struttura.

    Nota In Access 2007 o una versione successiva ignorare questo passaggio.

  4. Nella finestra di dialogo Mostra tabella fare clic su Chiudi.

  5. Scegliere Visualizzazione SQL dal menu Visualizza.

    Nota In Access 2007 o versione successiva fare clic su SQL nel gruppo Risultati della scheda Progettazione .

  6. Digitare il codice seguente nella visualizzazione SQL:

    SELECT testText, STRCONV(testText,3) as  TestText_in_Proper_Case FROM MyTestTextList
    
  7. Scegliere Esegui dal menu Query.

    Nota In Access 2007 o una versione successiva fare clic su Esegui nel gruppo Risultati della scheda Progettazione .

    L'output della query è il seguente:

    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
    

Nota Il metodo StrConv(<Text,3>) converte la prima lettera di ogni parola nel testo in lettere maiuscole. Questo comportamento si verifica solo quando le parole sono separate da uno spazio o da una scheda. StrConv non considera i caratteri speciali, ad esempio - o $, come separatore di parole.

Metodo 2: Usare una funzione definita dall'utente

  1. Aprire il database MyTestDatabase in Access.

  2. Nel menu Inserisci, fare clic su Modulo.

    Nota In Access 2007 o versione successiva fare clic sulla freccia a discesa in Macro nel gruppo Altro della scheda Crea .

  3. Digitare il codice seguente nel modulo corrente e salvare le modifiche.

    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
    

    Nota Per il corretto funzionamento della funzione, è necessario specificare Option Compare Database nella sezione "Declarations" di questo modulo.

  4. Scegliere Chiudi dal menu Filee tornare a Microsoft Access.

    Nota Scegliere Chiudidal menu File per Access 97.

  5. Scegliere Query dal menu Inserisci.

    Nota In Access 2007 o versione successiva fare clic su Progettazione query nel gruppo Altro della scheda Crea .

  6. Nella finestra di dialogo Nuova query fare clic su Visualizzazione struttura.

    Nota In Access 2007 o una versione successiva ignorare questo passaggio.

  7. Nella finestra di dialogo Mostra tabella fare clic su Chiudi.

  8. Scegliere Visualizzazione SQL dal menu Visualizza.

    Nota In Access 2007 o versione successiva fare clic su SQL nel gruppo Risultati della scheda Progettazione .

  9. Digitare il codice seguente nella visualizzazione SQL:

    SELECT testText, proper(testText) as  testText_in_Proper_Case FROM MyTestTextList
    

    Si noti che questa query è simile alla query nel metodo 1. Questa operazione è fatta eccezione per la chiamata di funzione.

  10. Scegliere Esegui dal menu Query.

    Nota In Access 2007 o una versione successiva fare clic su Esegui nel gruppo Risultati della scheda Progettazione .

    L'output della query è il seguente:

    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
    

Anche se l'output di entrambi i metodi è simile, il metodo 2 offre la flessibilità necessaria per selezionare qualsiasi formato di maiuscole e minuscole. Include un separatore di parole scelto, ad esempio - o _. È possibile definire il formato di maiuscole e minuscole richiesto oppure definire un separatore di parole. È possibile eseguire questa operazione se si modifica la funzione Proper indicata nel passaggio 3.