【问题标题】:How to pull data into access from an oddly formatted Excel spreadsheet如何从格式奇特的 Excel 电子表格中获取数据
【发布时间】:2016-10-05 15:45:22
【问题描述】:

我有一个需要提取和更新客户关系数据的数据库。我们的一个部门收到了一个包含姓名、电话号码等信息的电子表格,我想为他们提供一种方法,可以一键(或几乎同样有效地)将该数据上传到我们创建的数据库。

问题在于前约 7 行包含不需要存储的信息。就数据库而言,它是无用的。如何确保只有我想要的信息被拉入数据库?

如何为我的同事提供一种更新数据的简单方法?我知道它可能会包含一个视图,也许是一些 VBA,但我对这两者的经验很少甚至没有。

【问题讨论】:

    标签: excel ms-access vba


    【解决方案1】:

    按原样导入。然后在导入后运行以下 SQL。

    sql = DELETE FROM (SELECT TOP 7 * FROM TableName)
    

    【讨论】:

    • 问题在于,当我在没有任何事先格式化的情况下直接导入时,除了向下 7 行之外,它会将所有内容向右推一列。
    • 好吧,抱歉,我以为你只是不想要第一条记录。我想这就像您不想导入的标题信息。最简单的方法是在 Excel 工作表中命名数据范围,并使用 TransferSpreadsheet 命令仅导入该命名范围。但是,如果这需要太多的用户操作,再次,只需按原样传输并删除上面的行。如果标题未对齐,则对您需要的 SELECT 列/字段运行更新查询并正确重新创建标题(以考虑移位)。如果它一直在变化,那么这应该有效。柔道数据!
    【解决方案2】:

    我发现创建自动数据导入或数据映射流程最重要的是一致性。如果您的数据在从一张到另一张的所有列中的类型不一致,那么创建一个可靠的自动化流程是非常困难的。但是,如果从导入到导入的类型一致,那么很有可能这样做。

    您列出的问题听起来像是您必须通过 Access 进入某些 Excel 自动化...因为您的标准导入在这种情况下本身无法正常工作。您在自动化过程中要做的第一件事是删除前 7 行...然后您可以执行标准导入。

    通常我会提供一个这样的代码示例,但今天早上时间很紧。不过,我相信快速搜索会为您提供所需的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 2011-02-07
      • 1970-01-01
      • 2020-12-19
      相关资源
      最近更新 更多