我有一个存储在打印机关键字部分的打印机列表,其中包含用于每种颜色的墨水序列等字段。我想这样做,当我创建一个新的用户表单并说他们有“X”打印机时,它会抓取该关键字表单并拉出它使用的所有墨水类型并将其保存在用户表单上。
@GetDocField是我知道必须使用的方法,但我不知道如何根据我在用户使用的打印机上做出的选择来获取从表单列表中保存的正确表单。
答案 0 :(得分:1)
使用@DbLookup从打印机文档中获取数据。
FIELD ink1 := @DbLookup(""; ""; "viewPrinters"; "XPrinter"; "ink1"; [FAILSILENT]);
上面一行读取" ink1"在打印机" XPrinter"视图中的文档" viewPrinters"在当前数据库中并将其写入项目" ink1"在当前文件中。您可以通过这种方式复制每个字段。视图" viewPrinters"必须有一个带有打印机名称的第一个排序列。
定义要在特殊字符分隔的列中抓取的所有字段并使用
一次性获取所有字段可能更有效FIELD allFields:= @DbLookup(""; ""; "viewPrinters"; "XPrinter"; 2; [FAILSILENT]);
如果您阅读打印机文档的文档ID,也可以使用@GetDocField:
_docId := @Text(@DbLookup(""; ""; "viewPrinters"; "XPrinter"; "";
[RETURNDOCUMENTUNIQUEID]));
@If(@IsError(_docId); @Return(""); "");
FIELD ink1 := @GetDocField(_docId: "ink1");
使用LotusScript可能更有效率。但我从你的问题中假设你更喜欢公式解决方案。