Thanks for the input Steve. I was trying to avoid the second select since the user already had to wait for the Matches cursor to be created. However, matches should have such a small number of records that it shouldn't matter.
The reason I had the code in the activate rather than init method is that this page is part of a wizard. The wizard walks the user through ... collecting information as it goes and then uses that information to create the Matches cursor. I suppose I could tie the cursor after it's created as opposed to the activate; init was just too early because matches doesn't even exist.
Hope that makes sense.
>BTW, if you use code to set the controlSource, you probably should use the init() method...the activate() fires if the user leaves that form and sets focus back to it.
>
>
>thisform.lstntm1.RowSourceType = 3
>thisform..lstntm1.RowSource = [select name, TRANSFORM((rank/7)*100,"999%") as rank ] + ;
> [ from matches into cursor matchesCursor ]
>
>
>>I have the following code in the activate of a page:
>>
>>this.lstntm1.RowSource = [TRANSFORM((matches.rank/7)*100,"999%"),name]
>>this.lstntm1.RowSourceType = 6
>>