Cómo convertir valores de datos del tipo de datos Text al formato de caso correcto 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 conocimientos básicos de macro, 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 caso adecuado.

Más información

Los valores de datos del tipo de datos Text se pueden convertir al formato de caso correcto mediante uno de los métodos siguientes:

  • Método 1: Usar la función Built-In conversión de cadena
  • Método 2: Usar una User-Defined función

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

  1. Cree una nueva base de datos en blanco en Access.

  2. Cree una nueva tabla con los campos siguientes:

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

  4. Agregue el siguiente ejemplo 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 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 grupo Otro 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 SQL Ver.

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

  6. Escriba el siguiente código en la 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 es el siguiente:

    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 la primera letra de cada palabra del <Text> texto en mayúsculas. Este comportamiento se produce solo cuando las palabras están separadas por un espacio o una pestaña. 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 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 de Macro en el grupo Otros 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.

  4. En el menú Archivo, haga clic en Cerrar y volver a Microsoft Access.

    Nota En el menú Archivo, haga clic en Cerrar para Access 97.

  5. 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 grupo Otro de la ficha Crear.

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

  7. En el cuadro de diálogo Mostrar tabla, haga clic en Cerrar.

  8. En el menú Ver, haga clic SQL Ver.

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

  9. Escriba el siguiente código en la SQL:

    SELECT testText, proper(testText) as  testText_in_Proper_Case FROM MyTestTextList
    

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

  10. 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 es el siguiente:

    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 ofrece la flexibilidad de seleccionar cualquier formato de caso. Esto incluye un separador de palabras elegido como - o _. Puede definir el formato de caso necesario o puede definir un separador de palabras. Puede hacerlo si modifica la función Proper que se menciona en el paso 3.