/* sls-折扣I s数据库名称*/日安。关于特定浏览的值更改,我又遇到了另一个问题。
我的Add Button代码:
FIND CURRENT {&FIRST-TABLE-IN-QUERY-DIALOG-FRAME} NO-LOCK NO-ERROR.
IF AVAIL {&FIRST-TABLE-IN-QUERY-DIALOG-FRAME} THEN DO:
ASSIGN mode = 3.
ASSIGN BROWSE BROWSE-13:READ-ONLY = NO
sls-discount.dsc-amount:READ-ONLY IN BROWSE BROWSE-13 = NO
sls-discount.dsc-discount:READ-ONLY IN BROWSE BROWSE-13 = NO
sls-discount.log:READ-ONLY IN BROWSE BROWSE-13 = NO.
{&OPEN-QUERY-BROWSE-13}
IF BROWSE-13:num-iterations ne 0 then
BROWSE BROWSE-13:SELECT-FOCUSED-ROW().
BROWSE BROWSE-13:INSERT-ROW("BEFORE"). /*will cause value-change in browse*/
APPLY 'entry' TO sls-discount.dsc-discount IN BROWSE BROWSE-13.
RUN disp-enable.
END.我的browse-13代码如下:
ASSIGN xpromo-no = {&FIRST-TABLE-IN-QUERY-BROWSE-13}.promo-no
mdlrid = {&FIRST-TABLE-IN-QUERY-BROWSE-13}.record-id.
MESSAGE xpromo-no mdlrid VIEW-AS ALERT-BOX INFO.
OPEN QUERY BROWSE-16 FOR EACH sls.sls-disccount-model WHERE sls.sls-disccount-model.promo-no = xpromo-no
AND sls.sls-disccount-model.record-id = mdlrid NO-LOCK,
EACH sls.sls-model WHERE sls.sls-model.car-model = sls.sls-disccount-model.car-model NO-LOCK.如果我在浏览中取消对整个值更改的注释,当单击add按钮时,它将显示消息"** No DBName record is available. (91)“。但如果注释/删除,它将不会显示该消息。
希望你能再次帮助我..谢谢
发布于 2015-11-19 11:52:44
毫无疑问,您已经遇到了臭名昭著的“部分字段自动完成”特性/ bug。这意味着-如果您引用一个没有本地定义的变量,Progress编译器将在所有可用的表中搜索以相同字母序列开头的字段,并使用该字段。
这个错误告诉您,编译器将一个字段与" DBName“表中的某些内容关联起来,当代码试图访问该变量时,DBName缓冲区不在作用域内-这是可以理解的,因为访问它不是您的本意。
我的猜测是您错误地指定了一个浏览结构。看看你的第一组结构,你有两种不同的形式:
BROWSE BROWSE-13:READ-ONLY = NO
sls-discount.dsc-amount:READ-ONLY IN BROWSE BROWSE-13 = NO 我敢打赌其中一个是错误的,编译器正在将非法的“浏览”引用与DBName中以“浏览”开头的字段相关联。
如果将代码编译成XREF文件,它会告诉您它正在尝试将哪个变量与DBName表关联。纠正这一点,你就可以走了。
发布于 2015-11-23 09:59:56
我找出了代码中的问题所在。在单击Add按钮时,由于{&OPEN-QUERY-BROWSE-13}的原因,browse-13中的行被排列。在那之后,由于使用了BROWSE BROWSE-13:SELECT-FOCUSED-ROW(),它将重点放在浏览的顶部日期上,最后,BROWSE BROWSE-13:INSERT-ROW("BEFORE")在顶部创建了一个空白数据行。从而触发browse-13的值改变。在我的值--在browse-13上更改时,代码的开头是get current browse-13。由于它集中在空行上,因此导致了一个错误,没有找到查询。如果我在第一个示例中没有包含语法get current,很抱歉。
https://stackoverflow.com/questions/33794489
复制相似问题