Copiar un archivo a Si mismo

21/04/2010 - 22:24 por Gutiérrez Leonardo José | Informe spam
Estimados,
Tengo un MDE de access 2003 ejecutandose en una terminal. Cuando se abre,
busca una tabla que le dice que ese MDE es mas viejo (otra version) que la
instalada ultimamente. Por lo tanto, debo actualizar el MDE con uno que esta
copiado en una carpeta del servidor.
La consulta: puedo copiar ese MDE nuevo y sobreescribir el mde viejo, siendo
que el MDE se está ejecutando?.
Si lo hago desde código y primero utilizo QUIT y luego el copiar lo haría? o
me daria error?.

Gracias,
Joselo

Preguntas similare

Leer las respuestas

#1 Patxi Sanz
22/04/2010 - 18:02 | Informe spam
Hola Joselo:

No, no podrás: quieres destruir la base de datos donde está corriendo el
código y crear una nueva con el mismo nombre.

Tendrás que usar algún intermediario (otra base de datos, un script, ...)
que elimine o cambie el nombre de la vieja y copie la nueva.

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Respuesta Responder a este mensaje
#2 Juan M. Afan de Ribera
22/04/2010 - 19:06 | Informe spam
Hola,

en realidad, y que yo sepa, es tal y como comenta Patxi.

En mi antigua página, en este enlace

http://www.mvp-access.es/juanmafan/...nclose.htm

hay un "inventillo" que fabriqué para emular la opción de "Compactar al
cerrar" para Access 97. El sistema que empleaba era que en el momento de
cerrarse el archivo de base de datos Access, éste llamaba a un archivo de
script vbs (VBScript) para que se ejecutara. A este archivo vbs se le pasaban
dos argumentos, uno la ruta completa del archivo de base de datos que se
quería compactar (es decir, él mismo) y la carpeta donde estaba alojado. Si
estudias un poco el código tal vez lo puedas transformar para lo que tú
quieres.

El código que te interesa está en un módulo llamado mdlCompactar.

Este archivo vbs tiene también la curiosidad de que se autodestruye para que
no se note el proceso que se está ejecutando. Un poco al estilo de Misión
Imposible, cuando decían "este mensaje se autodestruirá en ..." :-D

Espero que te pueda servir de algo.
Saludos desde Barcelona,
Juan M. Afán de Ribera
http://accessvbafaq.mvps.org


"Gutiérrez Leonardo José" wrote:

Estimados,
Tengo un MDE de access 2003 ejecutandose en una terminal. Cuando se abre,
busca una tabla que le dice que ese MDE es mas viejo (otra version) que la
instalada ultimamente. Por lo tanto, debo actualizar el MDE con uno que esta
copiado en una carpeta del servidor.
La consulta: puedo copiar ese MDE nuevo y sobreescribir el mde viejo, siendo
que el MDE se está ejecutando?.
Si lo hago desde código y primero utilizo QUIT y luego el copiar lo haría? o
me daria error?.

Gracias,
Joselo


.

Respuesta Responder a este mensaje
#3 Gutiérrez Leonardo José
22/04/2010 - 22:33 | Informe spam
Para mi sorpresa!, lo hace, utilizando el siguiente codigo.

' FileCopy "\\Tecnico\Glava\Indexes\Red\Temp.mdb",
"C:\Glava\Indexes\Temp.mdb"
' FileCopy "\\Tecnico\Glava\Indexes\Red\Indexes.mde",
"C:\Glava\Indexes\Indexes.mde"
DoCmd.Quit acQuitSaveAll

Primero copio un MDB de temporales, luego el MDE nuevo, pisando el que esta.
Incleiblemente, luego al abrir de nuevo el MDE esta actualizado con la nueva
version.
Supongo que es porque el mde no abrio ninguna base todavía.
En redes de varias PC es una buena forma de actualizar el mde.
Les agradezco a ambos las sugerencias.

Joselo


"Patxi Sanz" <patxisanz[ARROBA]yahoo[PUNTO]es> escribió en el mensaje
news:%
Hola Joselo:

No, no podrás: quieres destruir la base de datos donde está corriendo el
código y crear una nueva con el mismo nombre.

Tendrás que usar algún intermediario (otra base de datos, un script, ...)
que elimine o cambie el nombre de la vieja y copie la nueva.

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
Respuesta Responder a este mensaje
#4 Patxi Sanz
23/04/2010 - 18:03 | Informe spam
Si tú te sorprendes que funcione, yo todavía más :-O

Eso sí, gracias por postearlo :-)

Un saludo,


Patxi Sanz
Tudela (NA)
http://www.pasa.es.tt/
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida