Visual Basic para Aplicaciones - De Excel a SQL

Life is soft - evento anual de software empresarial
 
Vista:

De Excel a SQL

Publicado por Fran (2 intervenciones) el 13/09/2005 12:54:58
Alguien conoce como puedo hacer una consulta a una tabla SQL desde excel, de modo que yo le pase unos ciertos parámetros a una función y esta haga la consulta al SQL y me devuelva el valor correspondiente.
Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:De Excel a SQL

Publicado por Federico (91 intervenciones) el 13/09/2005 13:48:58
A que tipo de base de datos querés conectarte : Access, a una planilla de excel....

Si es por ejemplo Access podés hacer lo siguiente
Primero generate un dsn con el contralador ODBC de la base de datos que vayas a uitilizar

with Activeworksheet.QueryTables.Add(Connection:="ODBC";DSN:=[nombre];[PWD:= si tiene]", Destination:=[generalmente Range("celda_destino"],sql:=[Aquí la consulta sql que desees Select, Insert, Update,etc..)
.refresh BackgroundQuery:=False
end with

Para que funcione bien sin que el programa continúe antes de recibir los datos cuando hagas el refresh el modificador de este que BackgruondQuery ponelo en falso. El refresh es verdaderamente cuando se produce la consulta sql.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:De Excel a SQL

Publicado por Fran (2 intervenciones) el 13/09/2005 18:35:31
Me explico con más detalle:
Se trata de conectar una hoja de Calculo Excel con una Base de Datos en SQL Server Enterprise instalada en el servidor.
Por tanto la programación del visual basic se hace desde una modulo incorporado en el propio excel. Abrir la base de datos (aquí es donde realmente tengo creado el problema) ya que puedo verla atraves de la creación del vinculo .dsn pero no tengo la opción de cargarla ni de referenciarla dentro del código.
La idea sería tener algo parecido a lo que se puede hacer con access:
Set base = opendatebase("dirección") o
Crear una conexión a la que se le puede enviar ordenes del estilo "select * from ..."
Gracias por las respuestas.
Fran
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:De Excel a SQL

Publicado por Federico (91 intervenciones) el 13/09/2005 21:58:33
Como te dije conecto una base de datos en Access desde un módulo hecho en VBA en Excel.

Lo que necesitarías para eso es el controlador de SQL. Instalarlo en la computadora donde se encuentra el módulo de Excel y luego ese controlador apuntarlo a la base de datos que se encuentra en el servidor o sólo al servidor y darle el nombre de la base de datos, usuario, password en la misma conección que te pasé.

Sino tendrías que usar objetos Recorset, Database.

Fijate si en la configuración del SQL Server tiene algo que impida la modificación remota o la consulta remota. A mi me pasó algo parecido en Postgres y modicando la configuración recién me permitió la conexión. Quizá sea algo descabellado pero te paso el dato para que lo tengas en cuenta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar