AdvDBFilter and "not equal"

Rad Studio Berlin update 2 Enterprise.
(using Delphi, not C++)

Win 10.

Using MSSQL 2008.

FDConnection --> FDQuery --> DataSetProvider --> ClientDataSet -->DataSet1

DBGrid --> DataSet1

AdvDBFilterDialog --> DataSet1.

Issue 1:
When I set up a filter like:
Column:   <some integer column>
Filter Operation:  Not Equal
Value: 0

I get this error when I hit apply filter: "Invalid filter expression character: '!'

Likely doing "!=" instead of "<>"?

Issue 2:
Is there any way to get the column combo box to list field names in alphabetical order?

Issue 3:
There should probably be Filter Operations of 'Is Null" and "Is Not Null" for completion.


  1. We have fixed the issue with the non-equal operator. The next update will address this.
    2) That is a good suggestion. We'll consider adding an option for this. For now, you could add persisted dataset fields in sort order as a workaround.
    3) That is also a good suggestion and currently not yet available. You could do a non-equal with an empty value or equal with empty value for now.

Thanks Bruno...

If you're looking for suggestions...

Add the ability to reference field_names in the "Value" edit box.

That way things like "find all orders that shipped late" would be possible:

order_require_date < order_shipped_date

Either add a new check box (beside the "Case" check box) to indicate "treat value as field name", or parse out some "field markers" - eg:
order_require_date < [[order_shipped_date]]

Actually, if you parsed out the markers as parentheses, it would be possible to add calcs:

safety_stock < [[ on_hand_qty - on_order_qty ]]

Which would resolve to
(safety_stock < (on_hand_qty - on_order_qty) )

The end user would have to manually key in the field names, but even so - I think it would be quite useful to be able to treat the Value entry as an Expression...


Thanks for the suggestion. We've taken note of it and will consider it when working on a next update.