problema con un UPDATE

pco_barny
28 de Enero del 2004
buenas, mi problema es el siguiente. Yo tengo un programa en el cliente/servidor. En él el servidor ataca a una base de datos SQL Server. Una de las partes es que cuando yo pulso un botón abro una conexión que ejecuta dicha sentencia SQL. Atacando la base de datos SQL Server me funcionaba a la perfección, el problema viene cuando he decidido exportar mediante el SQL server las tablas a Acces y ahora ataco a una base de datos de access (que supuestamente deberia ser igual no???) ahora esa sentencia no me funciona y me dice que no coinciden los tipos de datos en la expresión de criterios. No entiendo porque antes funcionaba y ahora no. Si alguien me lo puede explicar se lo agradecería. Pongo aquí el código:

Private Sub cmdAceptar_Click()
Dim conAbrir As ADODB.Connection
Set conAbrir = New ADODB.Connection

If frmPrincipal.id <> "" And frmPrincipal.id <> 0 Then
frmPrincipal.Winsock1(frmPrincipal.id).SendData frmPrincipal.identificador
conAbrir.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Mis documentosPrácticas Visual BasicGestionLocutoriobdCYBER.mdb;Persist Security Info=False"
conAbrir.Open
conAbrir.Execute "UPDATE EstadoPuestos SET Estado = 1 WHERE IdCon = '" & frmprincipal.id & "'"
conAbrir.Close
Set conAbrir = Nothing
Else
MsgBox "Debe seleccionar un puesto"
End If

frmPrincipal.AdoPuestos.Refresh
frmPrincipal.AdoPrincipal.Refresh
AjustarGridPrincipal
BloquearColumnasPrincipal

Un saludo y gracias.

Jorge
28 de Enero del 2004
Dos posibles problemas: o Estado es un valor de cadena con lo que necesitas entrecomillarlo entre comillas simples, o, lo más seguro, IdCon es un valor númerico con lo que deberias quitarle las comillas simples que lo rodean. Asegurate de los tipos de los campos en la base de datos access