ACC: Cómo cargar objetos OLE de una carpeta en una tabla

Exención de responsabilidades de contenido KB retirado

Este artículo se refiere a productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

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


Resumen

Este artículo muestra cómo anexar automáticamente a una tabla todos los archivos con una extensión determinada desde una carpeta específica del disco duro. Esta rutina resulta útil para cargar objetos OLE, como archivos .gif, .jpg, .doc, .xls o .bmp que estén asociados a un servidor OLE, en una base de datos de Microsoft Access.


En este artículo se supone que está familiarizado con Visual Basic para Aplicaciones y con la creación de aplicaciones de Microsoft Access mediante las herramientas de programación suministradas con Microsoft Access. Para obtener más información acerca de Visual Basic para Aplicaciones, consulte su versión del manual "Creación de aplicaciones con Microsoft Access".


NOTA: para asociar un archivo gráfico con un servidor OLE, ábralo con un paquete de Servidor OLE, por ejemplo Microsoft Imager o Microsoft Paint, y guarde el archivo.


Para obtener información acerca de cómo trabajar mediante programación con un objeto OLE en un formulario en la versión 2.0 de Microsoft Access, consulte el artículo siguiente en Microsoft Knowledge Base:
114214 ACC2: How to Programmatically Embed or Link an Object in a Form

Más información

Método para importar archivos de objetos OLE

  1. Cree la tabla siguiente en la vista Diseño. Guárdela como tblLoadOLE:

    Tabla: tblLoadOLE
    ------------------------
    Nombre de campo: OLEID
    Tipo de datos: Autonumérico
    Nombre de campo: OLEPath
    Tipo de datos: Texto
    Tamaño del archivo: 255
    Nombre de campo: OLEFile
    Tipo de datos: Objeto OLE

    Propiedades de la tabla: tblLoadOLE
    ----------------------------
    PrimaryKey: OLEID
  2. Uso de Autoformulario: Asistente para columnas, cree un nuevo formulario basado en la tabla tblLoadOLE. Guárdelo como frmLoadOLE.
  3. Abra el formulario frmLoadOLE en la vista Diseño.
  4. Cree tres controles de cuadro de texto no enlazados en la sección de encabezado del formulario:

    Formulario: frmLoadOLE
    ------------------------
    Cuadro de texto
    Nombre: SearchFolder
    Cuadro de texto:
    Nombre: SearchExtension
    Cuadro de texto:
    Nombre: OLEClass
  5. Cree un botón de comando en el formulario:

    Botón de comando
    --------------
    Nombre: cmdLoadOLE
    Título: Cargar archivos
  6. Escriba el procedimiento de evento siguiente en la propiedad OnClick del botón cmdLoadOLE.
     Private Sub cmdLoadOLE_Click()

    Dim MiCarpeta As String
    Dim MiExt As String
    Dim MiRutaAcceso As String
    Dim MiArchivo As String
    Dim strCriteria As String

    MiCarpeta = Me!SearchFolder
    ' Obtiene la ruta de acceso de búsqueda.
    MiRutaAcceso = MiCarpeta & "\" & "*." & [SearchExtension]
    ' Obtiene el primer archivo en la ruta de acceso que contiene la extensión de
    ' archivo.
    MiArchivo = Dir(MiRutaAcceso, vbNormal)
    Do While Len(MiArchivo) <> 0
    [OLEPath] = MiCarpeta & "\" & MiArchivo
    [OLEFile].Class = [OLEClass]
    [OLEFile].OLETypeAllowed = acOLEEmbedded
    [OLEFile].SourceDoc = [OLEPath]
    [OLEFile].Action = acOLECreateEmbed
    ' Comprueba el siguiente archivo OLE de la carpeta.
    MiArchivo = Dir
    ' Va al nuevo registro del formulario.
    ' Sólo en Access 95, utilice la siguiente línea de código:
    DoCmd.DoMenuItem acFormBar, acEditMenu, 12, 4, acMenuVer70

    ' Sólo en Access 97, utilice la siguiente línea de código:
    'DoCmd.RunCommand acCmdRecordsGoToNew Loop

    End Sub
  7. Guarde el formulario frmLoadOLE y, a continuación, ábralo en la vista Formulario.
  8. Escriba el nombre de la ruta de acceso completa de la carpeta que desea buscar en el cuadro de texto SearchFolder.
  9. Escriba la extensión del archivo que desee cargar en el cuadro de texto SearchExtension, por ejemplo bmp, jpg, doc, xls, tif o gif. No escriba ningún punto en la extensión.
  10. Escriba el nombre de Clase del tipo de archivo que va a cargar, por ejemplo Paint.Picture para los archivos .bmp.


    NOTA: para determinar el nombre Clase de un objeto OLE, consulte la documentación de la aplicación que proporciona el objeto.
  11. Haga clic en el botón Cargar archivos. Observe que todos los archivos que coinciden con el contenido de los cuadros de texto SearchFolder y SearchExtension que escribió se agregan a la tabla tblLoadOLE.
Propiedades

Id. de artículo: 158941 - Última revisión: 01/13/2004 - Revisión: 1

Comentarios