Hi, I have several users of a database that I built who keep getting the runtime error 3012. Not all users are getting it. Its a split database and users can enter a case number. The code is:
Private Sub Select_Agreement_Type_BeforeUpdate(Cancel As Integer)
MsgBox "Please wait while we verify this request. " & vbCr & vbCr & "This may take a couple minutes. You will be prompted when you can proceed.", vbOKOnly + vbExclamation, "Request Verification"
If Me.Select_Agreement_Type = "WAIVER" Then
Dim RS As DAO.Recordset
Dim DB As DAO.Database
Dim qdf As QueryDef
Dim qdfOutput As QueryDef
Dim strQryName As String
Dim strOutputQryName As String
Dim SETS_Case_Number As String
Dim strSql As String
Dim strSQLOutput As String
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_Waiver_Check].* FROM [qry_Waiver_Check] " & _
"WHERE ((([qry_Waiver_Check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberWaiver", strSql)
strQryName = "qrySETSNumberWaiver"
If DCount("*", "qrySETSNumberWaiver") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active negotiation on this case." _
& vbCr & vbCr & "Only one waiver allowed per case. Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
ElseIf Me.Select_Agreement_Type = "LUMP SUM COMPROMISE" Then
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_compromise_check].* FROM [qry_compromise_check] " & _
"WHERE ((([qry_compromise_check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberCompromise", strSql)
strQryName = "qrySETSNumberCompromise"
If DCount("*", "qrySETSNumberCompromise") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active negotiation on this case." _
& vbCr & vbCr & "Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
ElseIf Me.Select_Agreement_Type = "INSTALLMENT PLAN COMPROMISE" Then
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_compromise_check].* FROM [qry_compromise_check] " & _
"WHERE ((([qry_compromise_check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberCompromise", strSql)
strQryName = "qrySETSNumberCompromise"
If DCount("*", "qrySETSNumberCompromise") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active compromise on this case." _
& vbCr & vbCr & "Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
ElseIf Me.Select_Agreement_Type = "FAMILY SUPPORT PROGRAM" Then
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_compromise_check].* FROM [qry_compromise_check] " & _
"WHERE ((([qry_compromise_check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberCompromise", strSql)
strQryName = "qrySETSNumberCompromise"
If DCount("*", "qrySETSNumberCompromise") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active compromise on this case." _
& vbCr & vbCr & "Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
End If
End Sub
Please help!
Private Sub Select_Agreement_Type_BeforeUpdate(Cancel As Integer)
MsgBox "Please wait while we verify this request. " & vbCr & vbCr & "This may take a couple minutes. You will be prompted when you can proceed.", vbOKOnly + vbExclamation, "Request Verification"
If Me.Select_Agreement_Type = "WAIVER" Then
Dim RS As DAO.Recordset
Dim DB As DAO.Database
Dim qdf As QueryDef
Dim qdfOutput As QueryDef
Dim strQryName As String
Dim strOutputQryName As String
Dim SETS_Case_Number As String
Dim strSql As String
Dim strSQLOutput As String
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_Waiver_Check].* FROM [qry_Waiver_Check] " & _
"WHERE ((([qry_Waiver_Check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberWaiver", strSql)
strQryName = "qrySETSNumberWaiver"
If DCount("*", "qrySETSNumberWaiver") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active negotiation on this case." _
& vbCr & vbCr & "Only one waiver allowed per case. Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
ElseIf Me.Select_Agreement_Type = "LUMP SUM COMPROMISE" Then
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_compromise_check].* FROM [qry_compromise_check] " & _
"WHERE ((([qry_compromise_check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberCompromise", strSql)
strQryName = "qrySETSNumberCompromise"
If DCount("*", "qrySETSNumberCompromise") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active negotiation on this case." _
& vbCr & vbCr & "Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
ElseIf Me.Select_Agreement_Type = "INSTALLMENT PLAN COMPROMISE" Then
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_compromise_check].* FROM [qry_compromise_check] " & _
"WHERE ((([qry_compromise_check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberCompromise", strSql)
strQryName = "qrySETSNumberCompromise"
If DCount("*", "qrySETSNumberCompromise") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active compromise on this case." _
& vbCr & vbCr & "Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
ElseIf Me.Select_Agreement_Type = "FAMILY SUPPORT PROGRAM" Then
Set DB = CurrentDb
Set RS = CurrentDb.OpenRecordset("Reduction Details")
With RS
.MoveFirst
Do While Not .EOF
strSql = "SELECT [qry_compromise_check].* FROM [qry_compromise_check] " & _
"WHERE ((([qry_compromise_check].[SETS Case Number])=""" & Me.SETS_Case_Number & """));"
Set qdf = DB.CreateQueryDef("qrySETSNumberCompromise", strSql)
strQryName = "qrySETSNumberCompromise"
If DCount("*", "qrySETSNumberCompromise") > 0 Then
'Undo duplicate entry
Me.Undo
'Message box warning of duplication
MsgBox "There is already an active compromise on this case." _
& vbCr & vbCr & "Please Review Case.", _
vbInformation, "Duplicate Information"
Cancel = True
End If
DB.QueryDefs.Delete qdf.Name
.MoveNext
Loop
End With
RS.Close
End If
End Sub
Please help!