Access - Ejecutar consulta desde otro access

   
Vista:

Ejecutar consulta desde otro access

Publicado por davidndnd (7 intervenciones) el 31/05/2013 12:06:20
Hola,

Quiero abrir/ejecutar una consulta de creación que esta en un access 1 desde una macro que esta en un Access 2,
Como puedo hacerlo?
Muchas gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Neckkito

Ejecutar consulta desde otro access

Publicado por Neckkito (1104 intervenciones) el 01/06/2013 12:39:34
Hola!

Te indico cómo puedes hacerlo en una situación "normal"; es decir, Access1 está cerrado y Access2 está abierto. No se comprueba si la tabla que se va a crear ya existe ni "cosas de esas". El tema del control de errores te lo dejo para ti

Por ejemplo, en Access2 podrías, en un formulario, insertar un botón de comando y que al hacer clic te iniciara el proceso.

El código, asignado al evento "Al hacer clic" del botón, sería:

...
Private Sub Comando0_Click()
'Declaramos las variables
Dim miAccess As Object
'Pillamos la base de datos que queremos abrir
Set miAccess = GetObject("C:\rutaDondeEstáLaBD\Access1.accdb")
'Ejecutamos la consulta
miAccess.DoCmd.OpenQuery "nombreConsulta"
'Lanzamos un mensaje de aviso
MsgBox "Proceso realizado correctamente", vbInformation, "OK"
'Eliminamos la instancia de Access
Set miAccess = Nothing
End Sub
...

Lógicamente debes cambiar "rutaDondeEstáLaBD" por la ruta efectiva donde esté situada la BD, y también debes cambiar "nombreConsulta" por el nombre de tu consulta.

A ver si te va bien.

Un saludo,


http://neckkito.siliconproject.com.ar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ejecutar consulta desde otro access

Publicado por davidndn (7 intervenciones) el 03/06/2013 12:42:40
Muchas graciasNeckkito, otra vez :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar consulta desde otro access

Publicado por davidndn (7 intervenciones) el 03/06/2013 13:25:38
Muchas gracias Nekkito pero me doy cuenta de que cuando ejecuto el programa que me comentas me parece el cuadro de diálogo preguntandome si deseo abrir el Acces 1.
Que puedo hacer para que no me lo pregunte? y lo abra automaticamente.
Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

Ejecutar consulta desde otro access

Publicado por Neckkito (1104 intervenciones) el 03/06/2013 13:45:51
Hola!

Lo estoy probando en Access 2007 (lo probé antes en 2010) y no me lanza ningún mensaje de petición de apertura que comentas.

Lo que sí he detectado es que me deja Access1 abierto, lo cual se corrige añadiendo la línea que marco en itálica (pongo una línea anterior y posterior para ubicarla):

miAccess.DoCmd.OpenQuery "nombreConsulta"
'Cerramos la BD
miAccess.Quit

'Lanzamos un mensaje de aviso

¿Con qué versión estás trabajando?

El problema es que si no puedo recrear esa petición y hacer algunas pruebas la verdad es que no se me ocurre cómo puedes eliminar ese mensaje. :(

Un saludo,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar consulta desde otro access

Publicado por davidndn (7 intervenciones) el 03/06/2013 14:10:26
Uso Access 2003, La ventana que me aparece cuando el código intenta abrir el Access1 es:
Advertencia de seguridad:
Puede que este archivo contenga codigo para dañar su equipo y no sea seguro
¿Desea abrir el archivo?

Y las opciones de abrir o cancelar

Muchas gracias por todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

Ejecutar consulta desde otro access

Publicado por Neckkito (1104 intervenciones) el 03/06/2013 14:46:51
Hola!

¿Tienes las macros configuradas con nivel de seguridad bajo? Si no es así haz la prueba configurando ese nivel de seguridad de las macros (esa opción, si no recuerdo mal, está en la opción de menú "Herramientas"; y, si no lo está, echa un vistazo por los menús a ver si lo encuentras.

Si no tendrás que esperar un rato porque necesito "recuperar" algún 2003 para hacer algunas pruebas, a ver si consigo algo.

Un saludo,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejecutar consulta desde otro access

Publicado por davidndn (7 intervenciones) el 03/06/2013 15:22:19
Muchas gracias por la dedicación Neckkito,

En efecto era lo que me comentabas.
En Herramientas/macros/seguridad lo he puesto en nivel bajo y a funcionado correctamente.

Muchas gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Neckkito

Ejecutar consulta desde otro access

Publicado por Neckkito (1104 intervenciones) el 03/06/2013 15:29:24
Hola!

Ten en cuenta que esa modificación afecta a TODO Access que abras. Si recibes algún Access de "por ahí", es decir, de sitios que no sean de tu confianza, cuidado al abrirlo, porque con el nivel de macros situado en "bajo" te permite la ejecución de CUALQUIER código que haya en la BD.

Simplemente tenlo en cuenta para evitar "sustos".

Saludos,

Neckkito
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar