2

我正在尝试在 Access 中的一个表单上创建一个按钮,该按钮会将文件从一个文件夹移动到另一个文件夹。项目的文件路径存储在数据库中。我目前的方法是使用 VB,并在此处显示。

Private Sub Command21_Click()
    Dim d As Database
    Dim r As Recordset
    Dim path As Field
    Dim fromPath As String
    Dim toPath As String
    Set d = CurrentDb()
    Set r = d.OpenRecordset("Documents")
    Set path = r.Fields("Action Items Location")
    While Not r.EOF
        fromPath = path
        Set toPath = My.Computer.FileSystem.GetParentPath(fromPath) 'Error line
        toPath = toPath & "\to folder"
        My.Computer.FileSystem.MoveFile fromPath, toPath
    Wend

End Sub

我不断收到一条错误消息,指出在标记为错误行的行上需要对象。我该如何解决这个错误,或者我是否以正确的方式解决它?

4

2 回答 2

2

感谢您的回复,尽管经过更多研究以及@Basdwarf 的建议,我找到了解决方案。这是完成的代码

Private Sub Command21_Click()
    Dim d As Database
    Dim r As Recordset
    Dim path As Field

    Dim fromPath As String
    Dim toPath As String
    Dim fileName As String

    Dim filesystem As Object

    Set filesystem = CreateObject("Scripting.FilesystemObject")
    Set d = CurrentDb()
    Set r = d.OpenRecordset("Documents")
    Set path = r.Fields("Action Items Location")

    fromPath = path
    fileName = filesystem.GetFileName(path)
    toPath = filesystem.GetParentFolderName(filesystem.GetParentFolderName(fromPath)) & "\to folder" & "\" & fileName
    MsgBox (fromPath)
    MsgBox (toPath)
    FileCopy fromPath, toPath
    Kill fromPath
End Sub
于 2013-07-23T20:46:09.737 回答
0

GetParentPath 不是 Access 中 VBA.Filesystem 类中的可用方法。进入代码、视图、对象浏览器,在文件系统中搜索可用方法。

您可以使用 GetFileInfo 查找文件目录。

于 2013-07-22T20:31:52.937 回答