sql - Microsoft Access 插入语句从 Excel 中选择数据 --- 字段是混合整数和文本

标签 sql excel vba ms-access ms-access-2010

我正在尝试使用 Insert Into 查询从 Excel 文件中选择数据并将其插入 Access 表中。我遇到的问题是 Excel 列之一可以是字母、数字或两者兼而有之。我想选择数据作为文本,但我似乎只得到文本和文本/数字条目的空白。如果我对 Excel 文件进行排序以使文本项位于第一行,则所有数据都将被转换。
我尝试了以下方法:

strSQL = "INSERT INTO tblImport ([TIMS Company Code]) " & _
    "SELECT [TIMS Company Code] " & _
    "FROM [Excel 8.0;HDR=YES;DATABASE=" & xlPath & "].[Manual Entry$];"

==================================================== ========================
strSQL = "INSERT INTO tblImport ([TIMS Company Code]) " & _
    "SELECT CStr([TIMS Company Code]) " & _
    "FROM [Excel 8.0;HDR=YES;DATABASE=" & xlPath & "].[Manual Entry$] " & _
    "WHERE [TIMS Company Code] IS NOT NULL;"

==================================================== ========================
strSQL = "INSERT INTO tblImport ([TIMS Company Code]) " & _
    "SELECT (CAST([TIMS Company Code]) AS TEXT) " & _
    "FROM [Excel 8.0;HDR=YES;DATABASE=" & xlPath & "].[Manual Entry$];"

我也研究了一个叫做“schema.ini”的东西,但它似乎有点过头了。

我感谢有人可以提供的任何帮助。

杰森

最佳答案

正如您所发现的,Access 试图提供帮助,并根据前 8 行猜测数据类型。

有两种解决方法:

  • 在顶部添加一个虚拟文本行 - 在阅读
  • 时将其丢弃
  • 将文件保存为 CSV,并使用已保存的导入规范
  • 关于sql - Microsoft Access 插入语句从 Excel 中选择数据 --- 字段是混合整数和文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38268657/

    相关文章:

    mysql - 与 MySQL FIND_IN_SET 相反

    sql - 在回退到默认值的树状表中选择数据的最佳方法

    sql语句错误: "column .. does not exist"

    excel - 如何获取相邻单元格的地址?

    vba - 无法按换行符拆分单元格内容

    excel - 根据单元格值合并某个范围内的单元格,但最后一个单元格不会被合并

    mysql - SQL 将外部网站的实时数据导入到 SQL 表

    .net - Powershell将Excel日期读取为5位数字

    excel - 如何在Excel中将时间跨度更改为十进制格式?

    sql-server - 如何以与 SQL Server 中相同的顺序将列从 SQL 导入 Excel?