Error "La expresión 'Al hacer clic' que ha especificado como valor de la propiedad... VBA y Access

Hola buenas tarde

estoy realizando un pequeño formulario en access y VBA, el cual se que es muy sencillo pero la verdad es que primera vez que utilizo estas dos herramientas,

Les cuento realizaba el formulario y desde que intente conectar ambas herramientas me apareció un erro el cual dice lo siguiente

"La expresion 'Al hacer clic' que ha especificado como valor de la propiedad de evento produjo el error. El procedimiento externo no es valido"

He buscado en google alguna solucion y nada ya la verdad no se que hacer para solucionar este problema. Les copio el codigo de mi formulario.

Option Compare Database
Public cnn As ADODB.Connection

Sub abrir_conexion()
Set cnn = Nothing
Set cnn = New ADODB.Connection
'cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Formulario\Form1.accdb;User Id=admin;Password=;"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & App.Path & "\form1.mdb; persist security info=False"
End Sub

Sub IngresoDatos()
Call abrir_conexion
Dim consulta1 As ADODB.Recordset
Set consulta1 = Consulta_SQL("Insert into form_principal values(' " & txt_codigo & " ' , ' " & txt_rut & " ' , ' " & txt_grupo & " ' , ' " & txt_nombre & " ' , ' " & txt_busqueda & " ' , ' " & txt_direccion & " ' , " & txt_fono_fijo & " , " & txt_fono_movil & " , ' " & selpais & " ' , ' " & selregion & " ', ' " & selciudad & " ' , ' " & selcomuna & " ' , " & txt_cuenta_asociada & " , ' " & txt_tesoreria & " ' , ' " & txt_local & " ' , ' " & txt_venta & " ' , ' " & txt_distribucion & " ' , ' " & txt_sector & " ' , ' " & txt_grupo_cliente & " ' , ' " & txt_moneda & " ' , ' " & txt_precio & " ' , ' " & txt_esquema & " ' , ' " & txt_clasificacion & " ' , ' " & txt_estadistica & " ' , ' " & txt_expedicion & " ' , ' " & txt_suministrador & " ' ,' " & txt_fiscal & " ' , ' " & txt_pago & " ' , ' " & txt_imputacion & " ' , ' " & txt_giro & " ' , ' " & txt_responsable_pago & " ') ")
If consulta1 = True Then
MsgBox "ingreso exitoso"
Else
MsgBox "NO"
End If
End Sub

Function Consulta_SQL(Texto_SQL As String) As ADODB.Recordset 'ADODB.Recordset
Call abrir_conexion ' no va en la funcion porque al cerrar la conexion se pierde la infor del recordset, esto ocurre porque
'funcion devuelve un recordset
Dim rst As ADODB.Recordset
' Por si ya estaba abierta...
Set rst = Nothing
Crear Recordset
Set rst = New ADODB.Recordset
rst.Open Texto_SQL, cnn, adOpenStatic, adLockReadOnly 'solo lectura
Set Consulta_SQL = rst
Exit Function
ErrorHandler: 'hacer nada, es sólo para evitar que el programa se caiga
Set Consulta_SQL = Nothing
Exit Function
End Function

Sub Consulta_SQL_accion(Texto_SQL As String)
cnn.Execute (Texto_SQL)
End Sub

Private Sub Comando65_Click()
Call abrir_conexion
Call IngresoDatos
End Sub

Agradeceria mucho si me pudieran ayudar de antemano gracias

Añade tu respuesta

Haz clic para o