Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Anlagefeld im Formular befüllen

Begonnen von dubi, März 12, 2017, 23:57:15

⏪ vorheriges - nächstes ⏩

dubi

Hallo,

ich habe ein Formular "frmSysteme", in dem ich unter anderem ein Feld "fldDefCode" vom Typ "Anlage" habe. Im Formular habe ich nun einen Knopf erstellt, welcher Informationen aus einer vorgegebenen Datei liest. In dieser Datei steht nun unter anderem der Pfad zu einer anderen Datei, welche ich nun per VBA (Ereignis "Beim Klicken") in das Feld fldDefCode lesen möchte.
Was immer ich versuche: es gelingt mir nicht. Versucht habe ich z.B.
Me.fldDefCode.Fields("FileData").LoadFromFile fp
Wobei "FP" der Pfad zur Datei ist (also z.B. "D:\temp\data.txt")
Das Feld fldDefCode ist mit dem Steuerelement DefCode verbunden. DefCode ist ein Feld vom Typ Anlage der Tabelle, auf der das Formular beruht. Die Basistabelle für das Formular heisst tblSysteme.
Ich habe seit einigen Jahren nicht mehr VBA in Acc programmiert und wäre für Hilfe, wie ich die Datei in das Feld bekomme sehr dankbar!

Danke
dubi

PS: Früher gab es ja die OLE-Felder, die ja nicht sehr speichereffizient waren. Das neue Format "Anlage" ist hier ja wohl sehr viel sparsamer. Und ja - ich brauche die Datei effektiv als Anhang, nicht einfach als Pfad-Referenz ins Dateisystem (denn der Inhalt der Datei verändert sich regelmässig - und ich benötige den "Snapshot").

Lachtaube

Du müsstest den Text aus der Datei auslesen.     Const FILENAME$ = "D:\temp\data.txt"

   Dim fn%, fp$
   
   fn = FreeFile()
   Open FILENAME For Input As fn
   If Not EOF(fn) Then Line Input #fn, fp
   Close fn
Grüße von der (⌒▽⌒)

dubi

Danke Lachtaube. Das hilft mir nicht wirklich. Ich habe Textdateien und Binärdateien einzulesen. Daher muss die Datei mit Namen und unveränderten Inhalt in das Anlagefeld eingelesen werden (genau genommen müssen in eines der Anlagefelder mehrere Dateien mit unterschiedlichem Namen eingelesen werden). Manuell geht das prima im Formular. Allerdings soll das nun noch via VBA stattfinden.
Danke und liebe Grüsse
dubi


dubi

Danke für den Hinweis. Das heisst, dass ich mit dem Recordset vom Formular arbeiten muss. Verstanden. Andere Felder (also z. B. einfache Textfelder) kann ich ja ohne Verwendung vom Recordset etc. direkt beschreiben. Geht das also bei den "neuen" Anlage-Feldern nicht?

DF6GL

Hallo,

die Value-Eigenschaft des AnlagenFeldes ist ein Recordset vom (neuen) Datentyp DAO.Recordset2

Andere Steuerelemente und das Formular benötigen Recordsets vom Datentyp DAO.Recordset

dubi

AHAAAA - das Recordset2 kenne ich bisher noch nicht - bin tatsächlich seit einigen Jahren aus der Access Programmierung drausssen. Dann mach ich das halt wie im englischen post angegeben...

Danke nochmals!

derArb

Hallo,
@dubi: viel Spass beim Arbeiten mit Anlagefeldern und VBA; insbesondere dann, wenn sie in Auswertungen eingebunden werden müssen.