Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.Net:MS Access数据库引擎找不到该对象_Vb.net_Excel 2010_Ms Access 2010 - Fatal编程技术网

VB.Net:MS Access数据库引擎找不到该对象

VB.Net:MS Access数据库引擎找不到该对象,vb.net,excel-2010,ms-access-2010,Vb.net,Excel 2010,Ms Access 2010,我有一个将Excel文件导入MS Access数据库表的模块。 我得到:MS Access数据库引擎找不到对象“REPORTCONFIG”。 表REPORTCONFIG确实存在,并且代码会“拾取”它,因为在导入excel之前,我首先清空了表(这很好)。 我已确保excel中的选项卡与表同名。(REPORTCONFIG) 这是我的模块: Dim MyExcelFileDialogBox As New OpenFileDialog() If MyExcelFileDialogBox.

我有一个将Excel文件导入MS Access数据库表的模块。 我得到:MS Access数据库引擎找不到对象“REPORTCONFIG”。 表REPORTCONFIG确实存在,并且代码会“拾取”它,因为在导入excel之前,我首先清空了表(这很好)。 我已确保excel中的选项卡与表同名。(REPORTCONFIG)

这是我的模块:

Dim MyExcelFileDialogBox As New OpenFileDialog()
        If MyExcelFileDialogBox.ShowDialog = DialogResult.OK Then
            MyExcelFullFileName = MyExcelFileDialogBox.FileName
            MyExcelFile = Dir(MyExcelFileDialogBox.FileName)
            MyExcelFilePath = Path.GetDirectoryName(MyExcelFileDialogBox.FileName)
            ModuleConnection.AccessConnect()
            ModuleTables.DeleteTableContent(MyTableName)
            Dim MyExcelInsertSQL As String = "INSERT INTO [" & MyTableName & "] SELECT * FROM [Excel 12.0;HDR=YES;DATABASE=" & MyExcelFullFileName & "].[" & MyTableName & "];"
            Dim MyCommand As OleDbCommand = New OleDbCommand(MyExcelInsertSQL, MyAccessConnection)
            Try
                MyCommand.ExecuteNonQuery()
                MyCommand.Dispose()
            Catch ex As Exception
                MsgBox(ex.ToString)
            End Try
            MyAccessConnection.Close()
        End If 

非常感谢您的帮助。

当使用工作表作为查询的数据源时,请在工作表名称后添加美元符号(
$
),以便找到它

通过这个简单的
SELECT
查询,数据库引擎抱怨它找不到
REPORTCONFIG

选择*
从[Excel 12.0;数据库=C:\share\Access\MyWorkBook.xlsx;HDR=YES]。[REPORTCONFIG];
但是,当在
FROM
子句中使用
REPORTCONFIG$
时,下面的查询将返回无误的数据

选择*
从[Excel 12.0;数据库=C:\share\Access\MyWorkBook.xlsx;HDR=YES]。[REPORTCONFIG$];

将工作表用作查询的数据源时,请在工作表名称后添加美元符号(
$
),以便找到该工作表

通过这个简单的
SELECT
查询,数据库引擎抱怨它找不到
REPORTCONFIG

选择*
从[Excel 12.0;数据库=C:\share\Access\MyWorkBook.xlsx;HDR=YES]。[REPORTCONFIG];
但是,当在
FROM
子句中使用
REPORTCONFIG$
时,下面的查询将返回无误的数据

选择*
从[Excel 12.0;数据库=C:\share\Access\MyWorkBook.xlsx;HDR=YES]。[REPORTCONFIG$];

您是否已通过粘贴到sql视图尝试在MS Access中进行查询?我认为您的Excel connect字符串不正确。对于我导入到其他表中的另一个Excel文档,该模块工作正常。我觉得奇怪的是,如果我以这种方式添加数据,那么它就会工作。您是否已通过粘贴到sql视图尝试在MS Access中执行查询?我认为您的Excel connect字符串不正确。对于我导入到其他表中的另一个Excel文档,该模块工作正常。我觉得奇怪的是,如果我以这种方式添加数据,那么它就会工作。HansUp,$在我的文档中使用了REPORTCONFIG作为选项卡名,但现在其他带有包含下划线的选项卡名的文档(rpt_bank_kredit_mg_comm_cns)不再导入。这和下划线有关吗?HansUp,我发现了问题所在。变量MyTableName有问题。再次感谢您的帮助。HansUp,$为我以REPORTCONFIG作为选项卡名的文档做了手脚,但现在其他选项卡名包含下划线的文档(rpt_bank_Kredit_mg_comm_cns)不再导入。这和下划线有关吗?HansUp,我发现了问题所在。变量MyTableName有问题。再次感谢你的帮助。