怎样判断某个文件是否存在,具体是:在数据库,有一个字段存放图片在电脑中的存放位置,问题1、调用时,是不是要判断在该目录下,此图片是否存在的问题
        2、怎样判断他是不是存在
我仅剩20分,请高手谅解

解决方案 »

  1.   

    if dir(filename)<>"" then '存在
      

  2.   

    '
    '判断某个文件是否存在.
    '函数:FileCheck
    '参数:FileName 目标文件名.
    '返回值:=TRUE 存在,=FALSE 不存在.
    Public Function FileCheck(Filename As String) As Boolean
         Dim FileID As Long
         
         On Error Resume Next
         
         FileID = FreeFile()
         Open Filename For Input As #FileID
         Close #FileID
         FileCheck = (Err.Number = 0)
         Err.Clear
    End Function
      

  3.   

    Dir 函数示例
    本示例使用 Dir 函数来检查某些文件或目录是否存在。在 Macintosh 计算机上,默认驱动器名称是 “HD” ,并且路径部分由冒号取代反斜线隔开。而且 Microsoft Windows 的通配符在 Mac 中可以作为有效字符出现在文件名中。也可以使用 MacID 函数来指定文件组。Dim MyFile, MyPath, MyName' 返回“WIN.INI” (如果该文件存在)。
    MyFile = Dir("C:\WINDOWS\WIN.ini")   ' 返回带指定扩展名的文件名。如果超过一个 *.ini 文件存在,
    ' 函数将返回按条件第一个找到的文件名。
    MyFile = Dir("C:\WINDOWS\*.ini")' 若第二次调用 Dir 函数,但不带任何参数,则函数将返回同一目录下的下一个 *.ini 文件。
    MyFile = Dir' 返回找到的第一个隐式 *.TXT 文件。
    MyFile = Dir("*.TXT", vbHidden)' 显示 C:\ 目录下的名称。
    MyPath = "c:\"   ' 指定路径。
    MyName = Dir(MyPath, vbDirectory)   ' 找寻第一项。
    Do While MyName <> ""   ' 开始循环。
       ' 跳过当前的目录及上层目录。
       If MyName <> "." And MyName <> ".." Then
          ' 使用位比较来确定 MyName 代表一目录。
          If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
             Debug.Print MyName   ' 如果它是一个目录,将其名称显示出来。
          End If
       End If
       MyName = Dir   ' 查找下一个目录。
    Loop
      

  4.   

    kill filename
    如果出错就证明不存在了,
      

  5.   

    如:
    if dir("d:\kk.mdb")<>"" then
    msgbox "存在"
    ........
    endif
      

  6.   

    '判断某个文件是否存在.
    '函数:FileCheck
    '参数:FileName 目标文件名.
    '返回值:=TRUE 存在,=FALSE 不存在.
    Public Function FileCheck(Filename As String) As Boolean
         Dim FileID As Long
         
         On Error Resume Next
         
         FileID = FreeFile()
         Open Filename For Input As #FileID
         Close #FileID
         FileCheck = (Err.Number = 0)
         Err.Clear
    End Function
    看不懂,能解釋一下嗎
      

  7.   

    Public Function FileExist(FileName As String, Optional ForFile As Boolean = True) As Boolean
        Dim hSearch As Long ' Search Handle
        Dim WFD As WIN32_FIND_DATA
        Dim rtn As Boolean
        hSearch = FindFirstFile(FileName, WFD)
        rtn = False
        If hSearch <> INVALID_HANDLE_VALUE Then
            If GetFileAttributes(FileName) And FILE_ATTRIBUTE_DIRECTORY Then
                rtn = Not ForFile
            Else
                rtn = ForFile
            End If
            Call FindClose(hSearch)
        End If
        FileExist = rtn
    End Function想查询是否存在目录可以将参数ForFile 设为false
      

  8.   

    if dir("d:\kk.mdb")<>"" then
    msgbox "存在"
    ........
    endif
      

  9.   

    private Function FileExists(filename) As Boolean      Dim f
       On Error Resume Next
       f = FreeFile
       Open filename For Input As #f
       Close #f
       FileExists = Not (Err <> 0)
    End Functionformload
    if fileexists("路径+文件名")=true then
    ........
    else
    .........
    endif
      

  10.   

    请看下贴:
    http://community.csdn.net/Expert/topic/3218/3218324.xml?temp=.6193201
      

  11.   


    FileName = ......         'FileName为文件名(含路径)
    If Dir(FileName) <> "" Then  
       ......                 '文件存在的处理
    else
       ......                 '文件不存在的处理
    endif
      

  12.   

    用一个dir()函数就搞定了,如果为空则不存在,如果不为空则存在这个文件,不用别的了,用别的反而让系统变慢了
      

  13.   

    MSTOP(陈建华)的函数确实GOOD啊,收藏一下,我怎么没有想到呢?
    用Dir不能准确判断出是文件还是目录,因为Path设为路径的话,也会返回非空值的
      

  14.   

    dir()函数中第一项是文或目录名,第二项就可以定义是文件或目录,还可以定义只读,归档,隐藏,系统等属性的文件,所以不管你是文件还是文件夹还是隐藏,系统,只读,归档等属性的都可以用dir()搞定,何必调用API,那东西让你的程序变蜗牛(如果调用API多的话)