2014-06-11 1 views

Répondre

1

vous devez indiquer explicitement la condition pour chaque OR. Veuillez voir ci-dessous

If filter_purchase = 0 Or filter_purchase = "" Then 
    SetDocVar "filter_purchase", "0" 
Else 
    SetDocVar "filter_purchase", CStr(filter_purchase) 
End If 
0

Cela devrait être la condition que vous souhaitez

If ((filter_purchase = 0) Or (filter_purchase = "")) Then 

@agamike, je crois un seul = est utilisé pour la comparaison dans un vbs sinon et non == link here

0

Si vous êtes juste essayer Pour tester une variable non initialisée, votre expression If est en fait redondante. Toutes les variables dans VBScript sont des variantes et toutes les variantes commencent avec une valeur par défaut de 0/False/"". Par exemple:

Dim v 
If v = "" Then MsgBox "Empty string" 
If v = 0  Then MsgBox "Zero" 
If v = False Then MsgBox "False" 

Ces trois tests vont réussir. Notez comment vous pouvez comparer une seule variable par rapport aux littéraux chaîne, numérique et booléen. Les variables non initialisées n'ont pas encore de type, ce type de comparaison est donc parfait.

Cependant, une fois que vous affecter une valeur à la variable, vous devez tenir compte de son type lors des comparaisons. Par exemple:

Dim v 
v = "" 
If v = "" Then MsgBox "Empty String" ' Pass. "" = "". 
If v = 0  Then MsgBox "Zero"   ' Fail! Illegal comparison. 
If v = False Then MsgBox "False"   ' Fail! "" <> False. 

Maintenant que la variante a été définie comme la tenue d'une chaîne, il devra être comparée à d'autres types de chaîne (littéraux ou variables) ou des valeurs qui peuvent être exprimées (implicitement ou explicitement) à un string.

Questions connexes