2016-03-29 21 views
1

vbaオペレータ!.の正確な違いは何ですか?"!"の違いと "。"オペレータ

あなたがaccidentially代わりNot optSomething!optSomething(一部optionbuttion)を書くAswellを、私は多くの場合、彼らは、交換可能に使用できることに気づいたが、時には1が動作し、1が(アクセスなどのフォーム・コレクション)しません!が使用されているので、with句では、コンパイル時でも実行時にブレークしません。私の会社はOn Error Resume Nextの後にいくつかの壊れたvbaを持っていました。

答えて

1

!文字は、そのオブジェクトのデフォルトのメンバーを目に見えないように呼び出します。レコード、デフォルトのメンバーのために

は、フィールドの方法であり、フィールドオブジェクトのデフォルトのメンバーは、Valueプロパティであるので、これらの線が同一である:

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

だから、あなたが表示されます理由一部のオブジェクトではなく他のオブジェクトでは機能しますが、これらのオブジェクトにはデフォルトのメンバーがないためです。

+0

よろしくお願い致します。それはそれをクリアする。 – Mafii