2016-05-31 6 views
0

アクセス権2010のテーブル「契約」がSharePointにリンクされています。この表には、タイプテキストからの多くのフィールドがあります。私は私のVBAコードで「全契約」クエリをunsingこのフィールドを使用したいと思いますが、text型からこれらのデータは、文字列として認識することができませんでした、私はランタイムエラーを取得する」13:テキストフィールドがAcces VBAの文字列として認識されない

Function funktion() 
Dim db As DAO.Database 
Dim rs As DAO.Recordset 'All-Contracts 
Set db = CurrentDb 
Dim s as String 
Dim CsrArray() As String 

Set rs = db.OpenRecordset("All-Contracts") 

'Region is a field from type Text in The table "Contracts" 

s = rs!Region 'runtime error "13: types incompatible 

CsrArray = Split(s) 

For i = 0 To UBound(CsrArr) - 1 
.... 

問題のだろうか?あなたは

+0

- 文字を含まないレコードセットでテストできますか? –

+0

あなたはタイプテキストではない他のフィールドを意味しますか? – otis

+0

私は、 - 文字を含まない別のフィールドを意味します。 "All-Contracts"にはそれが含まれているので、この文字が問題かどうかをテストすることをお勧めします。 –

答えて

0

コメントに基づいて、私はそれがNULL可能であるため、RegionString?であるという結論に達したありがとうございます。これは、sに割り当てることができるようにするために使用してStringCTypeに変換する必要があります。また、ヌルではないという事実が唯一の幸運な偶然であるケースもあるかもしれないので、ヌルであるケースも同様に扱われるべきだと私は信じている。

問題は、opがRegion.Valueの代わりにRegionを参照していたことでした。

+0

私は以下のように試しました:s = CStr(rs!Region)---->エラー13 – otis

+0

エラーメッセージは何ですか?質問を編集して正確なエラーを貼り付けることはできますか? –

+0

'ランタイムエラー' 13:型が互換性がありません – otis

関連する問題