Subject | Re: [IBO] IB_LookupCombo sorting case insensitive |
---|---|
Author | Helen Borrie |
Post date | 2005-06-22T02:40:15Z |
At 11:59 PM 21/06/2005 +0000, you wrote:
elaborate? What do you have your lookup dataset doing? What do you think
the IB_LookupCombo is doing?
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'.
solve, I can't say whether this feature would help here.
Helen
>Hi all.I can't quite relate to what you are talking about here. Can you
>
>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.
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 dataSearching all boils down to SQL, so your searches have to be mindful of
>contains mixed case text.
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