Good morning, I have a inconsistent error when trying to delete duplicates. I will occasionally get the error 3052 "File sharing lock count exceeded. Increase Max Locks per file registration entry. My table has only 22,000 record. The error is on line "Call.Delete"
Code:
Private Sub cmdDup_Click()Dim dbs As DAO.Database
Dim strSQL As String
Dim strTable As String
Dim strField1 As String
Dim strField2 As String
Dim strField3 As String
Dim varLastVal1 As Variant
Dim varLastVal2 As Variant
Dim varLastVal3 As Variant
Set dbs = CurrentDb
strTable = "tblImportFM_PI" ' table name
strField1 = "LOAN_NUM" ' field name
strField2 = "MC_ORDER_ID"
strField3 = "REC_DATE"
strSQL = "SELECT * FROM [" & strTable & "] ORDER BY [" & strField1 & "], [" & strField2 & "], [" & strField3 & "]"
Debug.Print strSQL
With CurrentDb.OpenRecordset(strSQL, dbOpenDynaset)
varLastVal1 = Null
varLastVal2 = Null
varLastVal3 = Null
'For each record, check varLastVal1, varLastVal2, varLastVal3 against previous values in strField1, strField2, strField3
'If same then this is a duplicate so can be removed
Do Until .EOF
If .Fields(strField1) = varLastVal1 And .Fields(strField2) = varLastVal2 And .Fields(strField3) = varLastVal3 Then
Call .Delete
Else
varLastVal1 = .Fields(strField1)
varLastVal2 = .Fields(strField2)
varLastVal3 = .Fields(strField3)
End If
Call .MoveNext
Loop
'Ending the 'With' releases the Recordset
End With
DoCmd.Close acForm, "frmImportFM_PI"
DoCmd.OpenForm "frmImportFM_PI"
End Sub
I am at a loss on this one. Anyone?