Regular
Beiträge: 79
| Hallo Peter und Forum,
leider löst "Me.Dirty = false" das Problem immer noch nicht. Wenn der Inhalt des Rich-Text-Feldes eine gewisse Länge überschreitet, scheint eine Sperre ausgelöst zu werden. Dabei mach ich jetzt schon folgendes:
Öffnen des Popups aus dem Hauptformular heraus:
Private Sub cmd_edit_remarks_Click()
On Error GoTo fehler
Dim lngOrdID As Long
lngOrdID = Me!txt_ordID
Me.Painting = False
Me.Recordset.Close
DoCmd.OpenForm "popOrdRemarks", , , "ordID = " & lngOrdID, , acDialog
Set Me.Recordset = CurrentDbC.OpenRecordset("SELECT * from qryOrdersWDetails WHERE ordID = " & lngOrdID)
Me.Painting = True
Exit Sub
fehler: MsgBox "Fehler " & Err.Number & ": " & Err.Description, , "Bitte Fehlernummer und Beschreibung an den Administrator melden"
End Sub
Und beim Klick auf den OK-Button des Popups:
Private Sub cmd_OK_Click()
On Error GoTo fehler
If Me.Dirty = True Then
Me!txt_ordModBy = fncUserName() 'hier und in der nächsten Zeile protokolliere ich noch Datum und User der Änderung
Me!txt_ordModDate = Date
Me.Dirty = False
End If
DoCmd.Close acForm, Me.Name
Exit Sub
fehler: MsgBox "Fehler " & Err.Number & ": " & Err.Description, , "Bitte Fehlernummer und Beschreibung an den Administrator melden"
End Sub
Bei langen Texten im betroffenen Feld dauert es einen Moment und dann meldet er, dass keine Speicherung erfolgen kann, da der Datensatz durch User Admin auf dem aktuellen Rechner gesperrt ist.
Wie kann das sein, wo ich doch das Recordset aktiv schließe? Das Neusetzen des Recordsets erfolgt ja erst, nachdem das Popup wieder geschlossen ist, weil ich es ja mit "acDialog" öffne.
Bin ratlos, es muss doch möglich sein, in einem Feld mit dem Dateityp "Langer Text" lange Texte zu speichern. Hat noch jemand Ideen?
Viele Grüße
Andrea
|