******************************************************************** * Description.......: wgUniqueText.Valid() * Calling Samples...: * Parameter List....: * Created by........: * Modified by.......: Nadya Nosonovsky 06/05/2000 12:08:49 PM ******************************************************************** *--- Checks to see if the value entered is unique. local lcvalue,llunique,lnaction, lcfield, lcAlias, lcTag llunique = .t. lcAlias=alias() if empty(lcAlias) lcAlias=thisform.dataenvironment.InitialSelectedAlias endif lcTag = this.pcValidTag && Tag Name, used in validation lcField=this.pcFields && Field Name or combination of fields in validation lcValue = iif(type("this.value") = "C", alltrim(this.value), this.value) && Store value entered. *--- Make sure that it is NOT empty. if empty(this.value) lnaction=messagebox('This field can not be blank! Would you like to try again?',20,'Warning') if lnaction = 6 && Return user to field. llunique = .f. *--- Do nothing , false will be returned. else *--- The user choose to cancel the edit or add. Return them to review mode. llunique = .t. select (lcAlias) thisform.edit() thisform.navstand.navupdate() thisform.refresh() endif endif if llunique *--- Check table. if thisform.addmode or (not thisform.addmode and oldval(lcfield,lcAlias)<>lcvalue) *!* select * from (lcAlias) ; *!* where &lcfield == lcvalue to screen noconsole *!* *--- Test results of SELECT-SQL duplicate record check. *!* if _tally > 0 *!* llunique = .f. *!* endif if indexseek(lcValue,.f.,lcAlias, lcTag) && Field is duplicate llUnique=.f. endif if !llunique && lnaction=messagebox('The value entered is not unique. Would you like to try again?',20,'Duplicate value') if lnaction = 6 && Return user to field. llunique = .f. *--- Do nothing , false will be returned. else *--- The user choose to cancel the edit or add. Return them to review mode. llunique = .t. select (lcAlias) thisform.edit() thisform.navstand.navupdate() thisform.refresh() endif endif endif endif return llunique