General X++ Development

How do I create a query dynamically in X++?

Asked by Sunny Vasty· Aug 13, 2026· 1 answers

How do I create a query dynamically in X++?

SSunny Vasty75 reputation · answered Aug 13, 2026

Build the query with Query and QueryBuildDataSource, then execute it with QueryRun.

X++
Query query = new Query();
QueryBuildDataSource qbds;

qbds = query.addDataSource(tableNum(CustTable));
qbds.addRange(fieldNum(CustTable, CustGroup))
    .value(queryValue('10'));

QueryRun queryRun = new QueryRun(query);

while (queryRun.next())
{
    CustTable custTable = queryRun.get(tableNum(CustTable));
}

Use this when the structure or filtering actually needs to change at runtime. If nothing is dynamic, a normal select is easier to read.