The Filter property and the class used to parse that FilterText into a data
structure representing the filter expression are both part of Delphi. NexusDB
just uses them. In D2007 and older they are both written to use AnsiStrings. MOving to a Delphi 2009 or higher solves the problem.

Q: Setrange/Locate can not find keys with decimals. Why?
"For better or worse we have a table where the key field is a floating point number. Any call to Locate() or SetRange() on a number that has a decimal is not found.

Locate(56,[]) works
Locate(56.01,[]) false even though the record with a key 56.01 exists

Same with SetRange. BDE with DBase tables this worked fine."

Nexus stores real floating point valuse, whereas dBase stores the digit string. As soon as your values can't be stored as a binary value you get trouble with the comparisons. Therefore you should use scaled integer values for keys.

Home | Site Contents | Documentation | FAQ, Tips & Tricks | NexusDB FAQ | Table based access