PDA

View Full Version : 用'公式 ' 来引用 其他表单(非当前视图文档) 的值 ,如何 引用 ???急 谢谢


taozhiyao1216
17-02-06, 11:47 AM
设计表单 有两个 A 和 B

A 中有 域 aaa ( 名称: aaa 类型 : 读者)
B 中有 域 bbb ( 名称: bbb 类型 : 读者)


我在B 中 有 对 域 bbb 的设置 比如 "张三"

我想让 A 中的域 aaa 直接引用 B中的域值 "张三"

这个如何实现 ,谢谢 了 , 各位大虾!!

长颈叔叔
18-02-06, 11:10 PM
好像有一个getfieldvalue的函数

wbl1984
20-02-06, 08:14 AM
在公式中直接写域名bbb就可以了吧

空空空
20-02-06, 07:22 PM
其实一个很常用的应用就是 数据字典 ,比如:
现在一个表单A的域aaa(对话框或组合框等)里要数据选项,而这些数据选项不是直接写在域里(因为要修改数据的时候要修改设计,这是不符合程序设计要点),这时这些数据选项是配在数据字典里的,而数据字典的录入就是一个表单B,还需要一个显示数据的视图(显示数据选项,多值域在视图上显示一值一行,数据中可以使用别名),在表单A域(或计算域,数据字典常用在对话框组合框里)默认值使用公式:

Result:= @DbLookup("":"Nocache";"";"(试图名)";"(数据字典名称)";"(值)");
@If(@IsError(Result);"";Result)

不懂的查看公式 @DbLookup 帮助吧!


熟悉数据字典的人对这方面比较了解吧,俺说的也不是很透彻,如有不懂再提问吧!!

长颈叔叔
20-02-06, 11:32 PM
原帖由 空空空 于 2006-2-20 07:22 PM 发表
其实一个很常用的应用就是 数据字典 ,比如:
现在一个表单A的域aaa(对话框或组合框等)里要数据选项,而这些数据选项不是直接写在域里(因为要修改数据的时候要修改设计,这是不符合程序设计要点),这时这些数 ...

我现在习惯用SAP的词汇,MAST DATA(主数据)来称呼这一功能。

俺虽然不是写程序的,只是自已定些小表单,但越来后面,越觉得这个功能重要,如果每次增加选项,都要修改设计,确实很费力,用这个功能可以节省很多时间,特别是这些主数据在很多表单中被调用时,更明显。

月影无限
21-02-06, 12:03 AM
空空空的意思是
先建一个表单A,假设表单有一域AA,
建一个只选择表单A的视图AAA,大家该都会吧,然后根据表单A创建文档,假设我建三个文档,AA的域值分为为:
"东方”、“西方”、“南方”,那么在视图中我们将看到:
-------------------------
方向
--------------------------
东方
西方
南方

然后我们再创建一个表单,表单中有一域BB ,BB为对话框或组合框,其的选择公式写上:
@DbLookup("":"Nocache";"";"AAA";"AA";1)
注:1表示为第一列的值。
那么视图中的值可作为下拉框中选择的值。
这样的好处是便于对下拉框的选项进行维护(一个不懂编程的人都可以轻松搞定~)

再送礼包:用@Pickup也可以达到相似的效果。

恋猪明
21-02-06, 02:53 PM
@DbColumn("": "NoCache"; "": ""; "view_sys_config"; 1)
在一个域的“值”对象中使用公式调用 view_sys_config视图中的的一列

恋猪明
21-02-06, 02:53 PM
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument

Set db = s.CurrentDatabase
Set view = db.GetView("view_sys_config")
Set doc = view.GetFirstDocument

tmp = doc.library_name(0)

也是通过试图实现。。。。。。。。。。。。。

taozhiyao1216
21-02-06, 06:08 PM
这个问题 ,嗯, 谢谢大家了

我也有一种很好的办法 , 简明表 (profile form) 也可以哦
不知道算不算好, 还没有深究....

月影无限
21-02-06, 06:34 PM
简要表也算是,但要表A或B是不是简要表哦~

空空空
21-02-06, 08:32 PM
所以说这个在设计中使用还是比较广泛的,初学者应该要仔细研究一下!!

dream
22-07-06, 01:16 PM
但是视图中好象不能选择RTF域,是不是RTF域不能在视图中显示。

空空空
22-07-06, 10:29 PM
RTF里的存文本还是可以在视图里显示的,要用 @abstract处理一下的!

she106080
19-11-08, 11:11 AM
我想請教一下哦:
今天我在同一個資料庫里做了兩個套表A和B;其中套表A中有兩個可編輯的欄位AA和BB;有一個只選擇套表Ade

she106080
19-11-08, 11:22 AM
我想請教一下哦:
今天我在同一個資料庫里做了兩個套表A和B;其中套表A中有兩個可編輯的欄位AA和BB;有一個只選擇套表A的視界C,視界C中有兩個直欄a和b;a來自AA;b來自BB;在套表B也建有欄位AA和BB,其中AA是可編輯的,BB是根據欄位AA中輸入的值用@dblookup來計算的,BB中的公式是@dblookup("":"";"";"C";AA;"b");打開套表B的時候老是提示:欄位:"BB"索引中找不到項目,我想問的是問題出在哪里?謝謝

空空空
19-11-08, 05:48 PM
看看视图第一列有没有排序,@dblookup是需要第一列排序的

she106080
20-11-08, 09:26 AM
第一列是按升幕排列的,用@dblookup就是不行的,但是用@PickList和@dbcolumn 可以提取
郁悶啊,查了很多資料也不知道問題出在哪里,以前做的資料庫是可以提取的,現在照著以前的做也不行啊

yfyang
20-11-08, 11:07 AM
“BB中的公式是@dblookup("":"";"";"C";AA;"b")”公式写错了,应该为@dblookup("":"";"":"";"C";AA;"b")

she106080
20-11-08, 11:33 AM
確定公式沒有寫錯的
我做的套表test中只有兩個編輯欄位姓名(name)和說明(exp);根據test建立了一個視界cf
其中視界的第一列為姓名按升幕排序;第二列為說明.
另建以個套表test1;有一個編輯欄位姓名(lh);一個計算欄位說明(pm)
其中的公式為@DbLookup("NOTES" : "NOCACHE"; "LL-NOTES":"MisTest\\fixup.nsf";"cf";lh; "exp")
預覽的時候就出現:欄位:"pm"索引中找不到項目

she106080
20-11-08, 02:27 PM
問題已經解決了
公式該為@if (lh!="";@DbLookup("NOTES" : "NOCACHE"; "LL-NOTES":"MisTest\\fixup.nsf";"cf";lh; "exp");"")就能計算出來;
但是我用以前的做好的視界來試用的時候不加限制就能行的,不知道為什么回這樣