ms access 中的大数字数据类型,我无法更新

问题描述 投票:0回答:1

这是我的测试代码。

Private Sub test()
Dim rs As New ADODB.Recordset
Dim size As LongLong

        rs.Open "Select * From LocalFiles ", _
                CurrentProject.AccessConnection, adOpenKeyset, adLockOptimistic
                
         rs.AddNew
         size = 12345678912345#
         rs("FileSize") = size
         rs.Update  <-- show  error Multiple-step OLE DB operation generated errors
         rs.Close

End Sub

它在 rs.Update 行中显示错误 “多步 OLE DB 操作生成错误”

在我的数据库中,字段 FileSize 是大数数据类型。 我已经启用了它。并且它有新的数据库(大量)

我在VBA中定义了LongLong类型来存储这些数据。 但是当更新这个字段时,它显示上面的错误。

我google了一下,似乎可能是因为OLE DB驱动器不支持这种数据类型。

我不确定。

如何更新数据。请推荐我。

谢谢

我尝试不为 rs("FileSize") 赋值并且它有效,因此它仅与此行相关。

我尝试用谷歌来解决问题,但没有找到任何问题。

ms-access ms-access-2016
1个回答
0
投票

最后我找到了2个解决方案。

  1. 使用提供商 OLEDB 12 或 OLEDB 16 注意:我发现 CurrentProject.AccessConnection 使用 OLEDB 10 Provider

    私有子测试1() 调暗 rs 作为新的 ADODB.Recordset Dim 尺寸 As LongLong Dim cn As ADODB.Connection

     Set cn = New ADODB.Connection
     cn.Open "Provider=Microsoft.ACE.OLEDB.16.0;Data Source=d:\data\Make Money\Rapidgator\Rapidgator.accdb;Persist Security Info=False;"
     rs.Open "Select * From LocalFiles ", _
             cn, adOpenKeyset, adLockOptimistic
      rs.AddNew
    
      size = 12345678912345#
     rs("FileSize") = size
     rs.Update
     rs.Close
     cn.Close
    

结束子

  1. 使用ADODB

私有子测试2() Dim 尺寸 As LongLong 首先昏暗为 DAO.Recordset

     Set rst = CurrentDb.OpenRecordset("Select * From LocalFiles ", dbOpenDynaset)
     size = 12345678912345#
     rst.AddNew
     rst("Size1") = size
     rst.Update
     rst.Close

结束子

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.