Access - Vincular consulta.

 
Vista:
sin imagen de perfil
Val: 23
Ha aumentado su posición en 7 puestos en Access (en relación al último mes)
Gráfica de Access

Vincular consulta.

Publicado por Mariel (10 intervenciones) el 15/03/2018 19:13:18
Que tal amigos,
Mi dilema es el siguiente.
Tengo un archivo access con varias tablas ubicado en un servidor.
En otros equipos tengo otros archivos access que que toman del primero (vinculando las tablas) datos.
En los ordenadores remotos se deben hacer consultas, pero al ser tablas muy grandes cuando se hace la consulta vía remota es mucha la información que se transmite evidentemente porque la velocidad de respuesta baja sensiblemente.
Existe alguna forma de dejar que la consulta se ejecute en el en el servidor y vincular ésta a los equipos remotos, para que solo traiga los datos que necesito?.

Gracias!!
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
sin imagen de perfil

Vincular consulta.

Publicado por Nestor Fabian (1 intervención) el 17/03/2018 03:30:04
De forma nativa access no posee esa característica porque no es un servicio, En un servicio como el de SQL SERVER se pueden ejecutar procedimientos almacenados que pueden contener consultas que devuelven resultados que se pueden cargar a un recordset. SQL SERVER es el que realiza el trabajo pesado del lado del servidor, las sumas, las agrupaciones, las ordenaciones y el filtrado. También puede ejecutar funciones, y muchas otras características.

Pero en Access no se puede hacer esto de manera nativa, porque no es un servicio, sino un archivo muerto, una base de datos a la cual se accede de manera remota desde otro archivo de access mediante tablas vinculadas. De tal manera que todo el trabajo se hace desde la terminal.

Claro que en programación todo es posible. Se puede contruir un servicio.

Si quieres lograr que el servidor sea el que trabaje en las consultas, entonces deberías crear un programa en otro archivo de Access del lado del servidor. Este programa tiene que estar iniciado y esperar instrucciones.

La idea es como sigue: En la base de datos podrías tener una tabla de instrucciones, y el programa de servidor que consulta con un evento timer si existen nuevas instrucciones cada medio segundo por ejemplo. Si encuentra por ejemplo en la tabla de instrucciones el valor de 3, podría significar ejecutar la función que ejecuta una consulta que coloca los valores en una tabla de la base de datos y después de ejecutar la instrucción enviará un código a la base de datos para indicarle a la terminal que el reporte está listo. Así la terminal podrá leer la tabla de resultado de la base de datos sin hacer ningún cálculo y así exponerla en un reporte. Este trabajito aumentará notablemente la velocidad porque el trabajo de cálculo se hace del lado del servidor.

Podrías trabajar de esta manera no solo con consultas, sino también con complejas funciones escritas en vb6

Lo único que tendrías que programar es que se inicie el programa junto con el servidor para que todo funcione bien.
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
sin imagen de perfil
Val: 23
Ha aumentado su posición en 7 puestos en Access (en relación al último mes)
Gráfica de Access

Vincular consulta.

Publicado por Mariel (10 intervenciones) el 19/03/2018 12:20:07
Es una buena idea. Y una buena explicación comparándolo con SQL SERVER. 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