Antes de nada, gracias por contestar y ahora te expongo el problema y de sql no tengo ni pajolera idea.
Tengo una aplicacion (no es mia) con tablas de sql y las he vinculado a una bd de access 2003, las leo perfectamente de esta forma
Function CargarPedDia()
Dim MaxidAlbaran As Double ' Ultimo idAlbaran
Dim Max01 As Double ' Ultimo albaran de la serie 01
Dim Max02 As Double ' Ultimo albaran de la serie 02
Dim PedidosDia As Recordset ' TBL Pedidos de una fecha
Dim AlbCab As Recordset ' TBL Albaranes cabecera diTPV
Dim AlbLineas As Recordset ' TBL Lineas de albaranes diTPV
Dim GesPeddb As Database
Set GesPeddb = DBEngine.Workspaces(0).Databases(0)
Set PedidosDia = GesPeddb.OpenRecordset("PedidosPrecocidosDia")
Set AlbCab = GesPeddb.OpenRecordset("dbo_AlbaranesCab", dbOpenDynaset, dbSeeChanges)
Set AlbLineas = GesPeddb.OpenRecordset("dbo_AlbaranesLin", dbOpenDynaset, dbSeeChanges)
MaxidAlbaran = DMax("idAlbaran", "dbo_AlbaranesCab")
Max01 = DMax("NumAlbaran", "dbo_AlbaranesCab", "Serie = '01'")
Max02 = DMax("NumAlbaran", "dbo_AlbaranesCab", "Serie = '02'")
AlbCab.AddNew
AlbCab("idAlbaran") = MaxidAlbaran + 1
AlbCab("NumAlbaran") = Max01 + 1
AlbCab.Update ' Aquí me da este error " ODBC Falló la llamada"
End Function
Si abro la tabla vinculada directamente desde access si me deja añadir.
Si no te importa te agradeceria me explicaras estos terminos que me dices.
--Tienes una llave primaria en tu tabla?
-- El usuario tiene derechos para modificar?
-- El dato que intentas actualizar esta tipeado correctamente?
Puedes mostrar el script de la tabla?
Perdona mi ignorancia y gracias