Saludos al grupo.
Estoy conectandome a un servidor Sql de donde se extraen datos que generan
unos reportes (estos ya estan funcionando) y cualquier usuario puede
ejecutar los reportes, sin embargo ahora al iniciarse el reporte pido un
nombre de usuario y un password para validarlo vs el servidor Sql, el
problema es que cuando el nombre de usuario o el password no coincide no se
como enviar un mensaje de aviso, ya que simplemente el codigo despues de
ejecutar la linea para conectarse al servidor que seria algo asi como:
Public cn As New ADODB.Connection
Public Scn As String
Public pUsuario As String
Public pPasswo As String
Public pSrv As String
... se pide el nombre de usuario y el password
Scn = "Provider=SQLOLEDB;Persist Security Info=True;Data Source=" &
pSrv & ";Initial Catalog=NombreDB;User ID=" & pUsuari & ";Password=" &
pPasswo
cn.Open Scn
se salta hasta el final del procedimiento (o Sub()), sin embargo la variable
"cn" si se llena con informacion aunque en la propiedad de error el valor
Count marca 0, de forma que no puedo hacer esto con el atrapador de errores
(con el -> On ERROR goto ERRORX). La propiedad State tiene el valor 0 cuando
no logro conectarse al la Db por cuestion del nombre de usuario o password
incorrectos, pero cuando si logra conectarse cambia a 1, no se que significa
la propiedad State, me podria ir por este valor para determinar si la
coneccion se logro o no?
Tambien quiero saber si puedo obtener una lista de los servidores Sql a los
que la maquina tiene acceso, ya que el nombre del servidor a donde me
conecto lo tengo guardado en una celda. Esto no es necesario, ya que
solamente hay un servidor Sql, mas el de mi pc, es solo que me gustaria
saber como hacerlo mediante Vba. Me imagino algo asi como cuando se crea una
nueva fuente de datos con ODBC, que si selecciono Sql Server me muestra una
lista de los servidores a los que tengo acceso.
Gracias de antemano.
Leer las respuestas