【发布时间】:2011-08-23 03:24:02
【问题描述】:
我正在尝试将一堆带有 A:H 列的 excel 2003 文件导入到 access 2003 数据库中的表中。这是访问即时通讯中的一个模块。我使用文件搜索来查找以 Format 开头的每个文件(他们都这样做)以获取文件夹路径中的所有文件。有没有更有效的方法来做到这一点?以某种方式选择文件夹中的所有文件?并将每个导入到访问中的同一个表中? DoCmd.TransferSpreadsheet 似乎单独获取每个文件路径,因此我不确定如何获取文件夹中的每个文件名以导入它。
如果你能解决这个问题,或者你有任何关于更好的方法或任何很棒的建议!提前谢谢你=)
我现在有这个:
Sub Import()
Dim db As Database
Set db = CurrentDb
Dim appendtbl As Recordset
Set appendtbl = db.OpenRecordset("sampletbl", dbOpenDynaset)
Dim FilePathString As String
Dim folderString As String
folderString = "C:blahblahblah"
Dim lngFileNumber As Long
With Application.FileSearch
.NewSearch
.LookIn = folderString
.FileType = xls
.Filename = "Format"
If .Execute > 0 Then
For lngFileNumber = 1 To .FoundFiles.Count
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "sampletbl", FilePathString, True, "A:H"
Next lngFileNumber
End If
End With
End Sub
在我尝试编写代码并找到一些更有效的外观方法后,我做了一些谷歌搜索,例如:
strFileName = Dir("somepath\*.XLS")
Do Until strFileName = ""
'import from file "somepath\" & strFileName
strFileName = Dir()
Loop
我要试试看效果如何
【问题讨论】:
标签: vb.net ms-access import vba ms-access-2003