consulta SQL

26/01/2006 - 12:42 por yeryap | Informe spam
necesito importar unos datos a excel de un tabla SQL "tablaXXX". El problema
es que cada vez que hago una consulta me pide el usuario y la clave (la
tablaXXX está protegida"). Como puedo hacer para conectarme al SQL server y
luego poder hacer todas las consultas que quiera vamos que lo quiero es
que me la pregunte la primera vez y ya no mas; primero conectarme y liego
hacer todas las consultas y me las devuelva en distintas celdas
El codigo que uso es...

With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=SQL Server;UID=sa;;APP=Microsoft Office
2003;WSID=ES-9TLRT1J;DATABASE=tablaXXX" _
, Destination:=Range(Cells(fila, columna), Cells(fila, columna)))
.CommandText = Array(query) 'LA VARIABLE QUERY CONTIENE
LA
.Name = "Consulta desde SQL Server"'CONSULTA SQL
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells 'xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False

End With

muchas gracias...

yeraynb
 

Leer las respuestas

#1 Héctor Miguel
27/01/2006 - 06:03 | Informe spam
hola, 'anonimo/a' !

1) mientras continues creando consultas 'nuevas'... -> With ActiveSheet.QueryTables.Add(...
[supongo que]... no podras evitar que [cada vez que] '.Add(...' vuelva a preguntarte lo que quieres evitar -?-

2) [probablemente] si con la 'primera' vez le asignas un nombre -> .Name = "Consulta desde SQL Server"
podrias utilizar para las 'segundas llamadas' [o actualizaciones/refrescos/...] ese mismo nombre -?-
[p.e.] -> With ActiveSheet.QueryTables("Consulta desde SQL Server") -?-
-> y [solamente] manejar objetos/variables del tipo 'RecordSet'

3) tambien [es probable que] vas a necesitar modificar 'la variable' de la consulta -> el Array(query)
[al menos, por los datos que consideres que ya no serian 'necesarios'] -?-

a reserva de que comentes algun detalle adicional, espero que lo anterior te sea de utilidad ;)
si cuaquier duda... comentas ?
saludos,
hector.
=> necesito importar unos datos a excel de un tabla SQL "tablaXXX".
El problema es que cada vez que hago una consulta me pide el usuario y la clave (la tablaXXX esta protegida).
Como puedo hacer para conectarme al SQL server y luego poder hacer todas las consultas que quiera
... que me la pregunte la primera vez y ya no mas... conectarme... hacer todas las consultas y me las devuelva en distintas celdas
El codigo que uso es...
With ActiveSheet.QueryTables.Add(Connection:= _
"ODBC;DSN=SQL Server;UID=sa;;APP=Microsoft Office 2003;WSID=ES-9TLRT1J;DATABASE=tablaXXX" _
, Destination:=Range(Cells(fila, columna), Cells(fila, columna)))
.CommandText = Array(query) 'LA VARIABLE QUERY CONTIENE LA
.Name = "Consulta desde SQL Server"'CONSULTA SQL
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells 'xlInsertDeleteCells
.SavePassword = True
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
muchas gracias...

Preguntas similares