*** lstCommittee1.InteractiveChange if used('committeefile') use in committeefile endif select mailtags locate for filename = this.value gTAGOwner = owner local lccommitteefile lccommitteefile = addbs(fileloc) + this.value use &lccommitteefile in 0 alias committeefile sele committeefile set order to tag personID sele maillist set rela to personID into committeefile this.parent.optTAG.controlsource = "committeefile.persontag" this.parent.optTAG.refresh this.Parent.lblOwner.refresh this.Parent.cmdAdd.Refresh this.Parent.cmdDrop.refresh dodefault()The option group shows the position of the current person within the committee structure. That is whether they are a member or an alternate, etc.
** optTAGS.interactivechange this.Value = this.value dodefault() this.parent.lstTAGs.refreshand here's the code for the second listbox:
*** lstTAGS.refresh this.populatethis *** lstTAGS.populatethis local lcThistag, lcTestfile this.clear sele mailtags go top scan lctestfile = addbs(fileloc) + allt(mailtags.filename) if used('commfile') use in commfile endif use &lctestfile in 0 alias commfile again select commfile loca for commfile.personid = maillist.personid if found() do case case commfile.persontag = 1 lcThistag = "Member" case commfile.persontag = 2 lcThistag = "Steering" case commfile.persontag = 3 lcThistag = "Staff" case commfile.persontag = 4 lcThistag = "Courtesy" case commfile.persontag = 5 lcThistag = "Subscriber" case commfile.persontag = 6 lcThistag = "Alternate" case commfile.persontag = 7 lcThistag = "Option7" case commfile.persontag = 8 lcThistag = "Option8" case commfile.persontag = 9 lcThistag = "Option9" endcase this.additem(allt(mailtags.name) + " - " + lcThistag) endif sele mailtags endscan use in commfile sele maillistWithout the fix suggested by Naomi the value for the committee assignment that resulted in the second listbox was always one change behind the current setting of the optiongroup. With her fix it works fine.