根据Peoplebook here , CreateRowset 函数有参数{FIELD.fieldname, RECORD.recname} 用来指定相关的显示记录。
我曾尝试像下面这样使用它(仅作为示例):
&rs1 = CreateRowset(Record.User, Field.UserId, Record.UserName);
&rs1.Fill();
For &k = 1 To &rs1.ActiveRowCount
MessageBox(0, "", 999999, 99999, &rs1(&k).UserName.Name.Value);
End-for;
(Record.User只包含UserId(key), Password.
Record.UserName 包含 UserId(key), Name.)
获取不到UserName.Name的值,是不是我理解错了这个参数的用法?
最佳答案
填充是个问题。来自doco :
Note: Fill reads only the primary database record. It does not read any related records, nor any subordinate rowset records.
话虽如此,这是我所知道的从数据库批量填充独立行集的唯一方法,因此我无法轻易地看到行集中字段的用途。
最简单的解决方案就是创建一个 View ,但如果您必须经常这样做,那么它很快就会过时。另一种方法是自己循环遍历行集来加载相关字段。像这样的东西:
For &k = 1 To &rs1.ActiveRowCount
&rs1(&k).UserName.UserId.value = &rs1(&k).User.UserId.value;
&rs1(&k).UserName.SelectByKey();
End-for;
关于record - Peoplesoft CreateRowset 相关显示记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475691/