Occasionally, the assignment to the CNOTE memo field (rsGLXfer!CNOTE = Me!CNOTE) throws the 3049 error. Repair and compact fixes the problem for a while (1 day or so). Here's the code (pretty plain stuff!):
Private Sub OKSaveRecord_Click()
Dim db As DAO.Database
Dim rsGLXfer As DAO.Recordset
Set db = CurrentDb()
Set rsGLXfer = db.OpenRecordset("TransferGL")
If DLookup("Cmonth", "qry_MM_YY") = Me.MM And DLookup("cyear", "qry_MM_YY") = Me.YY Then
MsgBox "You cannot enter a deposit using a closed month Date."
Me.DDATE.SetFocus
End If
If DLookup("Dataset", "tblDataset") = "PriorYear" Then
Exit Sub
End If
On Error GoTo Err_OKSaveRecord_Click
If Me.YAMOUNT = 0 Then
Exit Sub
Else
rsGLXfer.AddNew
rsGLXfer!FromGLAcct = Me.FromGLAcct
rsGLXfer!ToGLAcct = Me.ToGLAcct
rsGLXfer!YAMOUNT = Me.YAMOUNT
rsGLXfer!DDATE = Me.DDATE
rsGLXfer!CDOCUMENT = "Deposit"
rsGLXfer!CNOTE = Me!CNOTE <-- right here is where it (sometimes) "breaks" whether Me!CNote is null or not.
rsGLXfer!IsClosed = False
rsGLXfer!DateAdded = Date
rsGLXfer!NSCHOOLID = 0
rsGLXfer!Random = 0
rsGLXfer!VoidDate = Null
If DLookup("NNextGLXfer", "ActPref") = 0 Or IsNull(DLookup("NNextGLXfer", "ActPref")) Or DLookup("NNextGLXfer", "ActPref") = "" Then
rsGLXfer!GLXferNum = 1
Else
rsGLXfer!GLXferNum = DLookup("NNextGLXfer", "ActPref")
End If
rsGLXfer.Update
End if
End Sub
The error seems to be specific to one customer's data file (using split app and data files) running the Access 2007 runtime. We can replicate the error using their data (usually, but not always) from our development and test machines. Any ideas what's causing
this?
Thanks
DRL