在INFORMIX 4GL?、ISQL with ESQL/C?、PROGRESS-4GL?、ORACLE?等?
我有一个CRUD表单,它在同一个屏幕上显示了一个customermaster,并在记录阵列中记录了所有相关的交易:
[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
[...];所需功能:
当我查询并定位正确的customermaster时,我希望自动显示属于该客户的所有交易详细信息。如果有超过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 = default current和光标停在动作标签'a‘上,以便职员输入所需的动作。我还希望能够执行以前的行动行之间的计算。我在ISQL perform中巧妙地模仿了这一点,但没有记录数组浏览功能。(请参阅视频-演示2分钟。标记地址: www.frankcomputer.com
我愿意用另一个非INFORMIX开发工具重写这个期望的功能,如果它具有这些功能并且不复杂或不需要很长时间来实现,但逻辑上的选择是用I4GL重写,但是我听说处理记录数组很麻烦。有什么更好的建议吗?
发布于 2010-07-07 06:52:32
Informix 4GL可以做到这一点;即使有ESQL/C的帮助,Informix SQL也不能明智地做到这一点。我不知道Progress或Oracle,但他们很可能会做类似的事情。
在I4GL中,您可以调出主记录信息,然后使用常规的DISPLAY语句(而不是DISPLAY数组)在detail部分的屏幕行中显示详细信息。当用户想要选择要更新的行时,您将进入显示数组或(可能)输入数组语句。
https://stackoverflow.com/questions/3189940
复制相似问题