2015-03-02 102 views
1

我剛剛在Access中創建了一個數據庫,它將超鏈接到子目錄中的PDF文件。根目錄中的超鏈接位置

我可以簡單地複製粘貼整個目錄位置,但如果我改變了文件的位置(或者如果我們被迫將它們移動到其他地方),我將不得不重新命名所有文件。

看來更好的解決方案是告訴Access查看'root'目錄並搜索這個可能永遠不會改變的特定文件夾名稱。

這可能嗎?

對於澄清:

Database location: X:/Somewhere/Over/Here.ADB 

PDF file location: X:/Somewhere/Over/There/123abc.PDF 

這將是更好地告訴訪問在「有」的文件夾,它位於名.adb「根」目錄搜索,打開123abc.PDF

另一種方法是進入PDF位置值是這樣的:

X:/Somewhere/Over/There/123abc.PDF 

X:/Somewhere/Over/There/456def.PDF... etc. 

但如果數據庫更改位置,爲電子xample X:/Somewhere/Else/,那麼我需要重命名所有的位置。

+0

Access數據庫與「根」目錄相關的位置在哪裏? – Newd 2015-03-02 16:40:33

+0

訪問數據庫是X:/somewhere/over/here.adb我希望PDF文件是X:/somewhere/over/there/abc.pdf。但我的想法是,「根」應該是數據庫所在的位置,即X:/ somewhere/over /。通過這種方式,我可以告訴訪問權限查看「abc.pdf」的「there」文件夾。 – user3564760 2015-03-02 16:43:25

+1

您是否有拆分數據庫或單個文件數據庫?如果它被拆分,我假設你的'root'文件夾位於你的後端文件所在的位置? – Newd 2015-03-02 16:49:11

回答

2

如果我理解正確的,你在找什麼,你可以使用這樣的事情:

Private Sub Form_Load() 

    Dim strDBPath as string 
    strDBPath = CurrentProject.Path & "\" 

    Me.Textbox1.Hyperlink = strDBPath & "PDFs\123abd.pdf" 
    Me.Textbox2.Hyperlink = strDBPath & "PDFs\456efg.pdf" 

End Sub 

雖然這是基於關閉您的前端文件中的「根」文件夾是的。

注意到您的評論後,我將立即更新另一個使用後端文件的選項。

Private Sub Form_Load() 

    Dim strDBPath as string 
    strDBPath = Left(Mid(Currentdb.TableDefs("TableName").Connect, 11),Len(Mid(Currentdb.TableDefs("TableName").Connect, 11)) - 10) 

    Me.Textbox1.Hyperlink = strDBPath & "PDFs\123abd.pdf" 
    Me.Textbox2.Hyperlink = strDBPath & "PDFs\456efg.pdf" 

End Sub 

的10是後端的名稱的長度相應地調整我真的不能相信任何辦法讓更多的動態。我覺得有些東西有點雜亂,可能有一個更簡單的方法,但這是你如何做你想要的東西的基礎工作。

+0

謝謝,這是有道理的。我目前的計劃是創建一個具有PDF地址的列。我對訪問中使用「代碼」相對不熟悉,從columnA獲取「根位置」,從columnB獲取「PDF名稱」,然後將值粘貼到columnC中會更容易一些嗎?這似乎是在某種程度上這是做什麼,但我不熟悉在訪問中使用這種類型的代碼 – user3564760 2015-03-02 17:25:56

+0

沒有時間像現在開始編程的道路:-) – Newd 2015-03-02 18:17:05