0

数字を格納するロータスビューがあります。値に対していくつかの計算を実行する必要がありますが、型を一致させるのに多くの問題があります。

doc.numOfGold = numGold 

CInt(doc.numOfGold) = numGold

CInt(doc.numOfGold) = CInt(numGold)

doc.numOfGold = CInt(numGold)

すべての戻り型の不一致。列のプロパティを変更して小数として処理しようとしましたが、うまくいきませんでした。

何かご意見は?

ありがとう!

4

2 に答える 2

1

「doc.fieldname」のようなフィールドには絶対にアクセスしないでください。ユーザーdoc.GetItemValue( "fieldname")(0)、これは正しいタイプを返します。

doc.numOfGoldが数値フィールドであり、numGoldがintである場合、次のように機能するはずです。

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

doc.numOfGoldがテキストフィールドの場合、変換を行う必要があります。例:val(doc.GetItemValue("numOfGold")(0))

また、フィールド値が空の文字列ではないことを確認します。たとえば、フィールド検証式を使用します。

于 2010-04-16T12:52:46.120 に答える
0

「doc.fieldname」のようなフィールドには絶対にアクセスしないでください。

少し厳しいですが、ドキュメントフィールドの値にアクセスすることは完全に許容されます。

x = doc.FieldName(0)

Doc.FieldName = ScalarValue

あるいは

Doc.FieldName = ArrayOfValues

成功を確実にするために、最初に'Doc.HasItem( "FieldName")'かどうかを確認することをお勧めします(getFirstItemにも当てはまります)。

注意:GetFirstItemは、最大のパフォーマンスを得るために、フィールド値を取得する直接的な方法です。

x = doc.getFirstItem( "FieldName")。Values(0)

これにより、「デフォルトのプロパティ」が回避されます。

また、「想定されるデフォルト」「doc.FieldName(0)」は、エラー報告/構文チェックによって「見落とされる」可能性があります

于 2010-08-17T16:09:27.070 に答える