Select 下一个 1000

Select next 1000

斧子里有个关键词
firstOnly1000

哪个可以这样用

select firstonly1000 <ObjectName> where <where clause>

有没有办法制作下 1000 个 select?我正在考虑使用 recid

select firstonly1000 <ObjectName> where <where clause> && Recid > maxof(firstonly1000.Recid) 

但在某些 Axe 版本中,Recid 可以小于零。是否有一些合理的通用方法可以为所有 Ax 版本执行此操作?

我会说不。如果你想做某种分页,你可以使用 query object (see link) 或类似于下面的 X++ 的东西,这几乎是常见的约定。

while select salesTable
{
    i++;
    if (i>1000)
        break;
    info(strFmt("%1: %2", i, salesTable.SalesId));
}

// Less often used method below. Usually for a specific purpose.
select salesTable;
while (salesTable && i < 1000)
{
    i++;
    info(strFmt("%1: %2", i, salesTable.SalesId));

    next salesTable;
}

我认为完成您尝试使用 RecId 的最简单方法是按 RecId Asc 排序,然后只跟踪您选择的最后一个 RecId,而不是maxOf。我认为如果你只是在任何 table.

上任意执行它,你可能会表现不佳