Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Numeric overflow
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 8 SP1
Divers
Thread ID:
01116716
Message ID:
01116739
Vues:
15
:-)
I hope also.

>I don't think he actually wants to raise this error <g> Anyway, both our advices would be helpful, I hope <g>
>
>>But from that what I read (or undestood) Chaim wants to raise error 39, not to handle it. May be I am wrong.
>>
>>>
>>>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
>>>
>>>From some of my prev. life applications <g>
>>>
>>>I'm cc-ing the thread's originator.
>>>
>>>
>>>>>Hi
>>>>>Can I tell vfp: when you want to give me the error message 'Numeric overflow' (error 39), fill the field with 0 (in all of the code without adding the line if between(field.value,-9999,99999999) for each case).
>>>>>Thanks
>>>>
>>>>ERROR 39
>>>>
>>>>See Error command in Help.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform