>SELECT * FROM SEC_CA WHERE CATEGORY = UPPER(ALLTRIM(this.caption)) INTO CURSOR csrCA FYI, you can get better performance out of that select command. Even if you have no indexes on sec_ca, you should avoid the this.caption and the upper(alltrim()) like this.... LOCAL lcCaption lcCaption = UPPER(ALLTRIM(THIS.Caption)) SELECT * FROM SEC_CA WHERE CATEGORY = m.lcCaption and if you have an index like UPPER(CATEGORY) then SELECT * FROM SEC_CA WHERE UPPER(CATEGORY) = m.lcCaption would be the optimal way to do it. > >THISFORM.oDE.ADDOBJECT("ca"+this.caption, "caSectional") >oCA = EVALUATE("thisform.oDE.ca"+ ALLTRIM(this.caption)) > >WITH oCA > .Alias = "csr" + lcCategory > .BufferModeOverride = 5 > .CursorSchema = "" > .DataSourceType = "NATIVE" > .FetchSize = -1 > .KeyFieldList = "SECT_NO" > .SelectCmd = ALLTRIM(csrCA.Selcmd) > .Tables = ALLTRIM(csrCA.tablenames) > .UpdatableFieldList = ALLTRIM(csrCA.Updfldlst) > .UpdateNameList = ALLTRIM(csrCA.UpdnamLst) >* The following line gets the data AND automatically displays it in a browse window! >* Needless to say, that's very annoying. > .CursorFill() >ENDWITH >>