Erstellen einer Dokumentendatenbank mit Microsoft Access
-
21-12-2019 - |
Frage
Ich versuche, eine Tabelle innerhalb einer Datenbank zu erstellen, in der alle mit der Datenbank verbundenen Dokumente „darin“ gespeichert werden.Was ich wirklich tun möchte, ist, eine Datei hochzuladen und VBA-Code zu haben, der die Datei an einen Netzwerkspeicherort kopiert, die Datei umbenennt, indem zwei Felder aus dem Dokumenttabellenformular verkettet werden (wodurch das Problem doppelter Dateinamen am externen Speicherort beseitigt wird). und speichert dann den Dateinamen und den Dateipfad in einem Dateipfadfeld in der Tabelle.Ich bin ein sehr neuer Access- und VBA-Neuling und habe daher Schwierigkeiten, alles zum Laufen zu bringen.Der Code, den ich derzeit habe, ist unten:
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
Ich bekomme anscheinend keinen Überblick darüber, wie man die beiden Felder aus dem Formular verschiebt, umbenennt, indem man sie verkettet, oder wie man den Pfad im Pfadfeld der Tabelle speichert.Ich war an den folgenden Orten, um so viele Informationen wie möglich zu erhalten
MS Access sucht nach einer Datei und ruft Dateinamen und -pfad ab
VBA zum Kopieren einer Datei von einem Verzeichnis in ein anderes
Ich verwende derzeit Microsoft Access 2010 und möchte aufgrund von Datenbankgrößenbeschränkungen nicht den Feldtyp „Dateianhang“ verwenden.Momentan drücke ich eine Taste und ein Datei-Explorer erscheint, der zu der hochzuladenden Datei navigiert, und der Pfad und der Dateiname werden in Zeichenfolgen eingegeben.Ab diesem Punkt bin ich verloren.Wenn weitere Informationen benötigt werden, lassen Sie es mich bitte wissen.Vielen Dank im Voraus für die Hilfe.
Lösung
Ich glaube, Ihr Ansatz zur Verwaltung der Dokumente ist richtig.In den meisten Fällen macht es wenig Sinn, Dokumente in der Datenbank selbst zu speichern, wenn das Dateisystem dafür besser geeignet ist.
Was Sie tun, ist ziemlich einfach, aber die größte Komplexität liegt in der korrekten Verwaltung der verschiedenen Pfade und Dateinamen und dem Extrahieren der richtigen Informationen daraus.
Es kann schwierig werden, wenn Sie nicht einige Hilfsfunktionen verwenden, um die verschiedenen Teile der Pfade zu zerlegen und neu zusammenzusetzen.
Ich habe eine erstellt Beispieldatenbank das hat ein paar Funktionen.Entspricht möglicherweise nicht ganz Ihren Anforderungen, Sie können aber problemlos damit experimentieren, um es an Ihren speziellen Fall anzupassen.
Die Beispieldatenbank umfasst a Tools
VBA-Modul, das über einige nützliche Funktionen verfügt, um einen Pfad in seine Bestandteile aufzuteilen.
Grundsätzlich hat die Datenbank 2 Formen.
Im Hauptformular können Sie den Netzwerkpfad festlegen, unter dem die Dateien gespeichert werden sollen.Anschließend können Sie eine vordefinierte Kontonummer auswählen (aufgelistet in). Account
Tabelle), die mit einem Dokument verknüpft ist, und klicken Sie dann auf die Schaltfläche „Hochladen“.
Dadurch wird ein neuer Datensatz erstellt Document
Tabelle und öffnet ein Formular, in dem Sie den Dokumenttitel bearbeiten und auf eine Schaltfläche klicken können, um eine Datei auf den Server hochzuladen.
Die vom Benutzer ausgewählte Datei wird nach der Pfadumwandlung auf den Server kopiert.Ich ging davon aus, dass die Datei ihre ursprüngliche Erweiterung behalten würde und der Dateiname in umbenannt würde ID
des Document
Aufzeichnen, wo die Dateiinformationen gespeichert sind (z. B 5845.pdf
) und dass der Ordner, in dem die Datei auf dem Server gespeichert ist, die Kontonummer ist, sodass eine vom Benutzer ausgewählte Quelldatei vorliegt
C:\Users\user\Desktop\SuperSecretFile.pdf
würde zum Beispiel gespeichert werden als:
\\docserver\files\123-55547\5845.pdf
Mit dem Hauptformular können Sie auch einen vorhandenen Datensatz aktualisieren, die Datei vom Server öffnen, den Ordner des Servers öffnen, in dem sich die Datei befindet, oder sogar die Serverdatei unter dem ursprünglichen Namen der Datei zurück auf den Computer des Benutzers kopieren.
Ich lasse dich damit herumspielen.Lassen Sie mich wissen, wenn Sie irgendwelche Probleme haben.