从文件夹访问导入数据(如果不在数据库中)

时间:2019-06-05 08:25:16

标签: vba ms-access access-vba

因此,我必须循环遍历一个文件夹,然后导入不在数据库中的每个文件。

话虽如此,我之后还有另一个程序需要使用这些文件,我拥有完整的导入代码,但我不知道如何设置“导入”以便仅导入新内容。

ATM确实从文件夹XXX导入所有文件,然后将它们移至备份文件夹。

我希望将它们复制到备份文件夹,然后仅导入新数据。

ReDim Preserve FileArray(1000)

Do While strFileName <> "" 
FileArray(Y) = strFolder & "\" & strFileName
strFileName = Dir
Y = Y + 1

Loop

nr = Y

Y = Y - 1

If Y = -1 Then
MsgBox ("Keine Daten zum Importieren verfügbar")
DoCmd.Requery
Exit Sub

Else


ReDim Preserve FileArray(Y)

End If

这里必须是仅导入某些文件的语句,但我不知道该文件是如何建立的。

我的编码能力很低。

感谢您的帮助!

(是的,我已经在此堆栈上进行了Google搜索和搜索。)

1 个答案:

答案 0 :(得分:1)

根据您未提供的详细信息,您有一些不同的选择。

  1. 如果导入文件中的数据具有唯一的,不可重复的质量,例如序列号或时间戳,请检查数据库中是否已经存在要导入的记录。

  2. 您说过,将文件移至其他文件夹已不再是一个好的解决方案。重命名它们呢?可以将111.ETI重命名为111.imported.ETI(或以任何方式进行更改,以便文件名本身将其标记为已导入)吗?

  3. 在数据库中添加一个新的“导入的文件”表,在其中跟踪所有已导入的文件。

  4. 检查每个文件的创建日期/时间,并跟踪已导入的最新日期/时间。如果文件也被其他来源访问,请小心使用创建日期/时间,而不要使用上次修改日期/时间。

  5. 如果您可以控制源文件的生成/命名方式,请确保文件名本身是连续的,并跟踪最后导入的文件。