-2

我正在研究数据库。该数据库涉及项目;您可以单击一个按钮来添加一个项目,当您这样做时,它会在另一个页面上的数据表子表单中显示所有项目。

我如何能够将文件夹链接到某个项目?因此,当您在字段中输入所有信息时,您还可以输入文件夹位置,并在保存时将其保存到表中。现在,一旦您转到子表单,单击该字段,然后单击“打开文件夹”按钮,它将在您的计算机上打开该文件夹。尽管还要注意,这些文件夹将位于服务器上;从计算机的主硬盘驱动器外部。

表单名称为:DatabaseF & AddProjectF

子窗体名称为:ProjectQSubF

表名是 ProjectsF。

网络位置是 G:\

谢谢!

对不起,我一开始没有把这个放进去,没有想到。我知道如何使用按钮打开代码中预设的文件夹位置;我只是不知道如何附加该代码以根据您单击的字段进行更改。

这是我目前用来打开在它自己的代码中预设的文件夹的代码:

Private Sub ProjectFolderBtn_Click()
    Dim x As Variant
    Const msgTitle As String = "Open Explorer"
    Const cExplorerPath As String = "C:\WINDOWS\EXPLORER.EXE"
    Const cExplorerSwitches As String = " /n,/e"
    Const cFilePath As String = "G:\Projects\Walmart"

    On Error GoTo Error_Handler

    If Dir(cExplorerPath, vbDirectory) = "" Then
        MsgBox "Explorer Path '" & cExplorerPath & "' could not be found.", vbCritical, msgTitle
        x = Shell(cExplorerPath, vbNormalFocus)
    ElseIf Dir(cFilePath, vbDirectory) = "" Then
        MsgBox "Path '" & cFilePath & "' could not be found.", vbCritical, msgTitle
        x = Shell(cExplorerPath, vbNormalFocus)
    Else
        x = Shell(cExplorerPath & cExplorerSwitches & "," & cFilePath, vbNormalFocus)
    End If

    Exit Sub
    Error_Handler:

    MsgBox "An error has occurred trying to open Explorer", vbCritical, msgTitle

    End Sub

要确定您当前选择的字段,您必须从另一个表单中提取 ProjectID,该表单仍将在名为 DatabaseF 的后台打开。那里有一个隐藏的文本框,称为 txtProjID;这就是我为我拥有的更多信息按钮所做的(这是打开文件夹按钮所在的位置)。这就是我所知道的所有方法,但我不知道实际代码一起获取所选字段并从表中存储的信息中打开目录。

4

1 回答 1

1

您将需要对其进行编辑以与您的变量和字段名称保持一致,但需要编辑的内容应该很明显。

Dim db as Database
Dim rec as Recordset

Set db = CurrentDB
Set rec = db.OpenRecordset("Select * from ProjectsF WHERE ProjectID = " & Me.ProjectID & "")

cFilePath = rec("FilePath")

把它放在顶部的某个地方,取出硬编码的 cFilePath const,你应该有一个动态设置的文件路径。

于 2013-11-01T13:52:00.453 回答