Сравнение столбца Lotus View со строкой / целым числом - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть представление о лотосе, в котором хранится число. Мне нужно выполнить некоторые математические операции со значением, но у меня много проблем с подбором типов.

doc.numOfGold = numGold 

и CInt(doc.numOfGold) = numGold

и CInt(doc.numOfGold) = CInt(numGold)

и doc.numOfGold = CInt(numGold)

все несоответствия возвращаемого типа. Я попытался изменить свойства столбца, чтобы считать его десятичным, но не повезло.

Есть мысли?

Спасибо!

Ответы [ 2 ]

1 голос
/ 16 апреля 2010

Никогда не обращайтесь к полю, подобному этому: "doc.fieldname".Пользователь doc.GetItemValue ("fieldname") (0), возвращает правильный тип.

Если doc.numOfGold - это числовое поле, а numGold - целое, оно должно работать следующим образом:

Dim numOfGold as integer
numOfGold = doc.GetItemValue("numOfGold")(0)

если doc.numOfGold является текстовым полем, необходимо выполнить преобразование, например, val(doc.GetItemValue("numOfGold")(0))

Также убедитесь, что значение вашего поля не является пустой строкой, например, используйте формулу проверки поля.

0 голосов
/ 17 августа 2010

Никогда не открывайте поле, подобное этому: "Doc.fieldname".

Бит резкий, доступ к значению поля документа вполне приемлем:

x = doc.FieldName (0)

Doc.FieldName = ScalarValue

или даже

Doc.FieldName = ArrayOfValues ​​

Чтобы быть уверенным в успехе, вы, возможно, захотите сначала узнать «Doc.HasItem (« FieldName »)» (верно и для getFirstItem).

Примечание: GetFirstItem - это прямой способ получить значение поля для максимальной производительности:

x = doc.getFirstItem ("FieldName"). Значения (0)

Поскольку это позволяет избежать «свойств по умолчанию».

Кроме того, doc.FieldName (0) «предполагаемого по умолчанию» может быть «пропущено» при сообщении об ошибках / проверке синтаксиса

...