>function CurErrHandler >lparameter tnErrorNum >if not 'vfpevent.fll' $ lower(set('library')) > set library to vfpEvent.fll additive >endif >if m.tnErrorNum = 39 && Numeric overflow > local lnFields, lnI, lcAlias, lnRecord, lnResult > lcAlias = alias() > lnFields = afields(laFields,m.lcAlias) && assuming the table is opened > lnRecord = recno(m.lcAlias) > for lnI=1 to m.lnFields > if inlist(laFields[m.lnI,2],'N','I','B','Y','F') and ; > "*" $ transform(evaluate(m.lcAlias+"."+laFields[m.lnI,1])) && This is a field, which gave an error > lnResult = EventMBox('Field '+ laFields[m.lnI,1]+" would be blanked because of numeric overflow "+ ; > chr(13)+"on the record "+transform(m.lnRecord)+" in file "+dbf(m.lcAlias)+ ; > chr(13)+"Do you want to continue the appending process?", ; > MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON1, ; > "Error is encountered!", ; > "&Proceed", ; > "&Stop", "") > blank field (laFields[m.lnI,1]) > pnNumberOfProblems = m.pnNumberOfProblems + 1 && Increment number of problems > > if m.lnResult = IDNO && Stop > plHalt = .t. && Stop the process > endif > endif > next > return >else > error m.tnErrorNum && produce an error and handle it by normal error Handler >endif>