Subject Re: [IBO] IB_LookupCombo sorting case insensitive
Author Helen Borrie
At 11:59 PM 21/06/2005 +0000, you wrote:
>Hi all.
>
>Is there any way to have an IB_LookupCombo sort case insensitively
>when ordering/searching is being used? The inbuilt ordering/searching
>mechanism overrides the Order By Upper(FieldName) clause I am trying
>to use.

I can't quite relate to what you are talking about here. Can you
elaborate? What do you have your lookup dataset doing? What do you think
the IB_LookupCombo is doing?

>The end result is that searching doesn't work when the data
>contains mixed case text.

Searching all boils down to SQL, so your searches have to be mindful of
what SQL does with equality searches. But searching and ordering are two
different things. A set's ordering depends on an ORDER BY clause. An IBO
dataset can manipulate the ORDER BY clause from one view of it to another
by several means. Ordinarily, you would order a lookup dataset according
to how you want to search it and you would configure the searching
behaviour in accord with that. You need to avoid returning a lookup
dataset that contains nulls in search fields.

IBO has a built-in feature that lets you reduce the complexity of
expression searches and avoid ordering by expressions at all. Define a
case-insensitive proxy column for a varchar column and populate it
automatically by a trigger with UPPER(YourVarchar). Index this column
instead of the base column. Then, the IB_Dataset can hook into it and use
it for fast case-insensitive orderings and searches. See the
ColumnAttribute 'CASE INSENSITIVE' in the ib_query fields editor. The
field alongside this attribute should contain the column name of the proxy
column. IBO will then uppercase your search string and resolve a search on
the base column to 'WHERE YourProxyColumn = TheUpperCaseString'.


>Any help would be appreciated.

Since I don't yet understand what the problem is that you are trying to
solve, I can't say whether this feature would help here.

Helen