首页 > 解决方案 > 数字字段溢出尝试将 Lotus123 Sheets 导入 MS Access

问题描述

我正在从事一个项目,该公司仍然拥有 Lotus Notes 中的所有内容,我们正在开始重新设计系统,以便它们不再在 Lotus 上运行。

现在,我只是想在 MS Access 数据库中导入 Lotus 表,但不断收到错误“Numeric Overflow”。有谁知道如何处理这个?

该表有 196 列和 846 行。目前,我已经在莲花表中命名了一个范围。但是,理想情况下,我们可以只命名我们要导入的范围:

"SELECT * INTO PRNTDATM FROM [a:a1..a:a8100]"

完整错误:

运行时错误 '-2147467259(800004005)' 数值字段溢出

Private Sub Command0_Click()
Dim CombLoop As Integer
Dim LotusCn As Object
Dim rsLotus As Object
Dim strSql, CombFileName, GotoRange As String

Set LotusCn = CreateObject("ADODB.Connection")
Set rsLotus = CreateObject("ADODB.Recordset")

LotusCn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= K:\GEVS04\NUMBDATM.WK3; Extended Properties=Lotus WK3;"


strSql = "Select * INTO PRNTDATM FROM phil"
rsLotus.Open strSql, LotusCn

LotusCn.Close
Set rsLotus = Nothing
Set LotusCn = Nothing

End Sub

自从这篇文章以来,我一直在研究它并进行了一些改进,我现在可以读取一些测试数据并将其导入表中。发现追加比导入整个新表效果更好,因此必须尝试该路线。这样做似乎解决了溢出问题,因为我现在已经有了表结构本身,因为只有大约 5 个表结构可以正常工作。

现在的代码是:

Dim CombLoop As Integer
  Dim LotusCn As Object
  Dim rsLotus As Object
  Dim strSql As String
  Dim rs As DAO.Recordset

    Set LotusCn = CreateObject("ADODB.Connection")
    Set rsLotus = CreateObject("ADODB.Recordset")

    LotusCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=C:\Users\germany5.PLIMSOLL\Desktop\TEST.WK4;" & _
    "Extended Properties=Lotus WK4;"

    strSql = "SELECT * FROM [a1..C3];"
    rsLotus.Open strSql, LotusCn

    Set rs = CurrentDb.OpenRecordset("Select * From NICHDATMGECO20;")

    If Not (rsLotus.EOF And rsLotus.BOF) Then
        FindRecordCount = rsLotus.RecordCount
        rsLotus.MoveFirst
        Do Until rsLotus.EOF = True
            Field1 = rsLotus![Reg. Number]
            Field3 = rsLotus![Sales / Tot.Assets]
            Field2 = rsLotus![Company Name]
            rs.AddNew
            rs![Reg. Number] = Field1
            rs![Company Name] = Field2
            rs.Update
        rsLotus.MoveNext
        Loop
    End If

    LotusCn.Close
    Set rsLotus = Nothing
    Set LotusCn = Nothing
    rs.Close

只是为了让您知道问题已经解决,上面是代码的最终结果,对我来说很好。我确实需要在工具中引用 Lotus 123,以防万一有人想复制我在这里所做的事情。

标签: ms-accesslotusimport-from-excelimport-from-csv

解决方案


推荐阅读