error en la actualizacion basada en consultas ¡¡AYUDA¡¡

Brujox
24 de Octubre del 2008
Buen dia¡¡
Estoy empezando a programar y tengo un problema en Visual Basic y MySQL, al momento de actualizar una tabla me pone este mensaje, "error en la actualizacion basada en consultas: no se encontro la fila para actualizar", ya le he buscado por todos lados y no se si es mi programacion, el controlador odbc, los permisos a la tabla o el tipo de tabla, por favor si alguien me puede ayudar se le agradecere mucho. Este es el codigo que utilizo:

Dim rsArt As ADODB.Recordset

Set rsArt = New ADODB.Recordset
criterio = "Select * from posmaestro where NumAlmMaeR=" & RsGraba!NumAlmMovR & " And ClaveMaeR='" & RsGraba!ClaveRefMovR & "'"
rsArt.Open criterio, CnPuntoVenta_db, adOpenDynamic, adLockOptimistic
If rsArt.EOF = False Then
rsArt!CanAntMaeR = rsArt!ExiUndMaeR
rsArt!ExiUndMaeR = rsArt!ExiUndMaeR + RsGraba!CantidadMovR
rsArt!ExiPesMaeR = rsArt!ExiUndMaeR * rsArt!CostoMaeR
rsArt.Update
End If

el error es cuando pasa a la instruccion rsArt.Update

buhosw
24 de Octubre del 2008
SI!!!! Es el campo tipo Fecha.. quitalo... usa mejor un VARCHAR y asunto resuelto!

Saudos!
Carlo Magno
www.buhosoftware.com

El chavy
24 de Octubre del 2008
Mira a me paso lo mismo y descubri que si tengo un campo que sea date o datetime me tira ese error si le saco ese campo no esta mas, no eh encontrado todavia la solucion si ya la encontraste pasamela o si no escribime igual asi estamos en contacto

mvallejos
24 de Octubre del 2008
preguntás por el EOF y no por el BOF, cambiale algo al condicional
en vez de If rsArt.EOF = False Then
usá If rsArt.RecordCount > 0 Then

Una de esas sirve, saludos



Alberto Rodriguez
24 de Octubre del 2008
No es problema de las tablas, ni de la maneta que lo haces, tampoco es problema con los campos date, el problema es que alguno de los campos que actualizas ya tienen ese valor y es por eso que marcan ese error, razona y checa cual es el campo que queda igual, yo creo que es el primer campo

rsArt!CanAntMaeR = rsArt!ExiUndMaeR

de seguro este campo ya tiene ese valor,asi que mejor comenta esa linea y lo mas probable es que funcion :D