>>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>>