建立笔记数据库连接时的数据类型问题

Data Type issue while building notes database connections

我将特定注释文档的值填充到数据类型为 VARIANT 的变量中。

原因:该值包括反斜杠、字母和数字。

稍后在我的代码中,我想用这个变量建立一个数据库连接。不幸的是,它总是失败并显示以下消息:

Type mismatch in method CoerceString: Unkown found, Unkown expected

我的代码:

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 定义为字符串,但它仍然不起作用。 它也很难排除故障,因为错误消息没有告诉您它发现了什么以及它期望什么。

希望你能帮助我。谢谢

NotesDocument.GetItemValue 总是 returns 一个变体,即使该项目只包含一个值。您需要将第一个值(索引 = 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))