我在数据库上创建了一个Dlookup函数,用于在选择管理器区域时更改管理器的电子邮件地址。它工作正常,但现在控制源是Dlookup,它不会再将结果保存在个人表中。
我在http://p2p.wrox.com/access-vba/77907-how-save-results-dlookup-function.html上读了一个方法,有一个单独的隐藏框,显示表中的结果,但是我的麻烦现在是将Dlookup结果连接到另一个文本框。
我显然无法控制源代码的Dlookup结果,因此我尝试使用以下代码将其设置为更新前事件;
Option Compare Database
Private Sub ASMail_AfterUpdate()
ASMEmail.Value = ASMail.Value
End Sub
然而,这根本没有生效。每当我调整Dlookup结果时,文本框都不会改变,并且我在另一个无法正常工作的Change事件中尝试过相同的代码。
答案 0 :(得分:0)
您不需要单独的隐藏文本框。
将管理员电子邮件的文本框控制源链接到个人表字段,并在选择管理员区域时将文本框值更新为DLookup值。
我不知道如何选择管理器区域,但作为一个组合框示例,它将是这样的:
Private Sub Combo_AfterUpdate()
Me.ASMEmail.Value = Nz(DLookup("Value", "Domain", "Criteria"), vbNullString)
End Sub