# 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: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
