Error al ejecutar Update

Soy Javier y tengo un problema a la hora de ejecutar una sentencia update sobre una tabla de una base de datos access. Espero que me puedas arrojar luz al respecto.
Al ejecutar el update me devuelve el siguiente error:
-2147467259 Ha intentado asignar el valor Null a una variable que no es un tipo de datos Variant.
He echado un vistazo a este error y parece ser que da cuando intentamos asignar un valor nulo a un campo que no admite nulos.
Mi tabla solo tiene un campo que no admite nulos y no es otro que el que forma la clave primaria. El resto de campos tienen valor por defecto null.
Los campos IDxxxxx no tienen relación directa declarada con otras tablas.
La sentencia que quiero ejecutar es la siguiente.
UPDATE PARTEUMAIF3
SET DISTANCIABASEINCENDIO = 10
,INCENDIOAGRICOLA = NULL
,IDTIPODEVEGETACION = NULL
,PROBABILIDADIGNICION = NULL
,IDINDICEPELIGRO = NULL
,PRESENCIAMEDIOSTERRESTRES = NULL
,SUPERFICIEINCENDIO = NULL
WHERE NUMPARTE = 2009052002
¿Tienes alguna idea de por qué puede devolver este error?

2 respuestas

Respuesta
1
Dime que tipo de dato tiene cada campo, recuerda que cuando usas campos de texto en lugar de null, debes poner "" y si es numérico =0
De todas formas dime que tipo de campo es cada uno
Te agradezco enormemente tu pronta respuesta.
El primero de los campos a actualizar es de tipo Intger el resto son Byte.
Efectivamente, si asigno valor 0 no hay problema pero no es lo mismo.
Esta base de datos la creo con ADOX a partir de otra en SQL Server (que si admite nulos en estos campos) con la que trabajan en los puntos de recogida de datos.
Este proceso no es algo nuevo, lleva en producción varios años. Por eso mi sorpresa.
La aplicación tiene 2 procesos de transferencia de datos.
1.- Creación de BD desde SQL Server. Crea la base de datos ACCESS y las tablas a partir de la estructura original de SQL Server y añade los datos en la tablas según los filtros que introduzcan.
2.- Creación de BD de exportación desde Access a Access. Este proceso tiene otro asociado que es la lectura y depuración de los datos para incorporarlos en la BD SQL Server.
El aplicativo es el mismo y utiliza una Access o SQL Server en función del usuario logado.
Tan solo he incorporado tres campos en otra tabla para representar en un GIS cada una de las actuaciones de medios aéreos en los incendios forestales.
Prueba a modificar solo los campos que necesites, por ejemplo
UPDATE PARTEUMAIF3
SET DISTANCIABASEINCENDIO = 10
WHERE NUMPARTE = 2009052002
A no ser que necesites que el campo sea nulo, si es prueba a quitar campos del update y probar hasta que sepas cual es el que falla, después de eso, revisa el tipo de dato y prueba a ponerle en sqlserver a los datos nuevos que permitan nulos
Muchísimas gracias por tu atención, finalmente seguí tu consejo de ir eliminando campos de la sentencia de actualización y afortunadamente di con el quiz en la primera eliminación.
Incomprensiblemente el campo se había creado mal, lo he vuelto a crear como byte y ya admite nulos.
Se ve que el mito re on/off no lo es tal, es una realidad.
Un fuerte abrazo, Javier.
Respuesta

Get this help support and learn windows online help how to use windows OS computer.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas