Combobox de excel en BD access

Nuevamente molestándolo con una pregunta, le detallo el problema :

Tengo una base de datos en access en una tabla llamada "Reg_Salidas" en la cual registro despachos a distintos locales, pero deseo modificar la información de la tabla desde excel para no abrir la base de datos.

Tengo el formulario en excel en la cual cargo en un combobox las facturas emitidas, este combobox se carga con información de access con el detalle de las facturas.

este es el codigo que utilizo para cargar el combobox

Private Sub UserForm_Activate()
cnnProducto.Open "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=D:\Base Datos Tienda (2).MDB" 'conexion con ubiacion archivo
'rstProducto.Open "SELECT IdProducto, NombreProducto, PrecioUnidad, UnidadesEnExistencia FROM Productos", cnnProducto, adOpenKeyset, adLockOptimistic, adCmdText
rstProducto.Open "SELECT factura,nombre FROM Reg_Salidas", cnnProducto, adOpenKeyset, adLockOptimistic ', adCmdText
Do Until rstProducto.EOF  '= False
ComboBox1.AddItem rstProducto.Fields(0).Value
rstProducto.MoveNext
Loop
cnnProducto.Close
ListBox1.ColumnCount = 3
    ListBox1.ColumnWidths = "40;130;50"
End Sub

Pero al seleccionar el numero de guia para que muestre su detalle me sale error 

Private Sub ComboBox1_Change()
TextBox1.Text = ComboBox1.Text
'ChDir Application.ThisWorkbook.Path
Dim Rst As New ADODB.Recordset
Dim Consulta As String
Dim i As Integer
Dim x As Integer
If cnnProducto.State = 0 Then
With cnnProducto
.Open "Provider=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=D:\Base Datos Tienda (2).MDB"
End With
End If
Consulta = "SELECT Id,codigo, nombre, cantsalida FROM Reg_Salidas Where factura =" & TextBox1.Text 'Campo nombre solamente"
'Consulta = "SELECT Folio, Remision, Lote, Cantidad, Fecha FROM Asignacion Where Remision = textbox1.text" 'Campo nombre solamente"
'rstProducto.Open "SELECT factura,nombre FROM Reg_Salidas", cnnProducto, adOpenKeyset, adLockOptimistic ', adCmdText
Rst.Open Consulta, cnnProducto, , , adCmdText
Rst.MoveFirst
Do While Not Rst.EOF '= False
Me.ListBox1.AddItem Rst.Fields(0).Value
Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Rst.Fields(1).Value
'Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Rst.Fields(8).Value
Rst.MoveNext
Loop
Rst.Close
Set Rst = Nothing
cnnProducto.Close
Set cnnProducto = Nothing

Me puede ayudar para al seleccionar la guía me salga el detalle de la factura y si modifico algún elemento de la factura al actualizar se modifique en la base de datos de access

Gracias por la atención prestada

Slds

Robert

Añade tu respuesta

Haz clic para o