Ayuda con Query Tables

javier ortega
06 de Abril del 2005
Hola a todos,

Estoy desarrollando un ADDIN en Excel que te permite extraer datos de una BD. El caso es que me he creado una funci贸n a la que se le pasan unos par谩metros y en funci贸n de ellos te genera una Query y te devuelve el resultado en EXCEL.

Lo que estoy utilizando es una funci贸n p煤blica que se llama DATOS y recibe unos par谩metros. Esta funci贸n DATOS se escribe en cualquier celda de EXCEL como cualquier formula normal. El trabajo que deber铆a hacer es simplemente analizar los par谩metros, crear un QueryTable autom谩ticamente con la ejecuci贸n de la sentencia deseada y devolver en la casilla de la formula un OK si la ejecui贸n es correcta y un NO si es incorrecta.

El caso es que la funci贸n va a medias, la Query la crea pero hace dos pasadas a la funci贸n. Por ejemplo: Datos("select nombre from clientes") (por poner un ejemplo). Esto dever铆a devolver en la f贸rmula un OK o un NO y justo debajo de la celda donde se definio el resultado de la query mostrada como una QueryTable.

El caso es que comienza la ejecuci贸n correcta y cuando llega a la QueryTable.Refresh en lugar de seguir con el c贸digo interrumpe la ejecuci贸n y vuelve a llamar a la funci贸n DATOS, en esta segunda pasada s铆 que realiza correctamente la consulta.
Con esto lo que pretendo decir es que el c贸digo esta correcto porque la consulta se genera pero no es l贸gico que Excel aborte l铆neas de c贸digo as铆 por las buenas. Es como si necesitara volver a hacer CALCULATE de otras celdas y les diera prioridad antes de acabar lo que esta haciendo.

Lo que me provoca esto es que si tengo varias funciones de datos y hago un CALCULATE de toda la hoja, solamente me ejecuta correctamente 1 ya que el resto se quedan en ejecuci贸n suspendida. Sin embargo si edito la formula de cada una de ellas y las vuelvo a ejecutar, el resultado es correcto.

驴Alquien sabe por que co帽o esta pasando esto? Ya no s茅 que probar.

Un saludo y muchas gracias.

Alejandro Tello Busquets
06 de Abril del 2005
Hola, no entend铆 del todo c贸mo funciona tu c贸digo, ser铆a muy bueno que lo subieras para que lo pudi茅ramos revisar. En mi foro, reviso los mensaje muy a menudo, si tambi茅n quieres entrar, est谩s invitado.

www.kognos.com.mx/foro