Sign in with Microsoft
Sign in or create an account.

Moderado: requiere conocimientos básicos de macros, código e interoperabilidad.

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

Síntomas

En una base de datos de Microsoft Access, cuando crea un campo Memo que incluye un índice o cuando crea un nombre de campo que incluye el texto indizado automáticamente, no puede escribir en el campo texto que incluya más de 3450 caracteres aproximadamente. Cuando intenta escribir más texto en el campo o modificar los datos existentes, recibe un mensaje de error similar al siguiente:

Error en tiempo de ejecución '3709':

La clave de búsqueda no se encontró en ningún registro.

Solución

Si debe escribir una gran cantidad de texto en el campo Memo, elimine el índice del campo Memo. Para ello, siga estos pasos:

  1. Abra la tabla que tiene el campo Memo en la vista Diseño.

  2. En el menú Ver, haga clic en Índices.

    Nota: en Microsoft Office Access 2007, haga clic en la ficha
    Diseño y, a continuación, haga clic en
    Índices en el grupo Mostrar u ocultar.

  3. Haga clic en el índice del campo Memo y elimínelo.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a" de este artículo.

Más información

Este comportamiento no se produce en versiones de Microsoft Access anteriores a Microsoft Access 2000 porque los campos Memo no se podían indizar en Jet 3.5 y en versiones anteriores.

Pasos para reproducir el comportamiento en Access 2003

  1. En una nueva base de datos, cree una tabla nueva con las propiedades siguientes y guárdela como Tabla1:
    Tabla: Tabla1
    ------------------------
    Nombre de campo: Id.
    Tipo de datos: Autonumérico
    Clave principal

    Nombre de campo: MiCódigo
    Tipo de datos: Memo

  2. Agregue el registro siguiente a la tabla Tabla1:
    Id. MiCódigo
    ------------------------------------
    1 Estos son datos de prueba de Memo

  3. Copie la siguiente instrucción SQL, péguela en una nueva consulta en la vista SQL y guarde la consulta como
    consulta1:

    UPDATE Tabla1 SET Tabla1.MiCódigo = [MiCódigo] & " " & [MiCódigo];

  4. Cree el módulo siguiente y guárdelo como
    Módulo1:

    Sub TestMemoUpdate()
    Dim i As Integer
    Docmd.setwarnings false
    For i = 1 To 10
    Docmd.openquery "Query1"
    Next i
    Docmd.setwarnings true
    End Sub
  5. Sitúe el puntero para que esté dentro del procedimiento. Presione F5 para ejecutar el código.

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×