Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Función "importar" tabla

186 views
Skip to first unread message

Nuria Martínez

unread,
Nov 18, 2002, 11:05:30 AM11/18/02
to
Hola a todos:
Mi pregunta es la siguiente: Existe alguna función en Access que me permita
importar una tabla, mediante una consulta, o como sea?
Resulta que tengo que importar un montón de ficheros Excel, que tienen
información en 25 hojas distintas, y crear una tabla con todos ellos, o 25
tablas.
Estaba buscando en la ayuda de Access alguna función que me automatizara un
poco el proceso. Podeis ayudarme? Muchísimas gracias de antemano
Un saludo,
Nuria


Patricia

unread,
Nov 18, 2002, 11:54:09 AM11/18/02
to
Desde VB mediante la función TransferSpreadsheet? No se si se adapte a tus
necesidades.
En la ayuda de Acces hay un ejemplo de su uso.
Suerte

"Nuria Martínez" <nuri...@yahoo.es> escribió en el mensaje
news:eYnDzwxjCHA.1368@tkmsftngp09...

Sendo

unread,
Nov 18, 2002, 12:04:25 PM11/18/02
to
Hola Nuria.
Tan solo comentar(sin aportar):
Estando en access, si vas a: Menu/ Get External Data/
Importar/ y en el pop up window que te aparece especificas
el tipo de archivos: excel (en vez de access) sigues las
instrucciones que te va diciendo el Import Spreadsheet
Wizard (o como se diga en castellano).Importas todas las
tablas que necesites, pero una por una.
Ahora bien tu lo que quieres es importar las 25 tablas de
excel de una tacada para crear una tabla access grandota,
o hacerlo a traves de una funcion....
No tengo idea, pero me gustaria saberlo a mi tanmbien.
Un saludo desde England
Sendo
summitmedia.co.uk
>-----Mensaje original-----
>.
>

Fernando Urquizo

unread,
Nov 18, 2002, 3:24:57 PM11/18/02
to
justo justo estoy en eso mismo, y trabajo con mucha importacion de datos la
funcion que tengo para esto es

Public Function IMPORTA_DATOS()
On Error GoTo IMPORTA_DATOS_Err

' ABRE IMPORTACION DE TABLA
DoCmd.TransferDatabase acImport, "dBase 5.0", "C:\My Documents\Rep
Monarch\", acTable, "ICP600C.DBF", "ICP600C1", False
' elimima la confirmacion al ejecutar lo siguiente
DoCmd.SetWarnings False
' ejecuta la adicion de datos
DoCmd.OpenQuery "ADICIÓN DE DATOS A BASE ICP600C", acNormal, acAdd
' borra inclusion de datos actuales dbf monarch
DoCmd.DeleteObject acTable, "ICP600C1"


IMPORTA_DATOS_Exit:
Exit Function

IMPORTA_DATOS_Err:
MsgBox Error$
Resume IMPORTA_DATOS_Exit

End Function

con este codigo puede importar solo tienes que sustituir la ruta del archivo
y ver cuales son los tipos de archivos, tambien puedes variar el
"TransferDatabase acImport" por el comando que dice patricia
"TransferSpreadsheet" las variables son las mismas, pero te recomiendo el
transfer database, porque queda mejor. OJO, tienes que crear una consulta de
adicion, para acumular los datos y sustituyes el nombre de la consulta que
aparece por la tuya.

saludos

Fer


"Sendo" <rose...@summitmedia.co.uk> wrote in message
news:6dea01c28f24$8c8c8850$8af82ecf@TK2MSFTNGXA03...

Scorpion

unread,
Nov 18, 2002, 5:02:41 PM11/18/02
to
Hace unos dias atras solicite ayuda por un tema similar y me pasaron la
siguiente solucion que, ademas de muy clara, funcionó con casi ningun
cambio. Te la paso... en una de esas te sirve. Es para la importacion de un
archivo .txt de ancho fijo. Para un excel, segun lo que pude ver, las
modificaciones no son muchas.


Gracias a Emilio Martin:
Te explico los pasos que tienes que dar para automatizar este proceso:

1 Paso (Solo la primera vez)
-----------------------------
Importar el fichero en cuestión con el asistente de Access y guarda la
estructura en el fichero de especificación, apunta el nombre. Para hacer
este paso, no es necesario que importes el fichero enorme, tan solo con un
ejemplo fiel al original con un par de registros es suficiente.

2 Paso
-------
En el formulario que vas a utilizar te creas un botón de comando.... y
dentro pon lo siguiente:

(Esta parte la saqué)

Dim RutaCompletaFicheroAImportar, NombreEspecificacion, TablaDestino As
String

RutaCompletaFicheroAImportar = "C:\directorio\nombrefichero.txt"
NombreEspecificacion = "ElCreadoalImportarmedianteAsistente"
TablaDestino = "NombreTablaenAccessquedeseasutilizar"

(hasta aqui)

'Para evitar que te pregunte si quieres realizar la operación siguiente....
DoCmd.SetWarnings False

'Eliminas la tabla anterior. Necesario pues de lo contrario, te añade ..
DoCmd.DeleteObject acTable, TablaDestino

'Importas el fichero de texto que según comentas es de ancho fijo.. de ahí
acImportFixed
DoCmd.TransferText acImportFixed, NombreEspecificacion, TablaDestino,
RutaCompletaFicheroAImportar

3 Paso.... tomate un café.. mientras ejecuta la operación... esta noche pago
yo :-)))))

Pos eso... listo.... pruébalo, seguro que te funciona.

Y asi fue
Saludos,
Scorpion


Nuria Martínez <nuri...@yahoo.es> escribió en el mensaje de noticias
eYnDzwxjCHA.1368@tkmsftngp09...

Sendo

unread,
Nov 19, 2002, 3:57:18 AM11/19/02
to
Gracias Patricia, ahora ya se como usar
TransferSpreadsheet Action o Method, desde VBa.
Nunca te vas a dormir sin aprender algo nuevo.
Gracias de nuevo.

Un saludo desde England
Sendo
summitmedia.co.uk
>-----Mensaje original-----
>.
>

Nuria Martínez

unread,
Nov 19, 2002, 6:41:33 AM11/19/02
to
Hola a todos!:
Quiero daros las gracias por vuestras aportaciones, válidas todas. Al final
el resultado ha sido positivo, y ya conozco un poco más sobre las
posibilidades de Access.
Saludos,
Nuria


Sebastian Vega

unread,
Sep 11, 2014, 10:05:46 AM9/11/14
to
scorpion como podría hacer lo mismo pero el archivo de texto y su especificacion llevarla a un nuevo archivo access?

:(

no me funciona

gracias

0 new messages