2017-03-07 6 views
0

Ich habe ein Formular verwendet, um Aktionen für meine Arbeit zu verfolgen. Das Formular behandelt auch Anhänge. Alles war in Ordnung, aber seit die IT mein System auf Windows 10 und gleichzeitig Office 13 umgestellt hat, dann 2016. Die Anhangsfunktion funktioniert nicht richtig. Beim Hinzufügen eines Anhangs zu einem neuen Datensatz wird der VBA ohne Fehler abgeschlossen, der Datensatz wird jedoch im vorherigen Datensatz gespeichert. Hat sich in späteren Versionen etwas geändert, was mir bewusst sein sollte. Ich verwende eine einfache genug rotine Dateien hinzuzufügen: -Zugriff 2016 VBA Datensatz .addnew speichert auf vorherigen Datensatz

Dim db As DAO.Database 
Dim rsParent As DAO.Recordset2 
Dim rsChild As DAO.Recordset2 
Set db = CurrentDb 
Set rsParent = Me.Recordset 
rsParent.OpenRecordset 
rsParent.Edit 

Set rsChild = rsParent.Fields("Attachments").Value 

rsChild.AddNew 
rsChild.Fields("FileData").LoadFromFile FilePath 
rsChild.Update 
rsParent.Update 
+0

Ich habe vergessen, die dim in meinen Beitrag hinzuzufügen; Dim db Wie DAO.Database Dim rsParent Wie DAO.Recordset2 Dim rsChild Wie DAO.Recordset2 – NsC0001

+0

Warum öffnen Sie ein Re-Cord-Set für das Eltern und verwenden dann .edit - Sie scheinen nichts damit zu tun, keine Werte werden angewendet oder geändert. – Minty

+0

Ich entfernte das Openrecordset auf dem Eltern, aber es funktioniert immer noch nicht. Ich kann nur Anlagen hinzufügen, wenn der Datensatz ohne Anhang gespeichert wird und ich gehe zu einem anderen Datensatz und dann zurück zu dem Datensatz, dem ich den Anhang hinzufügen möchte. – NsC0001

Antwort

0

Ok fand eine Lösung. Nach dem Versuch, alle möglichen Methoden zu verwenden, um Anhänge im aktuellen Datensatz ohne Ergebnis speichern zu lassen. Ich hatte die Anlage auf die aktuelle Datensatzgruppe zu zwingen, den aktuellen ID.:-

Set db = CurrentDb 
strSQL = "SELECT * FROM ATS WHERE ID=" & ID 
Set rsParent = db.OpenRecordset(strSQL) 
Set rsChild = rsParent.Fields("Attachments").Value 
rsParent.Edit 
rsChild.AddNew 
rsChild.Fields("FileData").LoadFromFile FilePath 
rsChild.Update 
rsParent.Update 
mit
Verwandte Themen