Recorrer dbf con skip no va
Publicado: Mié Mar 04, 2015 1:00 pm
Buenas, os pongo en situación; estoy añadiendo registros en un tbbrowse a una dbf, de manera que en la columna de codigo no hago get y tengo puesto en el dataset en el método OnPostAppend la siguiente funcion:
METHOD OKNewRegistro( oSender ) CLASS MainIva
Local nRegAct := ::oDbfIVA:Recno()
Local cCodNew
::oDbfIVA:OrdSetFocus("CODIGO")
// DESDE AQUI ESTA PARA DEPURAR
::oDbfIVA:GoTop()
WHILE !::oDbfIVA:Eof()
MsgInfo( ::oDbfIVA:codigo )
::oDbfIVA:Skip()
END
// HASTA AQUI LA DEPURACION
::oDbfIVA:GoBottom()
::oDbfIVA:Skip(-1)
cCodNew := Right( "00" + AllTrim( Str( Val( ::oDbfIVA:codigo ) + 1 ) ), 2 )
::oDbfIVA:Goto( nRegAct )
::oDbfIVA:Edit(.T.)
::oDbfIVA:codigo := cCodNew
::oDbfIVA:Update()
::oBrwIva:Refresh()
RETURN Nil
Bueno, pues los "Msginfo" siempre me dan vacío, es como si no recorriera la dbf sino el tbbrowse y "cCodNew" siempre es "01"
¿que estoy haciendo mal, por favor?
Muchas gracias
METHOD OKNewRegistro( oSender ) CLASS MainIva
Local nRegAct := ::oDbfIVA:Recno()
Local cCodNew
::oDbfIVA:OrdSetFocus("CODIGO")
// DESDE AQUI ESTA PARA DEPURAR
::oDbfIVA:GoTop()
WHILE !::oDbfIVA:Eof()
MsgInfo( ::oDbfIVA:codigo )
::oDbfIVA:Skip()
END
// HASTA AQUI LA DEPURACION
::oDbfIVA:GoBottom()
::oDbfIVA:Skip(-1)
cCodNew := Right( "00" + AllTrim( Str( Val( ::oDbfIVA:codigo ) + 1 ) ), 2 )
::oDbfIVA:Goto( nRegAct )
::oDbfIVA:Edit(.T.)
::oDbfIVA:codigo := cCodNew
::oDbfIVA:Update()
::oBrwIva:Refresh()
RETURN Nil
Bueno, pues los "Msginfo" siempre me dan vacío, es como si no recorriera la dbf sino el tbbrowse y "cCodNew" siempre es "01"
¿que estoy haciendo mal, por favor?
Muchas gracias