diff --git a/include/isam.cpp b/include/isam.cpp index ebc33ea2a..3a08e9ecf 100755 --- a/include/isam.cpp +++ b/include/isam.cpp @@ -940,7 +940,7 @@ int TBaseisamfile::write(TDate& atdate) if (_lasterr != NOERR) _lasterr = get_error(_lasterr); setkey(oldkey); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); - if( has_memo( ) ) + if( _lasterr == NOERR && has_memo( ) ) { curr( ).memo_info( ).recno( _recno ); curr( ).write_memo_info( _isamfile); @@ -964,7 +964,7 @@ int TBaseisamfile::write(const TRectype& rec, TDate& atdate) if (_lasterr != NOERR) _lasterr = get_error(_lasterr); setkey(oldkey); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); - if (_lasterr != NOERR ) + if (_lasterr == NOERR ) { if( has_memo( ) ) { @@ -992,7 +992,7 @@ int TBaseisamfile::rewrite(TDate& atdate) _lasterr = DB_rewrite(_isamfile->fhnd); if (_lasterr != NOERR) _lasterr = get_error(_lasterr); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); - if( has_memo( ) ) + if( _lasterr == NOERR && has_memo( ) ) { curr( ).memo_info( ).recno( _recno ); curr( ).write_memo_info( _isamfile ); @@ -1017,7 +1017,7 @@ int TBaseisamfile::rewrite(const TRectype& rec, TDate& atdate) _lasterr = DB_rewrite(_isamfile->fhnd); if (_lasterr != NOERR) _lasterr = get_error(_lasterr); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); - if( has_memo( ) ) + if( _lasterr == NOERR && has_memo( ) ) { rec.memo_info( ).recno( _recno ); rec.write_memo_info( _isamfile ); @@ -1040,7 +1040,7 @@ int TBaseisamfile::rewriteat(TRecnotype nrec) } else _lasterr = get_error(_lasterr); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); - if( has_memo( ) ) + if( _lasterr == NOERR && has_memo( ) ) { curr( ).memo_info( ).recno( _recno ); curr( ).write_memo_info( _isamfile ); @@ -1061,7 +1061,7 @@ int TBaseisamfile::rewriteat(const TRectype& rec, TRecnotype nrec) } else _lasterr = get_error(_lasterr); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); - if( has_memo( ) ) + if( _lasterr == NOERR && has_memo( ) ) { rec.memo_info( ).recno( _recno ); rec.write_memo_info( _isamfile ); @@ -1111,7 +1111,7 @@ int TBaseisamfile::remove(TDate& atdate) } } } - if(has_memo()) + if(_lasterr == NOERR && has_memo()) curr().memo_info().recno(RECORD_NON_FISICO); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd); @@ -1141,7 +1141,7 @@ int TBaseisamfile::remove(const TRectype& rec, TDate& atdate) } } - if(has_memo()) + if(_lasterr == NOERR && has_memo()) curr().memo_info().recno(RECORD_NON_FISICO); _recno = _isamfile->RecNo = DB_recno(_isamfile->fhnd);