• 💪 Demuestra tus super conocimientos de Excel 
    Ayúdanos a contestar estos temas sin respuesta

ENVIO DE CONSULTA CON DATOS DE EXCEL

¡Ahora sí que te has explicado "de lo más bien"!... ¡Queda clarísimo que es lo que estás haciendo!
Fíjate que -hasta aquí- te han sugerido 3 formas diferentes de generar la info (más la que -en realidad- utilizas: total... 4 formas). Y ésa es la razón por que no se entendía que camino estabas tomando.
_______________________

¿Y sabes que te está faltando comentar para terminar de ayudarte dentro del contexto que estás trabajando ahora?... La siguiente parte:

Si estás haciendo lo que "se vislumbra", entonces la parametrización será sencilla.

En esta parte me refiero a que si quiero ahora cambiar la fechacontabilizada, entro en las propiedades de las consulta y cambio el codigo del texto del comando, lo que no es agil. Lo que no veo es una posible conexion entre la consulta lanzada que en realidad se ejecuta en el servidor, para que lea parametro de una casilla de excel, por lo mneos desde la propiedades de la consulta. No se si me explico.


1583921489309.png
 
¡Cómo aburre, el anciano!... (además de perjudicar al consultante original de este hilo).
Si. La verdad es que ambos creo que podéis aportar mucho a las consultas de la gente, porque se ve que tenéis conocimientos y estoy seguro de que ambos brillareis por eso. Así que es mejor que hagáis equipo, y todos, incluidos vosotros, saldremos ganando.

Saludos
 
Hablando de antigüedad y M.S. Query, aquí una versión de Abraham 2008 y Cacho 2010 :p

https://grupos.emagister.com/debate/obtener_datos_externos_con_parametros/6610-230322

Abraham Valencia
https://abrahamexcel.blogspot.com/
Lima, Perú
He revisado esta respuesta y se acerca mucho a la solución de lo que planteo, porque he probado con una consulta simple sobre un bbdd y me da la opción de elegir el valor, pero en concreto para esta consulta del ejemplo la opción de criterio aparece deshabilitada y puede ser que al tratarse de una consulta combinada de varias BBDD no identifica con claridad los campos y por tanto no ofrece esa posibilidad, p... pero por ahí debe estar la solución.

Muchas gracias
 

Cacho R

Well-known member
y me da la opción de elegir el valor
Para que te de la opción de elegir el valor desde una celda:
  • Elige una celda vacía
  • A esa celda dale formato Texto (ni General, ni Número, ni Fecha: Texto)
  • Pon allí: 20200101

  • En el WHERE de tu SQL ya nos mostraste que tienes:
AND FECONTABILIZADA > '20200101'
¿Verdad?...
  • Pues entonces cámbialo a:
AND FECONTABILIZADA > ?

Cuando intentes confirmar ese cambio te solicitará que le brindes el valor del Parámetro1: allí es donde le indicarás la celda antes elegida.
 
Para que te de la opción de elegir el valor desde una celda:
  • Elige una celda vacía
  • A esa celda dale formato Texto (ni General, ni Número, ni Fecha: Texto)
  • Pon allí: 20200101

  • En el WHERE de tu SQL ya nos mostraste que tienes:
AND FECONTABILIZADA > '20200101'
¿Verdad?...
  • Pues entonces cámbialo a:
AND FECONTABILIZADA > ?

Cuando intentes confirmar ese cambio te solicitará que le brindes el valor del Parámetro1: allí es donde le indicarás la celda antes elegida.

Cuando confirmo me da este error:

1583933097582.png

1583933130719.png
 

Cacho R

Well-known member
Intenta variantes hasta que encuentres la adecuada:

20200101
01012020
01-01-2020
2020-01-01

Por ejemplo para una fecha en Access funcionan: 01-01-2020 o 01-Ene-2020, etc
 
Intenta variantes hasta que encuentres la adecuada:

20200101
01012020
01-01-2020
2020-01-01

Por ejemplo para una fecha en Access funcionan: 01-01-2020 o 01-Ene-2020, etc
El error me da con el ? cuando le doy a guardar no llego ni a decirle la celda donde esta el dato, no se si me explico, no me llega a solicitar el parametro
 
Entonces haz click en Editar Consulta:



siendo el objetivo que llegues a algo como:

Ver el archivo adjunto 55342
A ver, esto ultimo que indicas no lo entiendo. Esto es lo que hago para modificar el parámetro. En en el código y modifico el valor de fechacontabilizada y le pongo ? pero cuando doy aceptar me da los errores que he puesto antes. Disculpa si no me entero lo que me quieres decir pero esto es lo que he hecho.

