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
这里必须声明只导入某些文件,但我不明白这是如何建立的。
我的编码技能非常低。
感谢您的每一个帮助!
(是的,我已经用谷歌搜索过这个堆栈。)
解决方案
您有一些不同的选择,具体取决于您未提供的详细信息。
如果导入文件中的数据具有唯一的、不重复的特性,例如序列号或时间戳,请检查数据库中是否已经存在即将导入的记录。
您说将文件移动到不同的文件夹不再是一个足够好的解决方案。重命名它们怎么样?可以
111.ETI
重命名为111.imported.ETI
(或以任何方式更改,以便文件名本身将其标记为已导入)?在您的数据库中添加一个新的“导入文件”表,您可以在其中跟踪所有已导入的文件。
检查每个文件的创建日期/时间并跟踪已导入的最新日期/时间。如果文件也被其他来源访问,请小心使用创建日期/时间,而不是最后修改日期/时间。
如果您对源文件的生成/命名方式有任何控制权,请确保文件名本身是连续的并跟踪最后导入的文件。
推荐阅读
- html - 时间线 - 重叠文本?
- sql - 当 spark 数据框中的值为“null”时,如何指定默认值?
- javascript - 在本机反应中使用来自 API 的数据进行条件渲染
- php - CURL --upload-file 在 PHP Curl 中
- amazon-web-services - 缺少 EC2 CPU 指标数据点 Cloudwatch
- postgresql - postgres 中的 RANDOM 错误在哪里?
- linux - Azure 和云计算的初学者,如何设置“模板”来启动特定的一组或混合的自定义 VM?
- flutter - Flutter:捕获 firebase 消息连接
- ruby-on-rails - Rails Net::HTTP.post_form API 返回 500 Internal Error 尽管它通过 PostMan 返回正确的响应
- flutter - json.decode 可以解析相同的字符串但不能解析 response.body