2016-03-16 53 views
0

这是一个最佳实践问题。访问 - 数据导入最佳实践

任务:

我需要导入一份报告,该报告可以作为.csv文件,或.xlsx文件生成访问2013年。在进口过程中,我需要:

  1. 忽略无关数据行并仅导入报表的一部分中的数据。这相关的数据将在一个正确的 表与表名,表头,然后记录下它。
  2. 将数据库中的现有数据与列匹配(最有可能通过标题)。
  3. 将匹配列导入适当的匹配列中,在数据库的正确匹配表中,并相应地键入数据。
  4. 为导入的记录生成自定义密钥。

有很多方法可以解决这个问题,我只是从社区中寻找一些有关什么是最有效的方法。进口速度很重要,您可以假设报告将在5万条记录附近的某个地方。对我

背景:

我是一个很高级的程序员中MSACCESS VBA的一些经验和经验非常少。

编辑

我的数据是这样的:

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来查询数据。我可以只选择文本文件的第二个表格吗?

+0

我使用链接表和附加查询。他们工作得很好。 – vacip

+0

最好?不知道。对于csv数据,导入规范将以最快的速度获取数据,但由于您只需要一部分数据,因此我会选择一次最好一次读取一行,找到您想要的数据。对于.xlsx,我认为你需要通过创建对象打开它,并希望你可以通过命名范围来定位数据,但是如果你必须循环遍历表格的单元格,我怀疑它会慢。一旦找到数据,操作/使用数据的速度通常比使用游标和循环更快。 –

回答

0

Excactly,链接表和追加查询。或者,将数据加载到临时表(即临时表)并从中追加记录(这可能包含所有内容)。所以,你只需将你需要的记录追加到生产表中。

+0

谢谢大家,我一直在做我的研究,并给出你的反应,这是我看到: 1.建立一个临时表似乎是最简单的做法 2.我想以这样的方式访问CSV数据我可以使用查询来提取我想要的数据。 这是我的大问题: 如何在CSV中识别我想要的表格。在文件顶部有很多无用的信息,我想要的表格(标记为“报告字段”在下面)。鉴于目前的方法,我看不出那么热。 –

+0

我已经添加了一个编辑来帮助更好地解释我用这种方法遇到的问题。 –