2016-08-20 62 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