首页 > 解决方案 > 如果文件夹不在数据库中,则从文件夹访问导入数据

问题描述

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

话虽如此,还有另一个程序需要使用我之后的文件,我有整个导入代码,但我不知道如何设置导入以便只导入新的。

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

这里必须声明只导入某些文件,但我不明白这是如何建立的。

我的编码技能非常低。

感谢您的每一个帮助!

(是的,我已经用谷歌搜索过这个堆栈。)

标签: vbams-access

解决方案


您有一些不同的选择,具体取决于您未提供的详细信息。

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

  2. 您说将文件移动到不同的文件夹不再是一个足够好的解决方案。重命名它们怎么样?可以111.ETI重命名为111.imported.ETI(或以任何方式更改,以便文件名本身将其标记为已导入)?

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

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

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


推荐阅读