2016-08-20 14 views
1

メモフィールド(adLongVarWChar)を含むADOで切断されたレコードセットを作成しようとしています。 何らかの理由で、adVarWCharに変換されて戻ってきます。 私は何が間違っていますか?切断されたADOレコードセットの作成中にエラーが発生しました

Private Sub Form_Load() 
Dim rs As New Recordset 

    rs.Fields.Append "test", adLongVarWChar, 512, adFldIsNullable Or adFldLong Or adFldMayBeNull Or adFldMayDefer Or adFldUnknownUpdatable 
    Debug.Print rs.Fields(0).Type & " <- This should be 203 (adLongVarWChar) but it returns 202 (adVarWChar)" 

    Unload Me 
End Sub 
+0

てみ '-1'代わりにサイズのための' 512'のを。 – wqw

+0

Nop、同じ結果。 – AndyDF

答えて

1

結局のところ、何らかの理由で、あなたが最初のレコードを追加する必要があり、その後、データ型が正しく返されます。

Private Sub Form_Load() 
Dim rs As New Recordset 

    rs.Fields.Append "test", adLongVarWChar, &H7FFFFFFF, adFldIsNullable Or adFldLong Or adFldMayBeNull Or adFldMayDefer Or adFldUnknownUpdatable 
    Debug.Print rs.Fields(0).Type & " <- This should be 203 (adLongVarWChar) but it returns 202 (adVarWChar)" 
    rs.Open 
    rs.AddNew 
    rs.Update 
    Debug.Print rs.Fields(0).Type & " <- This is now 203 (adLongVarWChar)" 

    Unload Me 
End Sub 
関連する問題