Urgente!-¿Puedo coger texto de una vista sqlserver con ActiveSheet.QueryTables?

03/07/2008 - 16:09 por ArraY | Informe spam
De este código, que utilizo para conectarme a una base de datos de
sqlsever 2000 desde una hoja de excel, lanzo 2 preguntas haber si
tienen contestación:


With ActiveSheet.QueryTables.Add(Connection:=vConex, _
Destination:=Range(RTrim(vrefer)))
.Sql = Array(vConsulta)
.FieldNames = True
.RefreshStyle = xlOverwriteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
End With

1) ¿Es posible utilizar en la orden ActiveSheet.QueryTables.Sql poner
de alguna manera "algo" para que me ejecute la vista (consulta)que
está almacenada en el servidor de SQL server, en vez de poner el texto
de la consulta sql?

2) Si por ejemplo me devuelve la siguiente informacion la consulta:

tiempo precio
33,33 100


¿Como hago para que el valor 33,33 de la primera columna, me lo sitúe
en la celda A2 y el valor 100 de la segunda columna me lo sitúe en la
celda B2?

En su defecto, ¿existe otro código que me realize lo que quiero más
flexible que el expuesto con anterioridad?

Espero su comentarios, la verdad es que me urge

Saludos,
 

Leer las respuestas

#1 Héctor Miguel
04/07/2008 - 00:09 | Informe spam
hola, (...) ???

(segun parece) lo que necesitas es ejecutar consultas (stored procedures) almacenados en sqlserver
y lo que expones es la "creacion" de una tabla de consulta (.QueryTables.Add) -???-

-> 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.

__ OP __
De este codigo, que utilizo para conectarme a una base de datos de sqlsever 2000 desde una hoja de excel
lanzo 2 preguntas haber si tienen contestación:

With ActiveSheet.QueryTables.Add(Connection:=vConex, _
Destination:=Range(RTrim(vrefer)))
.Sql = Array(vConsulta)
.FieldNames = True
.RefreshStyle = xlOverwriteCells
.RowNumbers = False
.FillAdjacentFormulas = False
.RefreshOnFileOpen = False
.HasAutoFormat = True
.BackgroundQuery = True
.TablesOnlyFromHTML = True
.Refresh BackgroundQuery:=False
.SavePassword = True
.SaveData = True
End With

1) Es posible utilizar en la orden ActiveSheet.QueryTables.Sql poner de alguna manera "algo"
para que me ejecute la vista (consulta) que esta almacenada en el servidor de SQL server
en vez de poner el texto de la consulta sql?

2) Si por ejemplo me devuelve la siguiente informacion la consulta:

tiempo precio
33,33 100

Como hago para que el valor 33,33 de la primera columna, me lo situe en la celda A2
y el valor 100 de la segunda columna me lo sitúe en la celda B2?

En su defecto, existe otro codigo que me realize lo que quiero mas flexible que el expuesto con anterioridad?

Espero su comentarios, la verdad es que me urge...

Preguntas similares