Ver cantidad de registros importados

No se como hacer para que al momento de importar unos datos de excel a access me aparezca un cuadro de dialogo que cuantifique y muestre el progreso de los registros importados.

El código de importación ya lo tengo y funciona bien, pero quisiera ver si puedo elegir el archivo y no tenerlo desde una ubicación como te muestro en la parte de abajo.

 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ImportadoXls", "C:\Users\JulioE\Desktop\Etb\InfEtb.xlsx", True, "Datos!"

1 respuesta

Respuesta
1

Julio: Para la segunda parte de elegir un Fichero.

En el formulario que tengas para Importar pon un TextBox, que se llame por ejemplo RutaImport.

En éste enlace tienes como seleccionar el fichero:

http://www.mediafire.com/download/61ji1f1zbiormd1/EligeUnFichero.rar 

Una vez que tienes el Nombre elegido y mostrado, ya puedes Importar sustituyendo en tu Código:

"C:\Users\JulioE\Desktop\Etb\InfEtb.xlsx" por algo así>>

"Me.RutaImport.Value"

Para la primera parte si lo que quieres un mensaje, primero cuenta los Registros de la Tabla Datos.

Toma el campo Clave, y supongamos que se llama ClaveDatos

Declaras una variable >> NumRegistros As Long

NumRegistros = DCount("[ClaveDatos]","Datos")

MsgBox "Se han importado....." & NumRegistros & " Registros",vbInformation,"INFORMACION DE REGISTROS"

Si tienes dudas me comentas. Saludos >> Jacinto

Jacinto lo probare y te cuento aunque estaba pensado que si existe la posibilidad de ver en pantalla el conteo de los registros.

Julio: Para que no sea un Mensaje y se quede fijado en el Formulario incorpora un Text Box y le llamas por ejemplo RegImportados.

Después de contar los Registros con NumRegistros = ..........

Le pones Me.RegImportados = NumRegistros.

Si te quieres ahorrar la Variable >>

Me.RegImportados =DCount("[ClaveDatos]","Datos")

Mis Saludos >> Jacinto

Gracias por el aporte jacinto, el form del ejemplo toma el campo para ver el archivo, deje el mismo nombre del texbox el cual lo llamaron Fichero pero al cambiar la instrucción que me dices para la importación de los datos me genera un error 3011 el cual me dice que no puede encontrar el objeto y me señala la ruta camputara en el texbox, me ayudas por favor, gracias, te paso el código de lo que he trabajado, primero borro los datos de la tabla Importadoxls, espero este bien la instrucción, luego se hace la actualización de un campo llamado IdUnico y por ultimo inserto los datos en la tabla llamada reportes.

En esta parte es donde requiero saber la cantidad de registros importados.

Gracias, saludos Julio.

Private Sub Comando7_Click()
 dim borr as string
 dim jvcsql as string
       dim sqlinserta as string
borr = "delete importadoxls.* from importadoxls;"
 ' docmd.deleteobject actable, "importadoxls"
     docmd.transferspreadsheet acimport, acspreadsheettypeexcel9, "importadoxls", "me.fichero.value", true, "datos!"
   ' msgbox "importación terminada....", vbinformation, "aviso del sistema"
   jvcsql = "update importadoxls set importadoxls.idunico=[importadoxls]![cod_lote]&[importadoxls]![napc];"
    docmd.setwarnings false
    currentdb.execute jvcsql, dbfailonerror
    sqlinserta = "insert into reportes ( idunico, cod_lote, prioridad, [pri 2], mes, f_prioriza, tipo, napc, idestado, estado, sub_estado, aprov_adint, tprov_tca, fprov_fusion, f_cert, cob_cert, asignadoa, f_asignado, uh, [lote unico], [nap unico], nombre_conjunto, molecula, [nemonico t2], contrista, [estado cobra], f_reporte, [f_entrega  etb], [f_aprobado etb], [visita 1], [visita 2], [visita 3], [visita 4], [visita 5], causal )" _
& "select importadoxls.idunico, importadoxls.cod_lote, importadoxls.prioridad, importadoxls.[pri 2], importadoxls.mes, importadoxls.f_prioriza, importadoxls.tipo, importadoxls.napc, importadoxls.idestado, importadoxls.estado, importadoxls.sub_estado, importadoxls.aprov_adint, importadoxls.tprov_tca, importadoxls.fprov_fusion, importadoxls.f_cert, importadoxls.cob_cert, importadoxls.asignadoa, importadoxls.f_asignado, importadoxls.uh, importadoxls.[lote unico], importadoxls.[nap unico], importadoxls.nombre_conjunto, importadoxls.molecula, importadoxls.[nemonico t2], importadoxls.contrista, importadoxls.[estado cobra], importadoxls.f_reporte, importadoxls.[f_entrega  etb], importadoxls.[f_aprobado etb], importadoxls.[visita 1], importadoxls.[visita 2], importadoxls.[visita 3], importadoxls.[visita 4], importadoxls.[visita 5], importadoxls.causal from importadoxls;"
docmd.runsql sqlinserta
docmd.setwarnings true
End Sub

Gracias jacinto, pero ya encontré el error en el que fallaba el proceso, era sin las comillas.

Gracias por tus aportes un saludo.

Julio: Acabo de llegar acasa y al mirar si había alguna cuestión pendiente he visto que habías resuelto el error que me comentabas.

Perfecto. No obstante le echaré una ojeada a lo que me has enviado y si tengo algo te lo comento. Miraré lo de los Registros transferidos. Saludos >> Jacinto

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas