2010-04-15 4 views
0

J'ai une vue de lotus qui stocke un nombre. Je dois faire quelques calculs sur la valeur, mais j'ai beaucoup de problèmes pour faire correspondre les types.Colonne de vue Lotus comparer à la chaîne/entier

doc.numOfGold = numGold 

et CInt(doc.numOfGold) = numGold

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

et doc.numOfGold = CInt(numGold)

tout décalage de type de retour. J'ai essayé de changer les propriétés des colonnes pour les traiter comme des décimales, sans plus de chance.

Des pensées?

Merci!

Répondre

1

N'accédez jamais à un champ comme celui-ci: "doc.fieldname". User doc.GetItemValue ("fieldname") (0), cela retourne le type correct.

Si doc.numOfGold est un NumberField et numGold est un entier, il devrait fonctionner comme ceci:

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

si doc.numOfGold est un champ de texte, vous devez faire une conversion, par exemple val(doc.GetItemValue("numOfGold")(0))

Vérifiez également que la valeur de votre champ n'est pas une chaîne vide, par ex. utiliser une formule de validation de champ.

+0

+5 si je pouvais. Merci. Je ne savais pas à propos de la déclaration de val. –

+0

Merci, tant que ça aide ;-) –

0

N'accédez jamais à un champ comme celui-ci: "doc.fieldname".

peu sévère, l'accès à une valeur de champ de document est acceptable perfectably:

x = doc.FieldName (0)

Doc.FieldName = scalarValue

ou même

Doc .FieldName = ArrayOfValues ​​

Pour être sûr du succès, vous voudrez peut-être voir 'Doc .HasItem ("FieldName") 'first (true pour getFirstItem aussi).

NB: GetFirstItem est la voie directe pour obtenir la valeur du champ, pour une performance maximale.

x = doc.getFirstItem ("FieldName") Valeurs (0)

Comme ce Evite « propriétés par défaut '.

En outre, le « supposé défaut » « doc.FieldName (0) » peut être « négligée » par rapport erreur/vérification de la syntaxe

Questions connexes