Error al actualizar usando ADODB.recordset

GBO
05 de Agosto del 2005
Hola amigos, tengo un problema cuando quiero realizar una actualizacion a una tabla en una base de datos en access me sale el siguiente error:


error \'-2147217900 (80040e14)\' en tiempo de ejecución : Error de sintaxis en la clausula UPDATE

el codigo que estoy utilizando es el siguiente:

Function (Var1 as String, Var2 as String) as Boolean
Dim con as ADODB.Connection
Dim rs as ADODB.Recordset
\' crear los objetos
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset

\'abrir la base de datos Microsoft Access
con.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=" & App.Path & "\base.mdb;"

rs.Open "update tabla set campo1=\'" +Var1+ "\' where campo2 = \'" + Var2 + "\'", con, adOpenDynamic, adLockOptimistic"

End Function


Alguien me podria decir que es lo que estoy haciendo mal??.

Muchas gracias de antemano

Saludos

kinoscar
05 de Agosto del 2005
me llama la atencion que utilices el caracter "" en la consulta, hasta donde se estan de mas.

fmastra
05 de Agosto del 2005
me parece que las barra las genera automaticamente el editor de esta pagina

GBO
05 de Agosto del 2005
Muchas gracias por responder. He intentado hacer lo que me recomiendas sin embargo en el recordset no existe el metodo execute, estoy utilizando la referencia Microsoft Activex Data 2.5 Objects Library

Muchas gracias


fmastra
05 de Agosto del 2005
Perdon el Execute se hace sobre la conexion. Yo hice esto y funciono
Dim conexion As New ADODB.Connection

Dim sqlstring As String
Dim dom, nom As String
dom = "Zeballos 1251 5to"
nom = "Ramiro"

sqlstring = "UPDATE Clientes SET domicilio='" & dom & "' WHERE nombre='" & nom & "'"
With conexion
.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:transporte.mdb;"
.Execute sqlstring
End With

fmastra
05 de Agosto del 2005
el problema es que abris el recordset con .OPEN
cuando en realidad tenes que ejecutar la sentencia en el recordset con .Execute
sqlString = "UPDATE tabla SET campo=var WHERE..."
rs.execute (sqlstring)