Cómo convertir valores de datos del tipo de datos text en el formato apropiado de mayúsculas y minúsculas en Microsoft Access

Nota

Office 365 ProPlus pasa a llamarse Microsoft 365 Apps para empresas. Para obtener más información sobre este cambio, lea esta publicación de blog.

Moderado: requiere habilidades básicas de macros, codificación e interoperabilidad.

Este artículo se aplica a un archivo de base de datos de Microsoft Access (. mdb) o a un archivo de base de datos de Microsoft Access (. accdb).

Resumen

En este artículo se describe cómo convertir los valores de datos del tipo de datos text al formato de mayúsculas y minúsculas apropiado.

Más información

Los valores de datos del tipo de datos text se pueden convertir al formato de mayúsculas y minúsculas apropiado mediante uno de los métodos siguientes:

  • Método 1: usar la función de conversión de cadena integrada
  • Método 2: usar una función definida por el usuario

Nota: Antes de usar cualquiera de estos métodos, cree una tabla de ejemplo que se denomine MyTestTextList. Para ello, siga estos pasos:

  1. Cree una nueva base de datos en Access.

  2. Cree una nueva tabla con los siguientes campos:

    Field Name: testText
    Data Type: Text
    
  3. Guarde la tabla como MyTestTextList.

  4. Agregue el siguiente ejemplo de testText a la tabla:

    the cOw jumped Over the MOON
    
    THE QUICK BROWN FOX jUmped over THE lazy DOG 
    
    
  5. Guarde la base de datos como MyTestDatabase.

Método 1: usar la función de conversión de cadena integrada

  1. Abra la base de datos de MyTestDatabase en Access.

  2. En el menú Insertar , haga clic en consulta.

    Nota: En Microsoft Office Access 2007 o una versión posterior, haga clic en diseño de consulta en el otro grupo de la ficha crear .

  3. En el cuadro de diálogo nueva consulta , haga clic en vista Diseño.

    Nota: En Access 2007 o una versión posterior, omita este paso.

  4. En el cuadro de diálogo Mostrar tabla , haga clic en cerrar.

  5. En el menú Ver , haga clic en vista SQL.

    Nota: En Access 2007 o una versión posterior, haga clic en SQL en el grupo resultados de la ficha diseño .

  6. Escriba el siguiente código en la vista SQL:

    SELECT testText, STRCONV(testText,3) as  TestText_in_Proper_Case FROM MyTestTextList
    
  7. En el menú consulta , haga clic en Ejecutar.

    Nota: En Access 2007 o una versión posterior, haga clic en Ejecutar en el grupo resultados de la ficha diseño .

    El resultado de la consulta sigue:

    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: El método StrConv ( , 3) convierte a mayúsculas la primera letra de cada palabra del texto. Este comportamiento sólo se produce cuando las palabras están separadas por un espacio o una tabulación. StrConv no trata los caracteres especiales, como-o $, como separador de palabras.

Método 2: usar una función definida por el usuario

  1. Abra la base de datos de MyTestDatabase en Access.

  2. En el menú Insertar, haga clic en Módulo.

    Nota: En Access 2007 o una versión posterior, haga clic en la flecha desplegable debajo de macro en el otro grupo de la ficha crear .

  3. Escriba el siguiente código en el módulo actual y guarde los cambios.

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: Debe especificar Option Compare Database en la sección "declaraciones" de este módulo para que la función funcione correctamente.

  1. En el menú archivo , haga clic en cerrar y volver a Microsoft Access.

    Nota: En el menú archivo , haga clic en cerrarpara Access 97.

  2. En el menú Insertar , haga clic en consulta.

    Nota: En Access 2007 o una versión posterior, haga clic en diseño de consulta en el otro grupo de la ficha crear .

  3. En el cuadro de diálogo nueva consulta , haga clic en vista Diseño.

    Nota: En Access 2007 o una versión posterior, omita este paso.

  4. En el cuadro de diálogo Mostrar tabla , haga clic en cerrar.

  5. En el menú Ver , haga clic en vista SQL.

    Nota: En Access 2007 o una versión posterior, haga clic en SQL en el grupo resultados de la ficha diseño .

  6. Escriba el siguiente código en la vista SQL:

    SELECT testText, proper(testText) as  testText_in_Proper_Case FROM MyTestTextList
    

    Observe que esta consulta es similar a la consulta en el método 1. Esto es excepto para la llamada de función.

  7. En el menú consulta , haga clic en Ejecutar.

    Nota: En Access 2007 o una versión posterior, haga clic en Ejecutar en el grupo resultados de la ficha diseño .

    El resultado de la consulta sigue:

    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
    

Aunque el resultado de ambos métodos es similar, el método 2 le proporciona la flexibilidad necesaria para seleccionar cualquier formato de mayúsculas y minúsculas. Esto incluye un separador de palabras elegido como-o _. Puede definir el formato de mayúsculas y minúsculas necesario o puede definir un separador de palabras. Puede hacerlo si modifica la función adecuada que se menciona en el paso 3.