The right place to build WHERE clause is in BeforCursorFill method. BUT DO NOT Change SelectCmd, only change cSelectCmd parameter value.
Better DO NOT CHANGE anything just use Parameters:
this.SelectCmd = [SELECT * FROM YourTable WHERE SomeField = ?lePar1 AND OtherField = ?lePar2]
lePar1 = 1000
lePar2 = [BlahBlah]
oCA.CursorFill()
BROWSE NORMAL
lePar1 = 2000
lePar2 = [BlahBlah 800]
oCA.CursorRefresh()
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.