error en la actualizacion basada en consultas ¡¡AYUDA¡¡
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
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
SI!!!! Es el campo tipo Fecha.. quitalo... usa mejor un VARCHAR y asunto resuelto!
Saudos!
Carlo Magno
www.buhosoftware.com
Saudos!
Carlo Magno
www.buhosoftware.com
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
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
en vez de If rsArt.EOF = False Then
usá If rsArt.RecordCount > 0 Then
Una de esas sirve, saludos
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
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
