【问题标题】:Access - Data import best practicesAccess - 数据导入最佳实践
【发布时间】:2016-07-03 00:02:54
【问题描述】:

这是一个最佳实践问题。

任务:

我需要将报告导入 Access 2013。该报告可以生成为 .csv 文件或 .xlsx 文件。在导入过程中,我需要:

  1. 忽略不相关的数据行,仅导入报告某一部分中的数据。此相关数据将在适当的 包含表名、表头和下面的记录的表。
  2. 将列(很可能按标题)与我数据库中的现有数据进行匹配。
  3. 将匹配的列导入到适当的匹配列中,在数据库的适当匹配表中,并相应地键入数据。
  4. 为导入的记录生成自定义键。

有很多方法可以解决,我只是在寻找社区的一点意见,以了解什么可能是最有效的方法。导入速度很重要,您可以假设报告将有大约 50k 条记录。

我的背景:

我是一位非常高级的程序员,在 VBA 方面有一些经验,而在 MSAccess 方面经验很少。

编辑

我的数据如下所示:

 Title Cell
 File Info Cell
 Time Date Cell

 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 Data1, Data 2
 ....(continues for around 800 rows)

 Second Table Title Cell
 Col1Title, Col2Title, ColTitle, Col4Title ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)    
 Data 3,    Data4,     Data 5,   Data6 ....(continues for around 50 columns)
 ...(Continues for around 1500 rows)
 End of CSV

我想最大的问题是如何从文本文件中只提取表 2。这似乎阻止了我使用 SQL 来查询数据。我可以只选择文本文件的第二个表格吗?

【问题讨论】:

  • 我使用了链接表和追加查询。它们工作得很好。
  • 最好的?不知道。对于 csv 数据,导入规范将以最快的速度获取数据,但鉴于您只想要其中的一部分,我会选择您最好一次读取一行,以找到您想要的内容.对于.xlsx,我认为您需要通过创建对象打开它,并希望您可以通过命名范围定位数据,但如果您必须遍历表格的单元格,我怀疑它会那么慢.找到数据后,SQL 操作/使用数据通常比使用游标和循环更快。

标签: ms-access import vba ms-access-2007


【解决方案1】:

正是,链接表和附加查询。或者,将您的数据加载到临时表(即临时表)中并从中追加记录(大概包含所有内容)。因此,您只需将需要的记录附加到生产表中。

【讨论】:

  • 谢谢大家,我一直在做我的研究并给出你的回复,这就是我所看到的:1. 设置临时表似乎是最简单的做法 2. 我想访问 CSV 数据这样我就可以使用查询来提取我想要的数据。这是我的大问题:如何在 CSV 中识别我想要的表。文件顶部有很多无用的信息,我要的表格(下面标有“报告字段”)。鉴于目前的方法,我看不出这样做很热。
  • 我添加了一个编辑,以帮助更好地解释我在使用此方法时遇到的问题。
猜你喜欢
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多