Problema con UPDATE en base access

redsnake
30 de Septiembre del 2005
Hola. Me pasa lo siguiente, cuando hago un update a una tabla de access me actualiza registros que no tienen que ser actualizados ya que en el "where" no esta indicado, les paso el codigo:

UPDATE tblinformacion SET estado="Ok";
WHERE tblinformacion.cod=registro.cod AND;
ALLTRIM(tblinformacion.articulo)=ALLTRIM(registro. articulo) AND;ALLTRIM(STR(tblinformacion.fecha))=ALLTRIM(STR (registro.fecha,8))

En este caso me cambia todos los que tienen la misma fecha sin importar el articulo. Raro....pero me es de extrema importancia solucionarlo ya que estoy cambiando registros que no deberia ser.


Gracias de antemano

sgomez
30 de Septiembre del 2005
No estás indicando de que forma te estás conectando a la MDB ya que de ello depende si la instruccion SQL que se va a ejecutar es de fox o de access.

Suponiendo que estás usando ADO estarías utilizando la sintaxis nativa (la de access), si este es el caso, en lugar de utilizar la funcion STR para la conversion de la fecha utilizá CDATE

redsnake
30 de Septiembre del 2005
Gracias! Estoy usando una conexion odbc mediante una vista remota. Lo probe y seguimos igual.

ricardol
30 de Septiembre del 2005
Hola RedSnake
Creo que el problema en tu WHERE es que solo deberias especificar el COD (si es que es tu campo clave), ya que supongo que FECHA es la misma para varios registros y por eso se te actualiza varios registros de tu tabla.... si COD no es campo clave tene en cuenta que para access la fecha debe tener el formato #mm-dd-yyyy# entre numerales...
Espero haber ayudado...