Beitrag aus SmartTools Access Weekly
Inhalt einer Textdatei in Memofeld einlesen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE In meiner Access-Datenbank verwende ich in einem Formular ein Memofeld, das in einigen Fällen sehr viel Text enthalten kann. Zum Teil werden die Informationen aus anderen Anwendungen übernommen. Das ist natürlich über die Zwischenablage möglich, aber ich möchte eine Funktion integrieren, um den gesamten Inhalt einer TXT-Datei in das Memofeld einzulesen. Können Sie mir einige Anhaltspunkte geben, wie das mit VBA zu realisieren ist?
H. Urban
ANTWORT Die VBA- Umsetzung sieht folgendermaßen aus:
Dim strFName As String, strText As String
Dim FNum As Integer, FLen As Long
strFName = "X:\Pfad\Dateiname.erw"
FLen= FileLen(strFName)
FNum = FreeFile
Open strFName For Input As #FNum
strText = Input(FLen, FNum)
Close #FNum
Me.fldMemo = strText
Der Pfad/Dateiname der einzulesenden Textdatei wird in der Variablen "strFName" spezifiziert und ist entsprechend anzupassen. Mit "FileLen()" ermitteln wir anschließend für diese Datei zunächst die Größe in Bytes. Die folgenden Anweisungen öffnen dann die Textdatei zum Auslesen (Open ... For Input) und lesen mit der Funktion "Input()" die in der Variablen "FLen" festgehaltene Anzahl Bytes in einem Block in die Variable "strText" ein. Von dort aus wird der Inhalt dem Memofeld "fldMemo" zugewiesen. Den Namen passen Sie ebenfalls gemäß dem in Ihrem Formular verwendeten Memofeld an. Um den Inhalt eines Memofeldes in einer Textdatei zu speichern, gehen Sie analog zu obiger Routine vor:
strText = fldMemo
FNum = FreeFile
Open strFName For Output As #Fnum
Print #FNum, strText
Close #Fnum