【问题标题】:MS Access - Save Filename and Filepath to Fields in a TableMS Access - 将文件名和文件路径保存到表中的字段
【发布时间】:2016-08-03 21:57:21
【问题描述】:

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

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”)。

谢谢大家

【问题讨论】:

  • 这是基本的 ms-access 数据库工作 - 查找添加新记录的示例并尝试一下。这不是您分享的相关代码

标签: database ms-access vba filenames filepath


【解决方案1】:

这是一个经过调整的 sn-p。将项目添加到相关表的记录集中,以使用外键存储完整的文件名/路径。我使用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)

文件夹路径也一样

【讨论】:

    【解决方案2】:

    我使用了你的代码,在我添加的 msgBox 行之后(我。“FieldName你想保存路径”。value = strFolder & strFile),它在显示信息后将整个路径保存到我的字段msgBox

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      • 1970-01-01
      • 2018-02-22
      • 2021-07-24
      • 2018-01-03
      相关资源
      最近更新 更多