Para KL

03/06/2005 - 10:06 por rafa | Informe spam
Pareces el Master de Excel que todos quisieramos ser y tengo una pregunta un
poco rara, a ver si podemos sacar algo en claro.

Yo ejecuto consultas ODBC mediante un ODBC que hace query de SQL y la
pregunta es la siguiente:

Seria posible poder ejecutar dentro de un query de Excel SQL el Select:
insert into temp nombre_tabla_temporal select * from nombre_tabla


cuando lo ejecuto me sale :

Imposible presentar graficamente una consulta SQL, y cuando le aceptas el
error te aparece otro message Box con Syntax Error.

Cualquier ayuda seria fantastica.

Un saludo

Preguntas similare

Leer las respuestas

#1 KL
03/06/2005 - 12:13 | Informe spam
Hola Rafa,

"rafa" wrote in message
Pareces el Master de Excel que todos quisieramos ser...



Gracias por el complemento, pero... Pues nada mas lejos de la realidad, me
temo. Soy otro aprendiz y en este [y algun que otro mas] foro aprendo
constantemente de varios participantes, especialmente de Hector Miguel [a
pesar de que nos piquemos de vez en cuando :-)]. De todas maneras creo que
el mismisimo HM te dira que el esta en poceso de aprendizaje continuo.

...ejecuto consultas ODBC mediante un ODBC que hace query de SQL...
...Seria posible poder ejecutar dentro de un query de Excel SQL el Select:
insert into temp nombre_tabla_temporal select * from nombre_tabla



si te he entendido bien, las siguientes paginas te podria ser de utilidad:

http://www.bygsoftware.com/Excel/SQL/UsingSql.html
http://erlandsendata.no/english/ind...t=envbadac

Saludos,
KL
Respuesta Responder a este mensaje
#2 rafa
03/06/2005 - 15:44 | Informe spam
KL wrote:


http://www.bygsoftware.com/Excel/SQL/UsingSql.html
http://erlandsendata.no/english/ind...t=envbadac



Quizas no me explique bien, es muy posible, el lenguaje de SQL es del
tipo query no programacion VBA y necesitaria descargar unos datos de la
consulta en una tabla temporal para despues poder leerla y colocarla en
otro sitio pero todo eso sin crearla fisicamente.

La instruccion en el query seria: create temp table t1 select * from
tabla origen

Aqui mismo es cuando me da el Syntax Error y de ahi no salgo, creo que
es complicado pero no se si lo estoy haciendo bien.

A ver si algun alma caritativa que se haya encontrado con este problema
nos puede ayudar.

Muchisimas gracias MAESTROS
Respuesta Responder a este mensaje
#3 Manuel Romero
03/06/2005 - 16:28 | Informe spam
Sin haberlo intentado te puedo decir que desde excel no tiene sentido enviar
consultas de accion a una base de datos, cuando lo que se desea hacer el
99.9999999999999% de los casos es traer registros para procesarlos en el
(consultas de seleccion)

"rafa" escribió en el mensaje
news:
KL wrote:


http://www.bygsoftware.com/Excel/SQL/UsingSql.html
http://erlandsendata.no/english/ind...t=envbadac



Quizas no me explique bien, es muy posible, el lenguaje de SQL es del
tipo query no programacion VBA y necesitaria descargar unos datos de la
consulta en una tabla temporal para despues poder leerla y colocarla en
otro sitio pero todo eso sin crearla fisicamente.

La instruccion en el query seria: create temp table t1 select * from
tabla origen

Aqui mismo es cuando me da el Syntax Error y de ahi no salgo, creo que
es complicado pero no se si lo estoy haciendo bien.

A ver si algun alma caritativa que se haya encontrado con este problema
nos puede ayudar.

Muchisimas gracias MAESTROS
Respuesta Responder a este mensaje
#4 KL
03/06/2005 - 16:36 | Informe spam
Hola Rafa,

Prueba esto (son dos statements separados):

CREATE TABLE nombre_tabla_temporal(aqui tendras que definir los campos);
INSERT INTO nombre_tabla_temporal SELECT * FROM nombre_tabla

Saludos,
KL

"rafa" wrote in message
news:
KL wrote:


http://www.bygsoftware.com/Excel/SQL/UsingSql.html
http://erlandsendata.no/english/ind...t=envbadac



Quizas no me explique bien, es muy posible, el lenguaje de SQL es del
tipo query no programacion VBA y necesitaria descargar unos datos de la
consulta en una tabla temporal para despues poder leerla y colocarla en
otro sitio pero todo eso sin crearla fisicamente.

La instruccion en el query seria: create temp table t1 select * from
tabla origen

Aqui mismo es cuando me da el Syntax Error y de ahi no salgo, creo que
es complicado pero no se si lo estoy haciendo bien.

A ver si algun alma caritativa que se haya encontrado con este problema
nos puede ayudar.

Muchisimas gracias MAESTROS
Respuesta Responder a este mensaje
#5 AnGeLo
03/06/2005 - 19:02 | Informe spam
Hola rafa esta es una consulta echa para una base de datos de sql y la cual
no necsita crear la tabla de consulta localmente, espero te sirva

Sub SaldosContables()
On Error GoTo RutError


Dim fec1 As Date
Dim fec2 As Date

fec1 = ActiveSheet.Range("B2").Value
fec2 = ActiveSheet.Range("B3").Value
ofic = ActiveSheet.Range("B4").Value

ActiveSheet.Range("D2", "J1002").Clear


cadSQL = "exec mgeneral..pa_buscar_saldo 'avernaza',1,null," & ofic &
",0,'" & Format(fec1, "yyyy-mm-dd") & "','" & Format(fec2, "yyyy-mm-dd") &
"','0',0"


With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DRIVER=SQL
Server;SERVER=amadeus-01;UID=avernaza;PWD=;APP=Microsoft®
Query;WSID=RODOLFO;DATABASE=mgeneral" _
, Destination:=Range("D2"))
.Sql = cadSQL
.FieldNames = True
.RefreshStyle = xlInsertDeleteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
End With

Exit Sub

RutError:
MsgBox Err.Description, , "Error"


End Sub

Saludos,

Angelo Vernaza
"La única vez que me eh equivocado, fue cuando pensé que me habia
equivocado"

"rafa" escribió en el mensaje
news:
KL wrote:

>
> http://www.bygsoftware.com/Excel/SQL/UsingSql.html
> http://erlandsendata.no/english/ind...t=envbadac

Quizas no me explique bien, es muy posible, el lenguaje de SQL es del
tipo query no programacion VBA y necesitaria descargar unos datos de la
consulta en una tabla temporal para despues poder leerla y colocarla en
otro sitio pero todo eso sin crearla fisicamente.

La instruccion en el query seria: create temp table t1 select * from
tabla origen

Aqui mismo es cuando me da el Syntax Error y de ahi no salgo, creo que
es complicado pero no se si lo estoy haciendo bien.

A ver si algun alma caritativa que se haya encontrado con este problema
nos puede ayudar.

Muchisimas gracias MAESTROS
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida