2012-05-07 4 views
4

私はAccessデータベースを使って作業しており、そのフォームとその背後にVBAがあります。私がVBAで手伝ってからかなりの間、私のgoogle-fuは今私を傷つけているので、私に負担をかけています。うまくコンパイル不動産の使用が無効ですか?

Dim oRecordSet As ADODB.RecordSet 
Public Property Get RecordSet() As ADODB.RecordSet 
    RecordSet = oRecordSet '' error here 
End Property 

Public Property Let RecordSet(ByVal val As ADODB.RecordSet) 
    RecordSet = val 
End Property 

私は(明らかに、別の名前/変数)カップル他の同一の性質を有する;:

私は単純なクラスを作成し、私はコンパイルエラーを取得していますそのタイプはStringIntegerです。

私には何が欠けていますか?ありがとう!

また、私はインテリセンスコーディング時にADODB.Recordsetを表示しますが、自動フォーマット(改行、コンパイルなど)ではADODB.RecordSetに変更されます。私は心配する必要がありますか?

+0

オブジェクトは、* *を設定し使用して設定されています。すべての値の型は=だけでOKです。だから、Edminはエラーの原因について正しいです。 –

答えて

7

それは次のようになります。

Public Property Get RecordSet() As ADODB.RecordSet 
    Set RecordSet = oRecordSet '' error here 
End Property 
+1

説明のための資料を読む:http://stackoverflow.com/questions/349613/what-does-the-keyword-set-actually-do-in-vba –

+0

Ok cool。だからなぜ文字列/整数プロパティは 'Set'とRecordSetを必要としないのですか? – Anders

+0

文字列と整数はVB6ではプリミティブ(値渡し)と見なされるため、Setキーワードは必要ありません。 –

関連する問題