#lotus-notes #lotus-domino #lotusscript #lotus
#lotus-notes #lotus-domino #lotusscript #lotus
Вопрос:
Я ввожу значение определенного документа notes в переменную, которая имеет тип данных 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:
Документ NotesDocument.GetItemValue всегда возвращает вариант, даже если элемент содержит только одно значение. Вам нужно ЛИБО присвоить вашей переменной первое значение (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))