因此,我必须循环遍历一个文件夹,然后导入不在数据库中的每个文件。
话虽如此,我之后还有另一个程序需要使用这些文件,我拥有完整的导入代码,但我不知道如何设置“导入”以便仅导入新内容。
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搜索和搜索。)
答案 0 :(得分:1)
根据您未提供的详细信息,您有一些不同的选择。
如果导入文件中的数据具有唯一的,不可重复的质量,例如序列号或时间戳,请检查数据库中是否已经存在要导入的记录。
您说过,将文件移至其他文件夹已不再是一个好的解决方案。重命名它们呢?可以将111.ETI
重命名为111.imported.ETI
(或以任何方式进行更改,以便文件名本身将其标记为已导入)吗?
在数据库中添加一个新的“导入的文件”表,在其中跟踪所有已导入的文件。
检查每个文件的创建日期/时间,并跟踪已导入的最新日期/时间。如果文件也被其他来源访问,请小心使用创建日期/时间,而不要使用上次修改日期/时间。
如果您可以控制源文件的生成/命名方式,请确保文件名本身是连续的,并跟踪最后导入的文件。