我将特定注释文档的值填充到数据类型为VARIANT的变量中。
原因:该值包括反斜杠,字母和数字。
稍后在我的代码中,我想使用此变量建立数据库连接。不幸的是,它总是失败并显示以下消息:
方法CoerceString中的类型不匹配:发现未知,期望未知
我的代码:
Dim varMailFile As Variant
Dim varMailServer As Variant
Dim maildb As New NotesDatabase( "", "" )
Dim cprofile As NotesDocument
vMailFile = doc.GetItemValue( "MailFile" )
vMailServer = doc.GetItemValue( "MailServer" )
Call maildb.Open(vMailServer, vMailFile)
我已经尝试将varMailFile和varMailServer定义为String,但是stilld无法正常工作。 由于错误消息没有告诉您发现的内容和期望的内容,因此也很难进行故障排除。
希望您能帮助我。谢谢。
答案 0 :(得分:4)
NotesDocument.GetItemValue始终返回一个变体,即使该项仅包含一个值。您需要EITHER为变量分配第一个值(索引默认为0,因为LotusScript默认是基于0的),或者仅在调用中使用第一个值:
第一种可能性:
varMailFile = doc.GetItemValue( "MailFile" )(0)
varMailServer = doc.GetItemValue( "MailServer" )(0)
...
Call maildb.Open(varMailServer, varMailFile)
第二种可能性
varMailFile = doc.GetItemValue( "MailFile" )
varMailServer = doc.GetItemValue( "MailServer" )
...
Call maildb.Open(varMailServer(0), varMailFile(0))