如何跳到每个 progress4gl 中查找的下一条记录?
How do I skip to the next record on a find within a for each progress4gl?
我一直在研究在另一个 for each
中运行 for each
并在其中运行 find
的代码,我需要跳过 [= 找到的记录13=] 语句如果它与第二个 for each
的值不匹配,但我无意中跳过了第一个 for each
.
上的 table
for each <table>.
for each <table1>.
find <table2> where <table2>.<code> = <table1>.<code> no-lock no-error.
if not avail <table2>
then next.
end.
end.
不是在找不到时跳过 <table1>
,而是跳过 <table>
,有没有办法解决这个问题?
版本:
OpenEdge 版本 10.2B
警告:
我是一个正在进步的新手
非常不清楚您要做什么。但也许就是这样:
for each table1 no-lock:
find table2 no-lock where table2.code = table1.code no-error.
if available table2 then
do:
/* do something that involves table2 */
end.
else
do:
/* do stuff that does not involve table2 -- in other words "skip it" */
end.
end.
我也不太清楚你要的是什么...
但是在处理嵌套循环时,使用块标签来控制下一个循环总是更容易。 outerloop 和 innerloop 只是循环的任意选择名称。
outerloop:
for each <table>:
innerloop:
for each <table1>:
find <table2> where <table2>.<code> = <table1>.<code> no-lock no-error.
if not avail <table2>
then next innerloop .
end.
end.
我一直在研究在另一个 for each
中运行 for each
并在其中运行 find
的代码,我需要跳过 [= 找到的记录13=] 语句如果它与第二个 for each
的值不匹配,但我无意中跳过了第一个 for each
.
for each <table>.
for each <table1>.
find <table2> where <table2>.<code> = <table1>.<code> no-lock no-error.
if not avail <table2>
then next.
end.
end.
不是在找不到时跳过 <table1>
,而是跳过 <table>
,有没有办法解决这个问题?
版本:
OpenEdge 版本 10.2B
警告: 我是一个正在进步的新手
非常不清楚您要做什么。但也许就是这样:
for each table1 no-lock:
find table2 no-lock where table2.code = table1.code no-error.
if available table2 then
do:
/* do something that involves table2 */
end.
else
do:
/* do stuff that does not involve table2 -- in other words "skip it" */
end.
end.
我也不太清楚你要的是什么...
但是在处理嵌套循环时,使用块标签来控制下一个循环总是更容易。 outerloop 和 innerloop 只是循环的任意选择名称。
outerloop:
for each <table>:
innerloop:
for each <table1>:
find <table2> where <table2>.<code> = <table1>.<code> no-lock no-error.
if not avail <table2>
then next innerloop .
end.
end.