Hello Keith,
Thank you so much for your time and effort to post a long response. I really appreciate that.
QuoteOur company also uses a QBF and results set (internal array) that our users wanted to have the sort match what they were doing in the results screen. They wanted the Next/Previous functions to match how the results screen was sorted when they returned from the results screen.
That is the same situation we have.
Going back and looking what we have done and discussing with our team, we are not as concerned with keeping a cumulative sort, so after leaving the display array, we will execute the sort on the last column that was chosen. Then, when the user presses the Next/Previous buttons it will be accurate. If the user is switching back and forth between the browselist, we do even perform a sort if the user cancels out of the browselist form. The current record will then be visible for editing or viewing and the user could press Previous/Next at that point.
It really hasn't come to our thought to choose the method of executing the sql again. That surfaces many other issues as a possible need to parse the SQL query again. Also, we keep a database of our forms. On the forms for many of our maintenance routines, I would say at least 75 percent of them, we have database table that has the columns we actually want to be in the browse list. So our array name is generic as well as the column names, so it would be more coding involved to figure that out.
Everything has worked fine except that my sort is slow on large list of rows. So if we fix that, everything should be fine. We are trying to maintain same code source for 2.50, 3.00 and 3.10. Trying to add the pre-processor commands may cause many things to break as we haven't used them in a while, so I'm going to see if I can improve the sort I have, then that would work in all 3 versions. We are also exploring with support migrating our 2.50 to 2.51, but that may not be a good idea as it doesn't appear to be maintained. If it looks too difficult for me to rewrite the sort, then I'll look at the preprocessor route again.
Thanks for everyone's input!
Candy