Alimentar tabla de datos de Access por medio de un archivo

Y a su vez solicitar de su amable ayuda.

Quiero realizar un proceso donde pueda alimentar una tabla de datos de Aceess por medio de un archivo que se adjunte no se si es posible?. La idea que me ronda es: crear un formulario que me permita descargar la plantilla en la cual se debe ingresar la información que se requiere cargar y en el mismo se pueda adjuntar el archivo.

Dado que la tabla contiene dos llaves primarias y algunos campos obligatorios el formulario debería indicar los registros que no se lograron cargar por algún motivo " se encuentre repetido, uno de los campos obligatorios este vació, o el formato del campo no sea correcto".

1 respuesta

Respuesta
1

Le he dado más de una vuelta a tu mensaje pero la verdad no termina de entenderse. Intenta explicarlo un poco mejor.

Hola Abraham, gracias por ayudarme

En realidad el problema que tengo es el siguiente:

Debo almacenar los datos de estudiantes en una tabla de Access, los cuales siempre me llegan en diferentes archivos. 

Me gustaría crear un formulario que importara los datos 

Me explico, al abrir el formulario me pidiera adjuntar el archivo que tiene los datos y el proceso seria insertar los registros del archivo en la tabla 

AJa, voy entendiendo mejor el problema. ¿Los archivos los envían siempre en ¿excel? ¿Otro programa? Eso archivos ¿siempre tienen el mismo formato?

Abraham Valencia

En su mayoría me los envían en Excel por eso quisiera tener una plantilla,  para estandarizar el flujo. 

Con eso no importaría en que me los enviaran

cada vez que los fuera a cargar debería pasarlos a la plantilla

Si creas una "planilla" de Excel que todos usen para los datos, te van a facilitar el trabajo un montón. Solo deberá tener las mismas columnas que campos tu tabla de Access. Una vez que todos te las van enviando, el modo más fácil de "pegarlo" todo en tu tablas es usar: "Datos Externos" - "Importar y Vincular" - "Excel", en la ventana de diálogo que se abre en "Nombre del archivo" ubicas el archivo que te van a enviar, activas la opción "anexar una copia de los registros a la tabla" y en la lista desplegable seleccionas la tabla a la que debes enviar la información. Das "click" al botón "aceptar", sigues los pasos y listo.

Creo que eso te ayudará

Abraham Valencia

En realidad eso es lo que necesito,  pero me gustaría que el usuario lo pudiera gestionar por si mismo. 

No se si ese proceso se puede hacer por medio de un formulario

Asumo que cada usuario tiene un archivo de Access que hace de "Front End" y que el archivo con las tablas ("Back end") está "sano y salvo". Además en ese "Front End" hay un formulario con un botón que se llama "Comando16" y que en su evento "click" tiene lo siguiente:

Private Sub Comando16_Click()
Dim RutaArchivo As String
Dim Busqueda As Integer
Dim NombreTabla As String, HojadeExcel As String
Let NombreTabla = "Tabla4": Let HojadeExcel = "Hoja1!"
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Seleccione la planilla de datos"
        .Filters.Add "Excel", "*.xlsx"
        .FilterIndex = 3
        .AllowMultiSelect = False
        .InitialFileName = CurrentProject.Path
         Busqueda = .Show
        If (Busqueda <> 0) Then
            RutaArchivo = Trim(.SelectedItems.Item(1))
            If Right(RutaArchivo, 13) = "Planilla.xlsx" Then
            DoCmd. TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, NombreTabla, RutaArchivo, True, HojadeExcel
            MsgBox "Perfecto como Abraham"
            Exit Sub
            End If
        MsgBox "Archivo equivocado"
        End If
    End With
End Sub

Otros supuestos:

- La tabla se llama "Tabla4"

- El archivo de Excel se llama "Planilla" su extensión es "*.xlsx"

-La hoja de los datos en Excel se llama "Hoja1"

- Tus usuarios sabrán usar el "cuadro de dialogo" para seleccionar la "planilla"

Ah, otras cosas, asumo también que tu campo con "clave principal" es autonumérico y por tanto NO va en la planilla del Excel. De ser otro el caso hay que adaptarlo. También está el tema de que los tipos de datos coincidan entre el Excel y los campos del Acces, pero se supone que la planilla que debes distribuir debe evitar que pongan otras cosas.

Hola Abraham, todavía me falta aprender a detallar las preguntas por ende te pido disculpas, pero tus suposiciones son correctas voy replicar tu ejemplo creo que es la solución perfecta, claro que se me escapa una observación, la solución no debería permitir cargar registros duplicados.

Voy a realizar las pruebas y te cuento como me fue de antemano mil gracias..

Abraham

Yo lo que hago, muchas veces, es no trabajar sobre los archivos llamemoslos "principales", creo otros archivos y voy recreando cosas que me interesa lograr (ensayo y error) y ya sobre buenos resultados las adapto a mis archivos "principales". Es una recomendación que creo te podría ser útil.

Sobre este caso, ya nos irás contando que tal te fue.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas