/ / Différence entre l'opérateur "!" Et "." - vba, opérateurs

Différence entre “!” Et “.” Opérateur - vba, opérateurs

Quelle est la différence exacte entre les opérateurs vba ! et . ?

J'ai remarqué que souvent ils peuvent être utilisés interchangeables, mais parfois on fonctionne et on ne fonctionne pas (Forms-Collection dans Access par exemple)

De plus, lorsque vous écrivez accidentellement !optSomething (une optionbuttion) au lieu de Not optSomething avec un with , elle ne sera pas interrompue lors de la compilation mais lors de l'exécution, car ! est utilisé - mon entreprise a eu une vba cassée après On Error Resume Next avec cela, et je ne l'ai réalisé que lorsque le "freinage à chaque erreur" est activé.

Réponses:

1 pour la réponse № 1

le ! Le caractère appelle de manière invisible le membre par défaut de cet objet.

Pour un jeu d'enregistrements, le membre par défaut est la méthode Fields et le membre par défaut d'un objet de champ est la propriété Value, de sorte que ces lignes sont identiques:

sEmp = rst.Fields("emp_id")
sEmp = rst.Fields("emp_id").Value
sEmp = rst!emp_id

Ainsi, la raison pour laquelle vous le verrez fonctionner pour certains objets et pas pour d'autres, est probablement parce que ces objets n'ont pas le membre par défaut que vous attendez.