Saludos
 

eavjperu

Member
Yo cada vez sospecho más que el código generado en la consola de SQL Server, pues lo copias y pegas tal cual, lo que no necesariamente dará un buen resultado y/o será necesariamente "entendido" por el "Texto del comando" de Excel. ¿Haces eso? Si mal no entendí, desde ahí ya te daba error ¿cierto? Sugiero, de ser así, solucionar dicho dilema antes de intentar lo del parámetro. Si me equivoco y te funciona todo bien, quizá para agregar el parámetro haya que tener acceso a tu servidor y poder realizar las pruebas nosotros mismos.

Abraham Valencia
https://abrahamexcel.blogspot.com/
Lima, Perú
 

Cacho R

Well-known member
... quizá para agregar el parámetro haya que tener acceso a tu servidor y poder realizar las pruebas nosotros mismos.
Coincido... Aunque quizás sea ésta la solución "extrema".

Uno de los pasos previos sería hacer lo que enseña el video de @ServandoV : https://bit.ly/339qghu

Y ya para "romper" este círculo vicioso (el de un consultante muy poco conocedor y el de colaboradores que estamos "intentando adivinar" todo el mundo de preguntas sin respuesta), quizás haya que saltar a: https://bit.ly/2veNM0d, ¿No te parece Abraham?
 
Última edición:

Héctor Miguel

Well-known member
... no he conseguido todavia nada...
no te has dejado "ver" después del miércoles a las 9:00 pm (7 días después de tu registro), pareciera que huiste espantado del foro (?), por si te animas y regresas a revisar propuestas...

según se aprecia de la imagen del mensaje #43 (tuyo), ya estás en el diálogo de excel:ms-query pero no hay ningún "campo fecha" al que puedas cambiar el valor asignado por una variable de parámetro => ? o bien => [indicador]

en el mensaje #14 hay un enlace a un tema para ejecutar procedimientos almacenados en las bases (consultadas por Power Query), por si quisieras aprovechar lo que ya tienes armado desde tu consola de sql (lo que también puedes hacer desde excel "en directo", pero no de esa forma)

si prefieres seguir "desde excel", prueba (cuando te canses de andar en círculos y mirando lo que no...) a regresar a (y repasar) lo comentado en el mensaje #35 de este hilo, contiene todos los pasos necesarios para asignar celdas a parámetros de consultas (que sigue funcionando a más de 20 años -hablando de ms-query-)
es tan anciana que un nacido ayer (ofimáticamente hablando) no la conoce, pero en las páginas de sus desarrolladores la mantienen fresca (como si hubiera sido escrita hoy por la mañana) y puedes confirmar los mismos (viejos) pasos aquí:
- Customize a parameter query

en el mensaje #35 pon especial atención al punto 4:
4) según la parte de la sentencia sql que hayas parametrizado... deberá haber una celda con la sintaxis EXACTA del parámetro
con énfasis en: "... sintaxis EXACTA ...", lo que significa que "la celda" deberá contener EXACTAMENTE lo que espera el campo consultado en la base de datos, o sea, si realmente van a ser filtros de fecha...

1) el tema de las fechas tiene tratamiento especial y diferente en todas las aplicaciones (excel, bases de datos, etc.)
{+} las bases de datos suelen ser estrictas y exigentes, tanto en la estructura como en el formato de sus registros
{+} pueden ser sensibles al orden de fecha (y hora ?) "esperado" (formato en la base) y el "pasado" (la celda con el parámetro)
{+} otro posible imponderable será el idioma y "tipo" para el mes (ene/enero <-> jan/january, etc.)

2) probablemente debas aplicar conversiones (quizá en ambos lados de la consulta), analiza el segundo mensaje de esta conversación:
- Conversion failed when converting date and/or time from character string in SQL SERVER 2008

3) otra alternativa es que "en la celda" (a utilizar como parámetro) apliques "transformaciones" (por funciones integradas de excel)
- Date as a Parameter in MSQuery (SOLVED)

4) una alternativa más es que regreses (y lo repases también) al mensaje #10
por si te decides por incursionar en las nuevas tecnologías (Power ...) de la llamada "Inteligencia de Negocios"

5) otra (como ya te fue comentado por EAVJ) es que abras el acceso a tu servidor y/o base de datos y permitas las pruebas necesarias para recomendar lo que proceda (?)
 
Arriba