Yo utilizo mucho la herramienta "Obtener datos externos - Nueva consulta de
base de datos", y me sirvió de mucho usar el Microsoft Query para modificar
las consultas
Así , armo las query con el Analizador de consultas del SQL y cuando la
tengo terminada, mediante el Microsoft Query la pongo en el Excel.
Tengo la siguiente inquietud:
Existe alguna manera de poner un parámetro en una celda para que lo tome le
query ?
Es decir que en el "where" de la query se capture un parámetro ingresado
mediante una celda
Si existe por favor me ayudarían, o bien con una explicación o diciéndome
donde la puedo encontrar.
Muchísimas gracias de antemano
Saludos
Pablo
> ... Existe alguna manera de poner un parámetro en una celda para que lo tome le query ?
> Es decir que en el "where" de la query se capture un parámetro ingresado mediante una celda...
puedes 'parametrizar' las consultas externas en excel a traves de ms-query, usando -nuevamente- el asistente si...
una vez que termines con el asistente para finalizar la consulta a la base de datos... si deseas agregar parametros variables...
1) puedes consultar/modificar/... la sentencia de la consulta [sql] desde el mismo menu de datos [o la BH de datos externos]
-> solicita modificar la consulta
-> avanza hasta el ultimo paso [finalizar]
-> en lugar de devolver los datos a excel... selecciona ->ver datos o modificar consulta en MS Query<-
-> elige: [menu] ver / sql... [o de la BH el icono de SQL]
2) una vez que decidas que partes de la consulta deseas convertir en parametros...
-> sustituye la/s fraccion/es apropiada/s de la sentencia por un signo ? [opcionalmente pudes darles un identificador CORTO]
[lo anterior ocasiona que ANTES de refrescar una consulta, MS-Query te pregunta por el -nuevo- valor del parametro]
-> termina la modificacion y devueve los datos a excel [tendras que responder una cuantas preguntas a los parametros] :))
3) posteriormente, puedes sustituir la/s pregunta/s de MS-Query por los valores que pueda tomar de celdas en tu hoja...
-> vuelve a ejecutar [menu] datos / obtener datos externos / parametros... [o desde la BH de datos externos]
-> selecciona [por cada parametro] la opcion de: tomar el valor de la siguiente celda:
-> y [obviamente] selecciona la celda apropiada para cada parametro
4) segun la parte de la sentencia sql que hayas parametrizado... debera haber una celda son la sintaxis EXACTA del parametro -?-
si deseas consultar sitios con informacion al respecto... visita:
-> Andy Wiggins: http://www.bygsoftware.com/Excel/sql.htm
-> Ole P. Erlandsen: http://www.erlandsendata.no/english/index.php?d=envbadacconnstring
-> Carl Prothman: http://www.carlprothman.net/Default.aspx?tabid=87#OLEDBProviderForSQLServer
-> Dick Kusleika: http://www.dicks-clicks.com/excel/ExternalData.htm#CreateUI
si cualquier duda... [o informacion adicional]... comentas?
saludos,
hector.
Te cuento también que lo que ponés en el paso 1) no lo puedo hacer
completamente así, porque cuando cliqueo en "modificar consulta" me va
directamente el MS-Query, y no tengo forma de modificarla si no es editando
la query en SQL
Te agradezco muchísimo tu ayuda.
Te mando un saludo
Pablo
PD: por si te sirve, la consulta es la siguiente:
SELECT
CJRMVH_FCHMOV,
CJRMVI_FCHAUX,
CJRMVI_CODFOR,
CJRMVI_NROFOR,
CJRMVI_CHEQUE,
(ISNULL(CJRMVH_NOMBPV,'') + ' - ' + ISNULL(cast(CJRMVH_TEXTOS as
varchar(50)),'')) as texto,
CASE CJRMVI_DEBHAB WHEN 'D' THEN CJRMVI_IMPORT ELSE 0 END,
CASE CJRMVI_DEBHAB WHEN 'D' THEN 0 ELSE CJRMVI_IMPORT END
FROM
CJRMVI
INNER JOIN CJRMVH ON
CJRMVI_MODFOR = CJRMVH_MODFOR AND
CJRMVI_CODFOR = CJRMVH_CODFOR AND
CJRMVH_NROFOR = CJRMVI_NROFOR
WHERE
CJRMVI_CODCPT = 'B02CCP' and
cjrmvi_codfor = ?
ORDER BY
CJRMVH_FCHMOV
"Héctor Miguel" <NOhemio...@PLShotmail.com> escribió en el mensaje
news:OkFv0rp...@TK2MSFTNGP06.phx.gbl...
> ... intentando hacer lo que me indicas, pero al querer modificar la consulta SQL desde el MS-Query
> ... me dice que "No se admiten parametros en las consultas que no se pueden presentar de forma grafica" [...]
si lo que necesitas es 'pasarle parametros' desde excel por MS-Query...
-> a procedimientos almacenados [stored procedures] en SQL-Server [o cosa parecida]...
-> ve si te sirve algo de lo comentado en los siguientes enlaces...
Ed Ferrero: Run SQL Server stored procedure in Excel macro -> http://tinyurl.com/pdmg2
Robin Hammond: Stored procedures -> http://tinyurl.com/lpak2
{+} Getting stored procedure result to excel -> http://tinyurl.com/epors
Sean Connolly: pass paramter to SQL server stored procedure -> http://tinyurl.com/rdavt
conversaciones varias -> http://tinyurl.com/op4k5
otra conversacion mas > http://tinyurl.com/3yyjtr
si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
muchísimas gracias por tu ayuda
saludos
Pablo
"Héctor Miguel" <NOhemio...@PLShotmail.com> escribió en el mensaje
news:OtUoFjqg...@TK2MSFTNGP06.phx.gbl...
Alex
"Mennegguzzi" escribió: