Проблема с типом данных при создании подключений к базе данных заметок - PullRequest
0 голосов
/ 27 марта 2019

Я заполняю значение определенного документа заметок в переменной, имеющей тип данных 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, но он все еще не работает.Это также затрудняет поиск и устранение неисправностей, потому что сообщение об ошибке не говорит вам, что он нашел и чего ожидает.

Надеюсь, вы мне поможете.Спасибо.

1 Ответ

4 голосов
/ 27 марта 2019

NotesDocument.GetItemValue всегда возвращает вариант, даже если элемент содержит только одно значение.Вам нужно EITHER присвоить первое значение (Index = 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))
...