> For the complete documentation index, see [llms.txt](https://doc.sysdevmobile.com/kalipso5/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.sysdevmobile.com/kalipso5/developing/form/expressions/filter-and-order-by.md).

# Filter and Order By

A Filter or Order By, when in Kalipso Syntax, is very simple to use. You don’t have to worry about single-quotes (‘).

When editing an Expression of this type, you have available [Functions ](/kalipso5/developing/form/expressions/functions.md)and all the Kalipso objects from where you can retrieve values ([Global Variables](/kalipso5/developing/form/variables.md), [Controls ](/kalipso5/developing/form/controls.md)and [Local Variables](/kalipso5/developing/form/option-window/local-variables.md)). To use any of these items you just have to double-click it and it will be automatically added to the Expression.

{% hint style="info" %}
Note that when you add a Column, Kalipso uses a special nomenclature that contains the Table. By using this syntax, Kalipso knows the data type of the Column therefore determining if it needs to use enclosure the value between single-quotes (‘) or not.
{% endhint %}

{% hint style="info" %}
These rules apply for both Filter and Order By. When working in offline you should follow the rules of SQLite (for example, current date is returned by date() function). When working in online, you can use rules that are specific of the database that you are using (for example, in SQL Server current date is returned by GetDate() function).
{% endhint %}

### Examples:

* *Example 1*

Select **Code** from **Products** where **Code** = ‘001’\
\
In Kalipso, the Filter is considered to be:\
**Code** = ‘001’\
\
So, when defining the Filter, you would enter something like this:\
Field(Products, Code) = CTRL(iProduct)

* *Example 2*

Select **Code** from **Products** where **Family** = ‘002’ and **Stock** > 0 and **DateDue** > ‘20100224’\
\
In Kalipso, the Filter is considered to be:\
\
**Family** = ‘002’ and **Stock** > 0 and **DateDue** > ‘20100224’\
\
So, when defining the Filter, you would enter something like this:\
Field(Products, Family) = CTRL(cProduct) and Field(Products, Stock) = CTRL(cProduct) and Field(Products, DateDue) = CTRL(iDate)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.sysdevmobile.com/kalipso5/developing/form/expressions/filter-and-order-by.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
