2012-07-09 36 views
1

我目前有一個數據庫,用於存儲與我的數據相關聯的圖片路徑,並使用VBA將它們顯示在圖片框中。它的效果很好,但添加圖片的過程有點繁瑣,用戶難以正確使用它(輸入錯誤的路徑,忘記包含擴展名等)。這會導致數據庫中一堆垃圾條目。我想簡化這個過程。理想情況下,點擊「添加圖片」後,我想打開Windows資源管理器,讓用戶選擇所需的圖片,獲取該圖片的路徑,並將其插入表格中。同樣,我沒有使用OLE,只是路徑的文本字段。這可能嗎?使用Windows資源管理器獲取文件的路徑(字符串)以存儲在表中

+1

請參閱http://stackoverflow.com/questions/9105806/how-do-i-store-the-links在ms-access/9105887#9105887 – Fionnuala 2012-07-09 15:52:02

+0

@Remou這似乎是我需要做到這一點。午餐後我會嘗試實施它。我將發佈更新,以及完成後的工作,以供將來參考。 – Scotch 2012-07-09 15:57:45

+0

它給出了一個編譯器錯誤。 Dim dlgOpen中的「用戶定義類型未定義」作爲FileDialog – Scotch 2012-07-09 16:50:46

回答

1

正如Remou引用的那樣,可以使用FileDialog對象來完成此操作。對於很多人來說,可能需要添加對MS Office對象庫的引用(Access Library不夠)。我用於從資源管理器中選擇的文件收集路徑名的代碼如下:

Public Sub ShowFileDialog() 
Dim dlgOpen As FileDialog 
Set dlgOpen = Application.FileDialog(msoFileDialogOpen) 
With dlgOpen 
.AllowMultiSelect = False 
.InitialFileName = "Z:\" 'Initial Path when explorer is opened 
.Show 
    If .SelectedItems.Count = 0 Then 
     MsgBox ("No file Selected") 'No file selected 
    Else 
     Me.txtPath = .SelectedItems(1) 'sets textbox on the form to the path selected 
    End If 
    End With 


End Sub 
+0

謝謝hans。我偶然發現了一個類似問題的答案http://stackoverflow.com/questions/9476268/filedialog-doesnt-work-in-access-2010那裏。它幫了我很多。正如你在我的編輯中看到的那樣,我想擁有文件的絕對路徑,而不僅僅是文件名。你知道如何做到這一點? – Scotch 2012-07-09 17:36:47

+0

擺脫'Dir()'...它只返回你餵它的完整路徑中的文件名。 IOW,試試這個:'Me.txtPath = .SelectedItems(1)' – HansUp 2012-07-09 17:40:48

+0

這是有效的。我會編輯我的答案,包括 - 謝謝。我認爲所有這些都明確地回答了我的問題。 – Scotch 2012-07-09 18:03:58

相關問題