1

使用 INFORMIX 4GL?、ISQL 和 ESQL/C?、PROGRESS-4GL?、ORACLE 寻找以下表单功能?ETC?

我有一个 CRUD 表单,它在同一屏幕上的记录数组 [detail] 中显示客户 [master] 及其所有关联交易:

[id   ]
[fullname                     ]
[address1                     ]
[address2                     ]
[city                |st|zip  ]  
 ================================================================
[trxnum][itemdesc                            ]
[trxnum][itemdesc                            ]
[trxnum][itemdesc                            ]
[trxnum][itemdesc                            ]
[trxnum][itemdesc                            ]
[trxnum][itemdesc                            ]


attributes
id = customer.pk_id = transaction.fk_id;
trxnum = transaction.trx_num = actions.trx_num;
[...];

instructions
customer master of transaction
transaction master of action
[...];

所需功能:

当我查询并找到正确的客户 [master] 时,我希望自动显示属于该客户的所有交易 [detail]。如果有超过 6 个详细信息行,我希望能够滚动浏览所有详细信息行 [在滚动区域中],直到找到适当的事务。然后我想通过按 Enter 或“U”进行更新来更新该事务,并在更新模式下弹出以下操作屏幕:

[id   ]
[fullname                     ]
[address1                     ]
[address2                     ]
[city                |st|zip  ]  
 ================================================================
[trxnum][itemdesc                                  ]

 TRANS-DATE TRX-TIME ACTION PRINCIPAL  AMOUNT  BALANCE CLERK
[tdate     ][ttime ]  [a]  [princ    ][amt   ][bal    ][cl]
[tdate     ][ttime ]  [a]  [princ    ][amt   ][bal    ][cl]
[tdate     ][ttime ]  [a]  [princ    ][amt   ][bal    ][cl]
[tdate     ][ttime ]  [a]  [princ    ][amt   ][bal    ][cl]
[tdate     ][ttime ]  [a]  [princ    ][amt   ][bal    ][cl]
[tdate     ][ttime ]  [a]  [princ    ][amt   ][bal    ][cl]

同样,这是与特定事务相关的先前操作 [行] 的滚动区域。我希望光标自动将自己定位在下一个可用的打开位置,让 tdate 和 ttime = 默认当前和光标停止在操作标签“a”上,以便职员输入所需的操作。我还希望能够在以前的操作 [行] 之间执行计算。我在 ISQL 执行中巧妙地模仿了这一点,但没有记录数组浏览功能。(参见视频演示 [2 分钟标记],网址:www.frankcomputer.com

如果它具有这些功能并且不复杂或需要很长时间来实现,我愿意用另一个非 INFORMIX 开发工具重写这个所需的功能,但合乎逻辑的选择是用 I4GL 重写,但是我听说它很麻烦处理记录数组。有更好的建议吗?

4

1 回答 1

1

Informix 4GL 可以做到;Informix SQL,即使有 ESQL/C 帮助,也不能明智地做到这一点。我不知道 Progress 或 Oracle,但他们可能会做类似的事情。

在 I4GL 中,您将提取主记录信息,然后使用常规 DISPLAY 语句(不是 DISPLAY ARRAY),您将在详细信息部分的屏幕行中显示详细信息。当用户想要选择要更新的行时,您将进入 DISPLAY ARRAY 或(可能)进入 INPUT ARRAY 语句。

于 2010-07-06T22:52:31.873 回答