Ayuda con rutina de conexion BD de SQL Server...

13/05/2004 - 16:02 por Gerardo Mejicano | Informe spam
Buenos días grupo:

He estado probando con rutinas de conexión con Base de Datos SQL Server,
pero no he logrado conectarme. Quiero ver si me puede dar una guía para
poderlo hacer. El problema es que me da un error # 424 en la instrucción
SQL.Request, pero si esto lo ejecuto directamente sobre una celda funciona
bien.

**** Range("E1").Value = "driver=SQL
Server;SERVER=XXX;UID=sa;PWD=;APP=Sistema de XXX;WSID=XXX;DATABASE=XXX"
**** Range("E2").Value = "Select * from tbl_Inventarios"

Function Datos()

nSQLConect = Range("E1").Value
nSqlString = Range("E2").Value

Set Datos = Sql.REQUEST(nSQLConect, , , nSqlString)

End Function

Gracias de Antemano,


Gerardo Mejicano

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
14/05/2004 - 05:17 | Informe spam
hola, Gerardo !

... probando con rutinas de conexion con Base de Datos SQL Server, pero no he logrado conectarme...
... me da un error # 424 en la instruccion SQL.Request, pero ... directamente sobre una celda funciona bien [...]



[hasta donde se] las 'rutinas de conexion' a bases de datos =>por codigo<=...
'requieren' [bastantes] mas lineas de codigo que las que expones en tu mensaje :((
buscando en el google, encontre la siguiente conversacion: http://tinyurl.com/2yewc
[en 'pocas palabras'] la recomendacion en el segundo mensaje es:
- usa la grabadora de macros y haz la consulta manual
[para ver 'como debe verse' el codigo para 'tus' codiciones]
=> el 'postor original' reporta que... funciono a la perfeccion <= ;)

¿comentas datos adicionales?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Gerardo Mejicano
14/05/2004 - 16:11 | Informe spam
Hola Héctor:

Nuevamente agradezco tu ayuda, tienes razón al hacerlo por medio de macros,
ya lo tengo programado de esa manera. Lo que pasa es que desde mi aplicación
de escritorio realizo unos cálculos y los guardo dentro de la Base de datos,
luego los llamo con una macro desde Excel y el Usuario realiza otros
cálculos, los cuales debe guardar nuevamente dentro de la Base de Datos. Mi
intención es la de automatizar esto, de tal manera, que sea transparente la
manipulación de la información al usuario, siguiendo el principio de tener
sólo un ingreso y así evitar errores. Por allí encontré unas rutinas que
mandan Updates a la base de datos, pero no he logrado que me funcione, si
logro algo te lo comento.

Mil gracias por tu información,

Saludos,

Gerardo Mejicano

"Héctor Miguel" escribió en el mensaje
news:
hola, Gerardo !

> ... probando con rutinas de conexion con Base de Datos SQL Server, pero


no he logrado conectarme...
> ... me da un error # 424 en la instruccion SQL.Request, pero ...


directamente sobre una celda funciona bien [...]

[hasta donde se] las 'rutinas de conexion' a bases de datos =>por


codigo<=...
'requieren' [bastantes] mas lineas de codigo que las que expones en tu


mensaje :((
buscando en el google, encontre la siguiente conversacion:


http://tinyurl.com/2yewc
[en 'pocas palabras'] la recomendacion en el segundo mensaje es:
- usa la grabadora de macros y haz la consulta manual
[para ver 'como debe verse' el codigo para 'tus' codiciones]
=> el 'postor original' reporta que... funciono a la perfeccion <= ;)

¿comentas datos adicionales?
saludos,
hector.

Respuesta Responder a este mensaje
#3 Héctor Miguel
14/05/2004 - 17:46 | Informe spam
hola, Gerardo !

... encontre unas rutinas que mandan Updates a la base de datos
... no he logrado que me funcione, si logro algo te lo comento.



y... si no 'lo logras'... ¡ tambien !!!... ¿no?
mas de alguno habra en el foro que pueda 'apuntar' a la solucion ;)

saludos,
hector.
Respuesta Responder a este mensaje
#4 Gerardo Mejicano
14/05/2004 - 21:05 | Informe spam
Hola Héctor:

Te vuelvo a agradecer, ya que la rutina que tu me indicaste me funciona muy
bien, lo que me hacia falta o por lo menos me funciono luego de hacer lo
siguiente:

Estando en el Editor de Visual Basic, fui a Herramientas, Referencias y
estando en este cuadro seleccione XLODBC.XLA y luego de esto, me funciono la
sintaxis de SQLRequest, la rutina quedo asi:

****************************************************************************
***************************************
Private querystring As Variant
Private returnArray As Variant
Function Datos()
Range("a16:f21").Select
Selection.ClearContents &&& Limpio el área donde se coloca la
información
&&& Hace la Conexión y ejecuta el Select, para luego Colocar la información
&&&
&&& Consulta a realizar, celda E2 ** ="Select * from
tbl_SETA_Formulas_Productos_Med as a where Producto = "&E3&""
querystring = Range("E2") &&& Celda donde se almacena la
returnArray = SqlRequest("DSN=Nombre_del_DSN_o_String_de_Conexion",
querystring, , 2, False)
For I = LBound(returnArray, 1) To UBound(returnArray, 1)
For j = LBound(returnArray, 2) To UBound(returnArray, 2)
Worksheets("Hoja1").Cells(15 + I, j).Formula = returnArray(I, j)
Next j
Next I
&&& Hace la Conexión y ejecuta el Update, para luego Colocar la información
&&&
&&& Actualización a realizar, celda E4 ** ="Update
tbl_SETA_Formulas_Terminadas Set Fomula = &K25& where Producto = "&E3&""
querystring = Range("E4")
returnArray = SqlRequest("DSN=db_SETA_Nomina", querystring, , 2, False)
End Function
****************************************************************************
***************************************

Siempre mil gracias por tu valiosa colaboración,

Saludos,

Gerardo Mejicano


"Héctor Miguel" escribió en el mensaje
news:%
hola, Gerardo !

> ... encontre unas rutinas que mandan Updates a la base de datos
> ... no he logrado que me funcione, si logro algo te lo comento.

y... si no 'lo logras'... ¡ tambien !!!... ¿no?
mas de alguno habra en el foro que pueda 'apuntar' a la solucion ;)

saludos,
hector.

Respuesta Responder a este mensaje
#5 Héctor Miguel
14/05/2004 - 22:08 | Informe spam
hola, Gerardo !

... me funciono luego de hacer lo siguiente:
... Herramientas, Referencias ... XLODBC.XLA y ... funciono la sintaxis de SQLRequest, la rutina quedo asi [...]



gracias a ti [por el 'feed-back' y] por compartir las adaptaciones ;)
aunque [como ves] la rutina quedo [ligeramente] mas 'larga' :((

saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida