将Named Lotus123电子表格导入MS Access



我正在将公司拥有的所有Lotus表移动到SQL Server,并使用MS Access表作为中介。这个代码对未命名的纸张一直很有效,但我遇到过大约2300张被命名为麻木的纸张。文件太多,我无法手动全部更改。

我得到的错误是:运行时错误"-2147217865(80040e37(":Microsoft Jet数据库引擎找不到对象"麻木:A1..麻木:A8000"。请确保该对象存在,并且您正确拼写了其名称和路径名。

找到了这个网站,但还没有提供答案

我看到了在ADOB调用中正确获取目的地的不同选项("SELECT*FROM[麻木:A1..麻木:A8000];"或("SELECT*FROM[麻痹$:A1..麻痹$:A8000';"(,但这些选项都不起作用。

以下是表单未命名时的功能代码:

Dim rst As DAO.Recordset
Dim rs As DAO.Recordset
Dim LotusCn As Object
Dim rsLotus As Object
'Read WK3 Lotus files
repcode = rs![Code]
Directory = rs![Directory]
Directory = Directory & "NUMDATM.WK3"
Set LotusCn = CreateObject("ADODB.Connection")
Set rsLotus = CreateObject("ADODB.Recordset")
'This creates the objects for the lotus connctions
'below the connection string
LotusCn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Directory & ";" & _
"Extended Properties=Lotus WK3;Persist Security Info=False"
strSQL = "SELECT * FROM  [A1..A8000];" 'The SQL to pick the right sections of the lotus file. Picks the Latest Available Date
rsLotus.Open strSQL, LotusCn, adOpenStatic  '<<< ***Error occurs here***
If Not (rsLotus.EOF And rsLotus.BOF) Then
FindRecordCount = rsLotus.RecordCount
rsLotus.MoveFirst
Do Until rsLotus.EOF = True
Debug.Print rsLotus.Fields(0).Value
If Len(rsLotus.Fields(0).Value) > 0 Then
rst.AddNew
rst!RegNo = rsLotus.Fields(0).Value
rst.Update
End If
rsLotus.MoveNext
Loop
End If
LotusCn.Close
strSQL = ""
Set rsLotus = Nothing
Set LotusCn = Nothing

有人知道如何获得命名电子表格吗?

我不知道在Lotus中是怎么回事,但这是在Excel 中

Set oRs = oConn.OpenSchema(adSchemaTables) 'get the name of the sheet in Excel
oRs.MoveFirst
With oRs
While Not .EOF
If .fields("TABLE_TYPE") = "TABLE" Then
Debug.Print .fields("TABLE_NAME")
If VBA.Len(.fields("TABLE_NAME")) = 9 Then
WSnameTBL = .fields("TABLE_NAME")
Else
End If
'  WSnameTBL = VBA.Replace(WSnameTBL, "$", "", 1, , vbTextCompare)
End If
.MoveNext
Wend
End With

相关内容

  • 没有找到相关文章

最新更新