如何省略 FOR EACH 进行中的语句?
How to leave out of FOR EACH statement in Progress?
我正在努力通过 FOR EACH
从 table 获取前 2 条记录。
我的目标是只读取 table 中的前 2 条记录,并将一个字段值保存到变量中。
假设我有 table MyTable
字段 PartNr
、CreationDate
、Company
、ID
.
我的 FOR EACH
声明如下所示:
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK:
END.
例如,FOR EACH 语句会找到 15 条记录。然而,我只需要前两个。
我想将 first
记录的 PartNr
存储在一个变量中,并将 second
记录的 PartNr
存储在另一个变量中。
之后 FOR EACH
语句应该结束。
我也试过使用FIND FIRST
,但是我不知道如何获取第二条记录。
在使用 loops
.
时,我几乎在寻找与 break
关键字等效的 python
非常感谢任何帮助。
DEFINE VARIABLE iCounter AS INTEGER NO-UNDO .
myLoop:
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK:
iCounter = iCounter + 1 .
IF iCounter = 2 THEN
LEAVE myLoop .
END.
如果确实是您事先知道的有限次数的迭代,并且如果您根据要处理的记录执行不同的逻辑,那么您也可以使用静态查询。它可能使代码更清晰。
像这样:
OPEN QUERY qMyQuery
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK.
QUERY qMyQuery:GET-FIRST.
QUERY qMyQuery:GET-NEXT.
CLOSE QUERY qMyQuery.
我正在努力通过 FOR EACH
从 table 获取前 2 条记录。
我的目标是只读取 table 中的前 2 条记录,并将一个字段值保存到变量中。
假设我有 table MyTable
字段 PartNr
、CreationDate
、Company
、ID
.
我的 FOR EACH
声明如下所示:
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK:
END.
例如,FOR EACH 语句会找到 15 条记录。然而,我只需要前两个。
我想将 first
记录的 PartNr
存储在一个变量中,并将 second
记录的 PartNr
存储在另一个变量中。
之后 FOR EACH
语句应该结束。
我也试过使用FIND FIRST
,但是我不知道如何获取第二条记录。
在使用 loops
.
break
关键字等效的 python
非常感谢任何帮助。
DEFINE VARIABLE iCounter AS INTEGER NO-UNDO .
myLoop:
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK:
iCounter = iCounter + 1 .
IF iCounter = 2 THEN
LEAVE myLoop .
END.
如果确实是您事先知道的有限次数的迭代,并且如果您根据要处理的记录执行不同的逻辑,那么您也可以使用静态查询。它可能使代码更清晰。
像这样:
OPEN QUERY qMyQuery
FOR EACH MyTable
WHERE MyTable.Company = "TestCompany"
AND MyTable.CreationDate >= 01.01.2021
NO-LOCK.
QUERY qMyQuery:GET-FIRST.
QUERY qMyQuery:GET-NEXT.
CLOSE QUERY qMyQuery.