我试图在数据库中创建一个表,该表存储与数据库相关的所有文档“。我真正想要的是上传的文件,并将文件复制到网络位置,通过从文档表窗体中连接两个字段来重命名文件(消除外部位置中的重复文件名问题),然后将文件名和文件路径存储在表中的文件路径字段中。访问和VBA我很新,所以我很难让一切都能工作。我目前所拥有的代码如下:

Option Compare Database

Private Sub Command15_Click()
Dim f As Object

Set f = Application.FileDialog(3)

f.AllowMultiSelect = False

If f.Show Then
    For i = 1 To f.SelectedItems.Count
        sFile = Filename(f.SelectedItems(i), sPath)
        MsgBox sPath & "---" & sFile
    Next
End If

End Sub

Public Function Filename(ByVal strPath As String, sPath) As String
    sPath = Left(strPath, InStrRev(strPath, "\"))
    Filename = Mid(strPath, InStrRev(strPath, "\") + 1)
End Function
.

我似乎无法掌握如何移动,通过将两个字段从表单连接,或存储表格的路径字段中的路径来重命名。我去过以下位置来获取我可以的信息

ms访问文件和get文件名和路径

vba从一个目录复制文件另一个

我目前正在使用Microsoft Access 2010,并且由于数据库大小约束,我不希望使用文件附件字段类型。目前我按一个按钮,文件资源管理器似乎导航到正在上载的文件,并且路径和文件名被输入到字符串中。在这一点之后,我迷路了。如果需要任何其他信息,请告诉我。提前感谢您的帮助。

有帮助吗?

解决方案

我相信你管理文件的方法是对的。在大多数情况下,当文件系统更适合这份工作时,在数据库本身存储文档并没有很大意义。

您所做的是相当简单的,但主要的复杂性将来自各种路径和文件名的正确管理,并从中提取正确的信息。

如果您没有使用一些辅助功能来解剖和重新关注路径的各种比特,则可能会变得棘手。

我已经创建了一个 sample database数据库具有少数功能。可能不会完全符合您需要的内容,但您可以轻松地播放它以适应您的特定情况。

示例数据库包括一个生成的icetagcode vba模块,具有一些有用的功能,可以将路径分成其成分。

基本上,数据库有2个形式。

主表单允许您设置要保存文件的网络路径。 然后,您可以选择与文档关联的预定义的帐号(列出的属性定义表中),然后单击上载按钮。

这在Tools表中创建了一个新的记录,打开了一个表单,您可以在其中编辑文档标题,然后单击一个按钮以将文件上传到服务器。

在转换路径后,用户选择的文件将复制到服务器。 我认为文件将保留其原始扩展名,文件名将重命名为生成的Account记录的Document,其中文件信息被保存(如世文乡icetagcode),并且该文件夹在服务器上保存的文件夹将是帐号,使用户选择的源文件

C:\Users\user\Desktop\SuperSecretFile.pdf
.

将保存为例如:

\\docserver\files\123-55547\5845.pdf
.

主表单还允许您更新现有记录,从服务器打开文件,打开文件所在的服务器文件夹,甚至用文件的原始名称将服务器文件复制回用户的计算机。

我会让你玩它。如果您有任何问题,请告诉我。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top