0
我用下面的函數從OLEDB架構表得到一個工作表名稱:OLEDB獲取表格文檔 - 工作表名稱是完全數值
Public Function GetSheetName(ByVal dtSchema As DataTable) As String
Dim sheetName As String = ""
Try
If Not dtSchema.Rows(0)("TABLE_NAME").ToString().Contains("#") Then
sheetName = dtSchema.Rows(0)("TABLE_NAME").ToString()
End If
Catch ex As Exception
BuildResultTraceString("Exception in GetSheetName")
BuildResultTraceString(ex.Message)
End Try
Return sheetName
End Function
然後我得到的表像這樣:
sql.Append("SELECT * FROM [" & sheetName & "A22:T10000]")
dt = _dh.GetTable(sql.ToString())
但是,當我嘗試加載一個名爲「20130418113010937」表,該表獲取方法捕獲此異常:
The Microsoft Access database engine could not find the object ''20130418113010937$'A2:I10000'
它適用於我正在使用的所有其他圖紙名稱,但它不適用於此版本。我認爲這是因爲它完全是數字。有沒有解決方法?這個過程是自動化的,所以我不能手動改變工作表名稱,除非我以某種方式編程。
謝謝!
我剛剛發現您的文章在此之前:
從表名的兩端取下單引號,你應該是不錯的。謝謝! – TimeBomb006