君语贤
时光静好,与君语;细水流年,与君同;繁华落尽,与君老...

首页>实用小技巧>Access>正文

批量读取文件夹中的TXT文件到Access数据库

2023-06-25 标签:Access批量读取数据库

使用access的VBA能力,批量读取文件夹中的TXT文件,将TXT的文件名读取写入到access的“文章”表的“标题”字段,将TXT的文件内容读取写入到access的“文章”表的“正文”字段,其中TXT的默认编码为UTF-8,操作步骤:

1、新建一个Access数据库文件,文件中创建“文章”表,设置“标题”、“正文”两个字段

批量读取文件夹中的TXT文件到Access数据库

2、打开“数据库工具”》"Visual Basic"

批量读取文件夹中的TXT文件到Access数据库

3、创建模块,并输入以下代码

批量读取文件夹中的TXT文件到Access数据库

SubImportTxtFilesToAccess()
DimstrPathAsString
DimstrFileAsString
DimstrContentAsString
DimobjFSOAsObject
DimobjFolderAsObject
DimobjFileAsObject
DimdbAsDAO.Database
DimrsAsDAO.Recordset
DimobjStreamAsObject

'设置文件夹路径
strPath="C:\TextFiles\"

'创建文件系统对象
SetobjFSO=CreateObject("Scripting.FileSystemObject")

'获取文件夹对象
SetobjFolder=objFSO.GetFolder(strPath)

'获取Access数据库对象
Setdb=CurrentDb()

'获取文章表的记录集
Setrs=db.OpenRecordset("文章",dbOpenTable)

'遍历文件夹内的所有TXT文件
ForEachobjFileInobjFolder.Files
IfRight(objFile.Name,3)="txt"Then'检查文件后缀是否为TXT
strFile=objFile.Name
strContent=""
'读取文件内容
SetobjStream=CreateObject("ADODB.Stream")
objStream.Charset="UTF-8"
objStream.Open
objStream.LoadFromFileobjFile.Path
strContent=objStream.ReadText(-1)'指定编码方式为UTF-8
objStream.Close

rs.AddNew'新增一条记录
rs!标题=strFile'将文件名写入文章表的“标题”字段
rs!正文=strContent'将文件内容写入文章表的“正文”字段
rs.Update'提交记录
EndIf
NextobjFile

'关闭记录集
rs.Close
Setrs=Nothing

'关闭数据库对象
db.Close
Setdb=Nothing

'清空对象变量
SetobjFile=Nothing
SetobjFolder=Nothing
SetobjFSO=Nothing

MsgBox"导入完成。"
EndSub

其中文件夹路径改为实际的路径即可。

4、运行创建好的VBA脚本

批量读取文件夹中的TXT文件到Access数据库

5、执行结果图

批量读取文件夹中的TXT文件到Access数据库

图文推荐
热门标签
接口API代码开发模式VBA批量读取