上周我询问了如何解决evaluate statement
(Evaluate statement 宏中的错误)中的错误。
一旦修复它,我在相同的评估语句中出现其他错误,它没有给我任何价值。
我将描述我所拥有的和我尝试的。
计算文本中的 @DbLookup
我将此代码放入计算文本中,它工作正常。
suc := @Trim(@Left(LlcPoliza;2));
_lkp := _lkp := @DbLookup("":"NoCache";"C1256EAD:00478951";"People2"; "D"+suc; "FullName");
@If( @IsError( _lkp ) ; " " ; _lkp );
@Name([CN];_lkp)
LlcPoliza
是一个文档字段 (doc.LlcPoliza
),在文档中它具有例如值C2H2H2。该公式首先给出值C2,然后查找
People2
谁是D+C2并给我一个人。它工作正常。
评估类中的语句 (@DbLookup)
我有一个类DirectorSucursal。
Class DirectorSucursal
Private m_branch As String
'Constructor class
Public Sub New (branch)
Dim subString As String
subString = Left(branch, 2)
me.m_branch = subString
End Sub
'Deleter Class
Public Sub Delete
End Sub
'Sub show the code about Suc
Public Sub GetCodSuc
MsgBox m_branch
End Sub
'Function get the name director
Public Function getNameDirector As String
Dim varResult As Variant
varResult = Evaluate({@DbLookup("":"NoCache";"C1256EAD:00478951";"People2"; "D} & m_branch & {"; "FullName)"})
getNameDirector = CStr( varResult(0) )
End Function
End Class
然后,在一个按钮中,我使用字段 doc.LlcPoliza(0) 的参数实例化新对象 DirectorSucursal,如下所示。
Sub Click(Source As Button)
Dim director As New DirectorSucursal(doc.LlcPoliza(0))
director.GetCodSuc
director.getNameDirector
end Sub
该字段
doc.LlcPoliza(0)
的值为C2H2H2。GetCodSuc
显示值C2,但该功能getNameDirector
不起作用。它显示错误: 操作失败
单击按钮中的评估语句 (@DbLookup)
我已经尝试过相同的方法,但进入了点击子。
Sub Click(Source As Button)
Dim subString As String
subString = Left(doc.LlcPoliza(0), 2)
Dim eval As String
eval = Evaluate({@DbLookup("":"NoCache";"C1256EAD:00478951";"People2"; "D} & subString & {"; "FullName)"})
Msgbox eval
End Sub
该字段
doc.LlcPoliza(0)
的值为C2H2H2。但它不起作用它显示错误: 操作失败
我的问题是:我做错了什么?为什么代码在使用 @Formula 的计算文本中运行良好,但在使用 Lotusscript 时却不行?
谢谢。
编辑1:
我添加了错误转到,修改了类代码,修改了计算文本中的@dblookup,我有这个错误:
EVALUATE 宏中的错误