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