Problema con eliminar registro VBA

Tengo un problema para eliminar registros en un formulario desde un código vba

El tema es así:

Tengo dos tablas (Altas) y (Bajas) vinculadas por el campo Id A con relación 1 a varios.

Tengo un formulario principal basado en la tabla altas con un subformulario basado en la tabla bajas. El formulario principal tiene un botón (cmbborrar) que lo que tendría que hacer es eliminar el registro activo tanto de la tabla altas como de la tabla bajas, siempre y cuando cumpla con ciertos criterios, cuando no se cumplen los criterios todo va bien, pero cuando si se cumplen, me da la opción de eliminar pero cuando apretó en "si" me dice: no coinciden los tipos de datos en la expresión de criterios.

Lo que hice es esto:

Private Sub Cmbborrar_Click()
If IsNull([Restante].Value) = True Or [Restante] = "0" Then
On Error GoTo Err_cmbBorrar_Click
Dim sMSG As String
sMSG = "ÏEstá seguro de querer borrar éste registro (es/n)?" & vbCrLf & "¡El proceso será irreversible!"
If MsgBox(sMSG, vbYesNo + vbInformation + vbDefaultButton2, "¡Atencion!") = vbYes Then
DoCmd.SetWarnings False
sSQL = "delete from bajas where [ID A]='" & Me.[Id A].Value & "';"
Application.CurrentDb.Execute sSQL
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
End If
Exit_cmbBorrar_Click:
Exit Sub
Err_cmbBorrar_Click:
MsgBox Err.Description
Resume Exit_cmbBorrar_Click
Else
MsgBox "No debe haber insumo en el Stock para eliminarlo"
Restante.BackColor = vbRed

end if

end sub

No se que puede ser

1 Respuesta

Respuesta
1

Si tu campo Id A es numérico o autonumérico, tienes mal construida la SQL de la consulta de eliminación, pues te sobrarían las comillas simples. Además, en cualquier caso, te sobraría el punto y coma que le añades al final.

Prueba a cambiarla por esta:

sSQL = "delete from bajas where [ID A]=" & Me.[Id A].Value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas