2016-08-03 70 views
-1

我试图将选定的文件名和文件路径保存到表中的字段中。我正在使用一个表单,并插入一个按钮,并应用我在网上找到的一些代码来获取文件名和路径到一个msgbox。MS Access - 将文件名和文件路径保存到表中的字段

Private Sub Command0_Click() 

    Dim f As Object 
    Dim strFile As String 
    Dim strFolder As String 
    Dim varItem As Variant 

    Set f = Application.FileDialog(3) 
    f.AllowMultiSelect = True 
    If f.Show Then 
     For Each varItem In f.SelectedItems 
      strFile = Dir(varItem) 
      strFolder = Left(varItem, Len(varItem) - Len(strFile)) 
      MsgBox "Folder: " & strFolder & vbCrLf & _ 
       "File: " & strFile 
     Next 
    End If 
    Set f = Nothing 

End Sub 

有谁请帮我解释一下我怎么现在得到来自消息框所产生的数据放入我的表中的字段(场目的地被称为“ImageFilePath” &“ImageFileName”)。

谢谢你们伙计

+0

上的信息之后,将整个路径保存到了我的字段中。这是基本的ms-access数据库工作 - 查找添加新记录并试用某些东西的示例。这不是您分享的相关代码 – dbmitch

回答

0

这是一个调整好的代码片段。将这些项添加到相关表的记录集中,以存储具有外键的完整文件名/路径。我将所有的我使用Save AS移动到一个文件夹。

dim obj as object 
dim rsimg as dao.recordset 
Set obj = CreateObject("WScript.shell") 
Set rsimg = CurrentDb.OpenRecordset("tbltostorefilenameswforeignkey", dbOpenDynaset) 
Set fdialog = Application.FileDialog(msoFileDialogFilePicker) 
With fdialog 
    .AllowMultiSelect = True 
    .Title = "Select Images To Add - Multiples OK" 
    .InitialFileName = obj.specialfolders("desktop") 
    .InitialView = msoFileDialogViewLargeIcons 
    .Filters.Clear 
    .Filters.Add "Images", "*.jpg,*.gif,*.png" 
    If .Show = True Then 
     For Each varfile In .SelectedItems 
     Name varfile As Currentproject.path & "\yourfilefoldername" & "\" & Right(varfile, Len(varfile) - InStrRev(varfile, "\")) 
     rsimg.AddNew 
     rsimg("ItemId") = Me.ID 
     rsimg("filepath") = Currentproject.path & "\yourfilefoldername" & "\" & Right(varfile, Len(varfile) - InStrRev(varfile, "\")) 
     rsimg.Update 
     Next varfile 
    End If 
End With 

如果你只使用一个文件的每个记录,并想将它们保存在接盘.allowmultiselect = false表,删除for each next循环,代替varfile只是使用.selecteditems.item(1)

当你得到它,

dim itm as string 
itm = f.selecteditems.item(1) 
me.imagefilename = dir(itm) 

和相同的文件夹路径

0

我用你的代码和味精后我添加的框线(我。“FieldName你想保存路径”。 value = strFolder & strFile),它在显示msgBox