我在Access里建的表里专门有一个字段"地址"用来存放word文件,cad图纸的地址,现在我想用户存放这些文件的地方完全有可能和我现在做的不一样,到时不可能一个一个的改,我就想在Access里的表用相对路径来存放文件的地址,让这些文件放在程序的当前目录下的"文件"这个文件夹里,我是这样改的,原来是F:\test.doc,现改为App.Path+"\文件"+"\test.doc",但是运行起来就没反应,打不开文件,我不知道怎么改?不知道我把意思说清楚了吗,请各位帮下忙

解决方案 »

  1.   

    用App.Path就可以了.
    比如你的主程序在"D:\AA\ABC.EXE"
    App.Path就等于"D:\AA"
      

  2.   

    比如:
    App.Path & "\" & 文件夹名 & "\test.doc"
      

  3.   

    我是在Access里建的表的那个存放地址的字段里填了App.Path & "\" & "文件" & "\test.doc"
    在运行后textbox里就出现了App.Path & "\" & "文件" & "\test.doc",但是打开不了,我在Access里填文件地址时可以直接这样填吗App.Path & "\" & 文件& "\test.doc"
    由于我这个程序直接放在了F:\下,原来的test.doc也直接在F:\下,现在我把test.doc放在F:\文件 这个文件夹下,改了后没反应
      

  4.   

    字段里不用存放App.Path这个路径,只存放文件夹名跟文件名就可.
    比如取出得到 <"文件\ABC.DOC">,那它的全路径名就是"App.Path & "\" & "文件\ABC.DOC"
      

  5.   

    app.path & "\aaa\test.doc"
      

  6.   

    那我在Access里的字段里用了地址
    "文件\test.doc"怎么运行还是不行,出现实时错误,“文档名和路径错误”,是不是跟我下面的有关Private Sub command1_click()
        Dim FileTypestr As String
        Dim sFileName, sContent As String   '打开word文档
        Dim wrdApp As Object
        If Err <> 0 Then Exit Sub
        sFileName = Text2.Text
        If sFileName = "" Then Exit Sub
        FileTypestr = ExtractFileName(sFileName)
    If LCase(FileTypestr) = "doc" Then
       Set wrdApp = CreateObject("Word.Application")
        wrdApp.Visible = True
        wrdApp.Documents.Open FileName:=sFileName, ReadOnly:=True
        sContent = wrdApp.ActiveDocument.Content
    End If
    If LCase(FileTypestr) = "jpg" Then
            ShellExecute 0, "open", sFileName, vbNullString, vbNullString, 5
    End If
    End SubPrivate Function ExtractFileName(ByVal PathName As String) As String
        Dim str_Pos As Integer
        str_Pos = InStrRev(PathName, ".")
        ExtractFileName = Mid(PathName, str_Pos + 1)
    End Function
      

  7.   

    我在字段里填为F:\文件\test.doc运行可以,改为"文件\test.doc"就不行了,我程序是放在F:\下,为F:\打开word.exe
      

  8.   

    "文件\test.doc"
    改成
    "\文件\test.doc"问题不就解决了吗?
      

  9.   

    你组合文件路径的代码是怎样的呀?打个比方,可以这样:Dim strPath As String
    Dim rs As New ADODB.Recordset
    strPath = App.Path & "\" & rs("路径")数据库中路径字段内容为“文件\xxx.Doc”
      

  10.   

    我在代码里没有组合文件路径的代码,由于这只是个先试一下的程序,因此没有很多代码,我的全部代码就是上面的,我用的是Adodc与数据库连接,在窗体上放了一个textbox与存放地址的字段绑定,我按你说的改了下,但不行,我想是需要在程序里要改的,但不知道怎么改了
    Private Sub command1_click()
        Dim FileTypestr As String
        Dim sFileName, sContent As String   
        Dim wrdApp As Object
        sFileName = App.Path & "\" & Text2.Text  /改了后的,可以与前面的帮我看看
        If Err <> 0 Then Exit Sub
        If sFileName = "" Then Exit Sub
        FileTypestr = ExtractFileName(sFileName)
    我试了下在Access里的字段填"文件\test.doc",再单击command1就是没反应,不知道怎么改了
      

  11.   

    Private Sub command1_click()
        Dim FileTypestr As String
        Dim sFileName, sContent As String   
        Dim wrdApp As Object
        sFileName = App.Path & "\" & Text2.Text  /改了后的,可以与前面的帮我看看
        msgbox sfilename'看看这个路径是否正确
        If Err <> 0 Then Exit Sub
        If sFileName = "" Then Exit Sub
        FileTypestr = ExtractFileName(sFileName)
      

  12.   


    app.path(vb6sp6) 有个问题的~
    当它在根目录下的时候,获得的字串是盘符和"\"符号,例如:"C:\"
    而在别的地方就是:"C:\xxx" ...
    所以要纠正一下~如下:dim t as string
    if right(app.path,1) <> "\" then
        t = app.path & "\"
    else
        t = app.path
    end if这样纠正过的 app.path ,即 t ,就正确了~
      

  13.   

    谢谢, RUKYO(蠢蠢的男子汉),tztz520(午夜逛街) ,naihe(奈何),我的问题解决了,就是 naihe(奈何)所说的那种问题,只有30分,每人10分吧,祝中秋快乐,真的好感谢你们