Vinculos con Acces

Tengo una hoja de un libro de Excel que tiene datos vinculados con una tabla de access y estos datos se relacionan a su vez con diferentes hojas del mismo libro. Al abrir el libro Excel me pregunta en primer lugar si quiero habilitar macros: si, y en segundo lugar "este libro tiene vínculos asociados con otro libro, ¿desea actualizar este libro con los cambios...? " y, para mí, es necesario que la respuesta sea sí. Además este libro tiene asociada una macro en Auto_Open que al actualizar los vínculos de un libro (access) a este libro no recoge los datos vinculados actuales hasta que la macro ha terminado(la macro recoge estos datos vinculados y los procesa, pero si actualizo los vínculos me muestra los datos de las celdas en blanco, sin ningún valor)¿De qué manera se ha de ejecutar la macro auto_open para que los datos vinculados "existan" durante la ejecución de la macro? ¿Existe alguna instrucción que vincule los datos durante el procedimiento de ejecución de una macro? ¿Se puede actualizar por defecto siempre, sin que Excel pregunte si se quieren vincular los datos?
Agradezco de antemano tu atención en este asunto. Me urge mucho una respuesta.
Midma

1 Respuesta

Respuesta
1
Debo ser honesto contigo, no soy muy diestro en el enlace Access-Excel, pero se me ocurre algo que podría guiarte.
Para empezar hay eventos del objeto Application que se ejecutan antes de cualquier modulo en el libro cuando este se abre. Eso no se puede cambiar.
Lo que se me ocurre es que manejes toda tu aplicación desde un libro maestro y que desde este abras los libros que necesites. Por ejemplo para que sin preguntar se actualicen vínculos de un libro puedes hacer lo siguiente:
En el libro maestro inserta un módulo con el siguiente código:
Sub Abrir()
Application.DisplayAlerts = False
Workbooks.Open Filename:="C:RutaMiLibro.xls", UpdateLinks:=3
Application.DisplayAlerts = True
End Sub
Llama esa rutina desde donde corresponda en tu codigo, por ejemplo
Private Sub CommandButton1_Click()
Abrir
End Sub
Podrías comenzar ensayando con eso, si tienes problemas escribe nuevamente
Jgirj,
Otra vez gracias.
La dificultat que radica en que los vínculos siempre se han de actualizar (aunque abras otro libro, que a su vez tendrá vínculos con el libro anterior)la puedo solucionar con la rutina que me propusiste. Por otro lado un compañero tuyo me ha indicado la posibilidad de vincular los datos a través de "Datos/obtener datos externos/ nueva consulta" que se vincula de "otra" manera a Access y cuando abre el libro no propone la actualización del vínculo (que yo lo había creado con el pegado especial-pegar con vínculo)y que con la sub auto_open y una instrucción "refresh" continua con la macro. No obstante tu rutina me será útil para el vínculo entre diferentes libros.
Atentamente,
Midma
Jgirj,
Gracias por el esfuerzo.
Tengo una duda: La rutina que propones ¿se puede ejecutar directamente al abrir el Excel (con una sub Auto_open) para que no pida la actualización de los links cuando se abra el libro?
Atentamente,
Midma
Si la puedes ejecutar en un Sub Auto_Open, pero desde un libro ajeno al que quieres abrir por código. Te explico: Si el código lo pones en el mismo libro que quieres abrir no servirá por que excel antes de ejecutar macros hace algunas operaciones por defecto como averiguar por los vínculos. Se me ocurre algo
En un libro cualquiera coloca el código que te di antes y agrega después de abrir rl libro que te interesa Thisworkbook. Close
Así solo te quedara abierto el libro de interés y el otro solo servirá como medio para abrir el libro principal sin que se pregunte por los vínculos.
Si te quedan dudas avisame

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas