Problemas con el RecordSet.Open
Publicado por Juan J. (2 intervenciones) el 21/03/2019 12:52:14
Hola a todos, recurro a vosotros porque no se qué hacer. Quiero acceder desde Excel a una base de datos que está en un servidor MSSQL.
He creado al conexión y se conecta sin problemas, todos los problemas vienen cuando quiero activar el RecordSet desde Excel, al intentarlo me salta un error que podéis ver en la imagen que también adjunto.
He probado varias opciones y en todas ellas me lanza un error similar. Tenéis idea de que estoy haciendo mal?.
Os añado el código que utilizo.
Gracias

He creado al conexión y se conecta sin problemas, todos los problemas vienen cuando quiero activar el RecordSet desde Excel, al intentarlo me salta un error que podéis ver en la imagen que también adjunto.
He probado varias opciones y en todas ellas me lanza un error similar. Tenéis idea de que estoy haciendo mal?.
Os añado el código que utilizo.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Private Sub conectar_Click()
' Declaración de variables
Dim Servidor, Usuario, Contrasena, BaseDatos, AccessConnect, consultaSQL As String
Dim Conn1 As New ADODB.Connection
Dim Cmd1 As New ADODB.Command
Dim Rs1 As New ADODB.RecordSet
'Asignaciones
Set Conn1 = New ADODB.Connection
Set Rs1 = New ADODB.RecordSet
Servidor = Worksheets("DATOS GENERALES").Range("C3").Value
Usuario = Worksheets("DATOS GENERALES").Range("C6").Value
Contrasena = Worksheets("DATOS GENERALES").Range("C7").Value
BaseDatos = Worksheets("DATOS GENERALES").Range("C4").Value
AccessConnect = "Provider=SQLOLEDB.1;" & _
"Password=" & Contrasena & ";" & _
"Persist Security Info=True;" & _
"User ID=" & Usuario & ";" & _
"Initial Catalog=" & BaseDatos & ";" & _
"Data Source=" & Servidor
Conn1.ConnectionString = AccessConnect
Conn1.Open
' Verifico que la conexión se establece
If Conn1.State = 1 Then
Worksheets("DATOS GENERALES").Range("C13").Value = "Conectado"
consultaSQL = "SELECT * FROM Objectes" & _
"WHERE idCentre = 3"
Rs1.ActiveConnection = Conn1
' Aquí salta el error
Rs1.Open consultaSQL
Rs1.MoveFirst
Worksheets("DATOS").Range("A2").CopyFromRecordset Rs1
Rs1.Close
Conn1.Close
Else
Worksheets("DATOS GENERALES").Range("C13").Value = "Sin conexión"
Worksheets("DATOS GENERALES").Range("C14").Value = conexion.State
End If
End Sub
Gracias

Valora esta pregunta


0