设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1484|回复: 9
打印 上一主题 下一主题

[模块/函数] 获取文件夹内文件名不准确,望找错!

[复制链接]
跳转到指定楼层
1#
发表于 2010-10-7 12:47:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下代码是获取某文件夹内文件名并写入表的代码,但是每次都少一条记录(也就是少一个文件名),我检查了N遍,还是找不到错在哪里?求帮忙!

Function GetFileList(strFilePathName As String) As String        
Dim strDir As String
    If Dir(strFilePathName) = "" Then
        GetFileList = ""
        Exit Function
    End If
    strDir = Dir(strFilePathName)
    Do
    strDir = Dir
        i = i + 1
        If strDir = "" Then Exit Do
        Dim rs As DAO.Recordset
        Set rs = CurrentDb.OpenRecordset("select * from 调取文件名;")
        With rs
            .AddNew
            !文件名 = Mid(strDir, 1, InStr(strDir, ".") - 1)
            !文件类型 = Mid(strDir, InStr(strDir, ".") + 1, Len(strDir))
            .Update
        End With
                rs.Close
        Set rs = Nothing
    Loop
End Function
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2010-10-7 12:59:41 | 只看该作者
你这个代码的do loop是干嘛用的呢?好像没发现什么问题.是不是还有其他的代码

点击这里给我发消息

3#
发表于 2010-10-7 13:52:19 | 只看该作者
strDir = Dir(strFilePathName)
这一行已经找到一个文件了,下面
Do
    strDir = Dir
就到第二个了

4#
 楼主| 发表于 2010-10-7 14:35:23 | 只看该作者
哦,原来是这样
5#
 楼主| 发表于 2010-10-7 14:45:22 | 只看该作者
怎样分离最后一个“.”后面的内容(也就是后缀)。
用  Mid(strDir, InStr(strDir, ".") + 1, Len(strDir))  如果文件名中包含“.”的话就会发生分离的数据错误  
6#
发表于 2010-10-7 14:50:19 | 只看该作者
一般我是倒循环字符串,找最后一个斜杠"\"
7#
 楼主| 发表于 2010-10-7 14:52:43 | 只看该作者
可以讲详细点吗?或例子(代码)
8#
发表于 2010-10-7 15:01:06 | 只看该作者
for j=len(strDir) to 1 step -1
       if mid(strDir,j,1)="." then
              !文件名 = Mid(strDir, 1, j- 1)
              !文件类型 = Mid(strDir, j + 1)         
              exit for
       end if
next
9#
发表于 2010-10-7 15:19:28 | 只看该作者
我觉得你那个循环,好像没必要用的.你一次就传一个参数过来.有必要循环吗?
10#
 楼主| 发表于 2010-10-7 15:22:34 | 只看该作者
感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-17 07:26 , Processed in 0.093868 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表