J'ai un dictionnaire de données de formulaire que je veux modifier à l'aide d'une fonction.
Wrong number of arguments or invalid property assignment
3 Réponses :
Oui, vous devez utiliser la commande définie: p>
SET QUERYCLEANFORMEF = MYDICTFORM P>
Essayez ceci: avec des objets que vous devez utiliser défini pour dire à VBScript qu'il s'agit d'une référence d'objet que vous attribuez à la valeur de valeur. P> P>
Vous pouvez également utiliser les valeurs BYREF ou BYVAL dans la fonction. BYVAL, l'objet que vous avez envoyé à une fonction ou sous forme est copié dans une mémoire privée à utiliser à l'intérieur de la fonction et jeté après la fin de la fonction. BYREF, l'objet que vous avez envoyé à une fonction est référencé à et toutes les manipulations que vous apportez, supprime les touches, réglage de l'objet, etc., est directement effectuée à l'objet que vous avez envoyé.
EG P>
Sub test
DIM testDict as variant
call setdict(testDict)
testDict.Add "test", "value"
call addValue(testDict, "test2","another value")
msgbox testDict.Count
Set testDict = Nothing
End Sub
Sub setdict(ByRef in_Dict as Variant)
If Typename(in_Dict) <> "Dictionary" Then
SET in_Dict = CreateObject("Scripting.Dictionary")
end if
end sub
sub addValue(ByRef in_Obj as Variant, ByVal in_Key as String, ByVal in_Value as String)
if not in_Obj.Exists(in_Key) then
in_Obj.Add in_Key, in_Value
end if
end sub
Cette question est étroitement similaire à Stackoverflow.com/questions/4038021 / ... a demandé 5 minutes avant la vôtre.
Wow! (Condition de caractère minimum requise)