Como importar un txt desde una base en otra?

Tengo una base de datos que se llama Repositorio, guardada en un servidor, donde se guardan tablas con los datos que luego trabajan los usuarios desde otra base llamada Local, guardada en el escritorio de cada usuario. Desde la base Local necesito importar un archivo txt pero que se pegue en la base llamada Repositorio.(Tengo 2 bases porque son muchos los usuarios que acceden y no pueden hacerlo al mismo tiempo) Tengo un botón con el siguiente código, pero no me está funcionando:

Sub ABRO_OTRA_BASE()
Dim dbs As DAO.Database
Dim rs As DAO.Recordset

Set dbs= DBEngine.OpenDatabase("\\la ruta de mi servidor\Repositorio.accdb")
Set rs = dbs.OpenRecordset("TempCli")

DoCmd. DeleteObject acTable, "TempCli"

DoCmd. TransferText acImportFixed, "TempCli", "TempCli", "\\la ruta de mi servidor donde está el txt\TempCli.txt"
DoCmd.DeleteObject acTable, "TempCli_ErroresdeImportación"
End Sub

El depurador me tira error en la línea marcada en negrita.

Me podrán ayudar como corregir esto para que se importe el archvio desde la base Local que es la que operan los usuarios a la base Repositorio donde están guardadas todas las tablas a trabajar.

Desde ya muy agradecido!

2 Respuestas

Respuesta
1

Aunque no indica el mensaje o código del error, asumo que le falta indicar el espacio de trabajo. Pruebe con

Set dbs = DBEngine.Workspaces(0).OpenDatabase("\\la ruta de mi servidor\Repositorio.accdb")
Respuesta
1

Tanto la base local como la remota tienen 'formato Access', lo clásico es que se vinculen las tablas o se utilice el lenguaje SQL para intercambiar datos.

El error actual puede darse que no se acceda correctamente al servidor DNS local y no pueda resolver el destino, si este fuera el caso, se puede solucionar si en lugar del nombre se utiliza la IP del equipo.

Me llama la atención que se utilicen así las tablas (crearlas ==> utilizarlas ==> borrarlas), cuando vaciarla y recargarla es menos costoso en recursos (y mas rápido), teniendo en cuenta que a la hora de importar se puede crear una tabla o utilizar una existente.

Para insertar datos locales (TBL_Datos) en una tabla (AAAA) que esta en una base de datos externa (Base_BBB) con SQL se puede hacer asi:

CurrentDb.Execute "Insert Into AAAA In '\\192.168.200.44\Base_BBB.accdb' Select * From TBL_Datos"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas