Insertar datos en SQL desde Excel utilizando VBA ADO

Espero que me puedan ayudar con esta consulta.

Hace tiempo que estoy tratando de crear un código en Visual Basic que inserte valores en una SQL local.

-Mi versión de SQL es 2014
-Tengo una base SQL local y ocupo la autenticación de Windows.
-Mi versión de Excel y VB es 2010
- Las variables en el código están igualadas a 1 para probar, después yo las asigno al valor de una celda en excel.
Tengo el siguiente código, lo he rescatado de varias partes, me da el siguiente error y no sé como solucionarlo.
"Error en la conexión: No se puede utilizar la conexión para realizar esta operación. Está cerrada o no es válida en este contexto"
Espero que me puedan ayudar, no he podido solucionar esto.

Public Sub run2()

Dim cn As ADODB.Connection

On Error GoTo etiqueta

Set cn = New ADODB.Connection

cn.Open "Driver={SQL Server};" & _
"Server=180.180.180;" & _
"Database=reportecadadoshoras;" & _
"Uid=;" & _
"Pwd="

MsgBox "Conectado"

Call Query

Exit Sub

etiqueta:

MsgBox "Error en la conexión: " & Err.Description

End Sub

Function Query()

Dim SQL As String
Dim RS As ADODB.Recordset
Dim Field As ADODB.Field
Set RS = New ADODB.Recordset

Fecha = 1
Inicio = 1
Skill = 1
SQL = "Insert Into CMS (Fecha, Inicio, Skill) Values ('" & Fecha & "','" & Inicio & "','" & Skill & "')"
RS.Open SQL, cn
End Function

1 respuesta

Respuesta
1

Yo utilizo este código para usar el recordset:

Importante ! Checa si ya tienes agregada la referencia de microsoft ADO ext 2.8 agregada

Set cn = CreateObject("ADODB.Connection")
conexion = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"data source=c:\proyecto\tu_base_de_datos.Extension"
consultaSQL = "insert into tu_tabla (sus campor) values (sus valores)"

Set RS = New ADODB.Recordset
RS.CursorType = adOpenKeyset
RS. Open consultaSQL, cn

Espero te oriente o te de una idea más clara de lo quieres hacer.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas