从临时表中删除一行

时间:2012-10-04 11:24:07

标签: temp-tables progress-4gl openedge

我有两个网格,在按钮上单击项目从网格1移动到网格2.另一个按钮从网格2中删除选定的项目。

使用以下方法从屏幕上删除该行:

THIS-OBJECT:ultraGrid2:ActiveRow:Delete().

然而,这个被保存并重新出现这一行仍然出现,因为它没有从临时表中删除。 temp-table称为selectedFormula。我试过了:

DELETE FROM selectedFormula WHERE ultraGrid2 = ultraGrid2:ActiveRow.

然而,我收到错误消息“无法理解”ultraGrid2 = ultraGrid2“。”。有没有人有任何想法如何使用ABL从进度表中删除项目?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

您需要从UltraGrid2中的活动行获取唯一键。使用该键,您可以在临时表中找到记录,然后将其删除。

FIND selectedFormula 
    WHERE selectedFormula.[key field] = [key from UltraGrid2]
    NO-ERROR.
IF AVAIL selectedFormula THEN
  DELETE selectedFormula.

注意:密钥可以是多个字段,取决于您的表临时表定义和数据。