在Progress中动态引用临时表列值

时间:2012-05-22 12:25:25

标签: progress-4gl

我正在使用Progress 4GL

我有一个包含多个名为data1 .... 50的列的数据电子表格。

我创建了一个包含所有值的临时表。

现在我想遍历临时表列并进行各种计算

所以我需要这样的东西:

for each record loop thru cols_in_temp_table .

   if col_value = "XYZ" then
     do calcs and stuff      

end.

那么如何引用temp_table cols?

2 个答案:

答案 0 :(得分:0)

根据您的版本,这是一种方法:

DEFINE VARIABLE h-cols  AS HANDLE   NO-UNDO.         

h-cols = tt-cols:BUFFER-HANDLE.                      

FOR EACH tt-cols                                     
   NO-LOCK:                                         

   IF h-cols::col-name = "some value" THEN       
       RUN do-something.                            

END.        

对于无法执行“::”运算符的版本,请执行以下操作:

FOR EACH tt-cols                                     
   NO-LOCK:                                         

   IF h-cols::buffer-field("col-name"):buffer-value = "some value" THEN       
       RUN do-something.                            

END.        

答案 1 :(得分:0)

好的,没有解析原始查询,但找到了解决方法。将数据拆分并放入单独的表中,长时间啰嗦,但这样做。