This one is driving me NUTS! I have a form with a combobox, a few textboxes, and a sub-form.
On Load the form is populated with a sql command/rcSet.Fields() results.
The user then chooses a status from the combobox to narrow down the results. The combobox OnChange event looks like this...
sDate = Forms("frm-MENU").txtS_Date.Value
eDate = Forms("frm-MENU").txtE_Date.Value
xJob = Forms("frm-HD/DVR_CC").lstJob.Value
On Error GoTo hd_dvrErr
'this gets the top of the HD/DVR form
sSQL = "SELECT Count(*) AS Total, Sum(IIf([pmt_meth] In ('C','E'),0,1)) AS Error, Sum(IIf([pmt_meth]='C',1,0)) AS [Credit Card], Sum(IIf([pmt_meth]='E',1,0)) AS EFT " & _
"FROM [tbl_HD/DVR_CreditCard(*)] " & _
"WHERE ((([tbl_HD/DVR_CreditCard(*)].CDATE) Between #" & sDate & "# And #" & eDate & "#) AND (([tbl_HD/DVR_CreditCard(*)].JOB_TYPE) Like '" & xJob & "*'));"
Set db = CurrentDb()
Set rcSet = db.OpenRecordset(sSQL)
With Forms("frm-HD/DVR_CC")
.txtTotal.Value = rcSet.Fields(0)
.txtError.Value = rcSet.Fields(1)
.txtCC.Value = rcSet.Fields(2)
.txtEFT.Value = rcSet.Fields(3)
End With
'this gets the bottom or subform of the HD/DVR form
sSQL = "SELECT IIf([Agent]='UNKNOWN','xxxxx',[REP]) AS [Agent ID], [tbl_HD/DVR_CreditCard(*)].Agent, [tbl_HD/DVR_CreditCard(*)].JOB_TYPE, Count(*) AS Total, Sum(IIf([pmt_meth] In ('C','E'),0,1)) AS Error, Sum(IIf([pmt_meth]='C',1,0)) AS [Credit Card], Sum(IIf([pmt_meth]='E',1,0)) AS EFT, Sum(IIf([pmt_meth] In ('C','E'),0,1))/Count(*) AS [Error Rate] " & _
"FROM [tbl_HD/DVR_CreditCard(*)] " & _
"WHERE ((([tbl_HD/DVR_CreditCard(*)].CDATE) Between #" & sDate & "# And #" & eDate & "#)) " & _
"GROUP BY IIf([Agent]='UNKNOWN','xxxxx',[REP]), [tbl_HD/DVR_CreditCard(*)].Agent, [tbl_HD/DVR_CreditCard(*)].JOB_TYPE " & _
"HAVING ((([tbl_HD/DVR_CreditCard(*)].JOB_TYPE) Like '" & xJob & "*')); "
Set qdTemp = db.QueryDefs("qry_HD/DVR")
qdTemp.SQL = sSQL
qdTemp.Close
If Not Forms("frm-HD/DVR_CC").FormFooter.Visible Then
Forms("frm-HD/DVR_CC").FormFooter.Visible = True
Else
'DoCmd.Close acForm, "frm-HD/DVR_CC(Footer)", acSaveNo
End If
DoCmd.OpenForm ("frm-HD/DVR_CC(Footer)"), acNormal, , , , acHidden
Forms("frm-HD/DVR_CC(Footer)").Recalc
Forms("frm-HD/DVR_CC").Refresh
Forms("frm-HD/DVR_CC(Footer)").Refresh
' DoCmd.MoveSize Height:=Forms("frm-HD/DVR_CC(Footer)").WindowHeight + Forms("frm-HD/DVR_CC(Footer)").FormFooter.Height
exit_hd_dvrErr:
Exit Function
hd_dvrErr:
MsgBox Err.Number & "-" & Err.Description
Forms("frm-HD/DVR_CC").FormFooter.Visible = False
Resume exit_hd_dvrErr
End Function
I have used similar code on another form and everytime the search criteria changes the sub form updates to reflect such. I know I am missing something small; can somebody please point it out?
I need to have the subform show the updated (choice from combo) criteria.
If this seems to cloudy, please let me know and I will try and revise
On Load the form is populated with a sql command/rcSet.Fields() results.
The user then chooses a status from the combobox to narrow down the results. The combobox OnChange event looks like this...
sDate = Forms("frm-MENU").txtS_Date.Value
eDate = Forms("frm-MENU").txtE_Date.Value
xJob = Forms("frm-HD/DVR_CC").lstJob.Value
On Error GoTo hd_dvrErr
'this gets the top of the HD/DVR form
sSQL = "SELECT Count(*) AS Total, Sum(IIf([pmt_meth] In ('C','E'),0,1)) AS Error, Sum(IIf([pmt_meth]='C',1,0)) AS [Credit Card], Sum(IIf([pmt_meth]='E',1,0)) AS EFT " & _
"FROM [tbl_HD/DVR_CreditCard(*)] " & _
"WHERE ((([tbl_HD/DVR_CreditCard(*)].CDATE) Between #" & sDate & "# And #" & eDate & "#) AND (([tbl_HD/DVR_CreditCard(*)].JOB_TYPE) Like '" & xJob & "*'));"
Set db = CurrentDb()
Set rcSet = db.OpenRecordset(sSQL)
With Forms("frm-HD/DVR_CC")
.txtTotal.Value = rcSet.Fields(0)
.txtError.Value = rcSet.Fields(1)
.txtCC.Value = rcSet.Fields(2)
.txtEFT.Value = rcSet.Fields(3)
End With
'this gets the bottom or subform of the HD/DVR form
sSQL = "SELECT IIf([Agent]='UNKNOWN','xxxxx',[REP]) AS [Agent ID], [tbl_HD/DVR_CreditCard(*)].Agent, [tbl_HD/DVR_CreditCard(*)].JOB_TYPE, Count(*) AS Total, Sum(IIf([pmt_meth] In ('C','E'),0,1)) AS Error, Sum(IIf([pmt_meth]='C',1,0)) AS [Credit Card], Sum(IIf([pmt_meth]='E',1,0)) AS EFT, Sum(IIf([pmt_meth] In ('C','E'),0,1))/Count(*) AS [Error Rate] " & _
"FROM [tbl_HD/DVR_CreditCard(*)] " & _
"WHERE ((([tbl_HD/DVR_CreditCard(*)].CDATE) Between #" & sDate & "# And #" & eDate & "#)) " & _
"GROUP BY IIf([Agent]='UNKNOWN','xxxxx',[REP]), [tbl_HD/DVR_CreditCard(*)].Agent, [tbl_HD/DVR_CreditCard(*)].JOB_TYPE " & _
"HAVING ((([tbl_HD/DVR_CreditCard(*)].JOB_TYPE) Like '" & xJob & "*')); "
Set qdTemp = db.QueryDefs("qry_HD/DVR")
qdTemp.SQL = sSQL
qdTemp.Close
If Not Forms("frm-HD/DVR_CC").FormFooter.Visible Then
Forms("frm-HD/DVR_CC").FormFooter.Visible = True
Else
'DoCmd.Close acForm, "frm-HD/DVR_CC(Footer)", acSaveNo
End If
DoCmd.OpenForm ("frm-HD/DVR_CC(Footer)"), acNormal, , , , acHidden
Forms("frm-HD/DVR_CC(Footer)").Recalc
Forms("frm-HD/DVR_CC").Refresh
Forms("frm-HD/DVR_CC(Footer)").Refresh
' DoCmd.MoveSize Height:=Forms("frm-HD/DVR_CC(Footer)").WindowHeight + Forms("frm-HD/DVR_CC(Footer)").FormFooter.Height
exit_hd_dvrErr:
Exit Function
hd_dvrErr:
MsgBox Err.Number & "-" & Err.Description
Forms("frm-HD/DVR_CC").FormFooter.Visible = False
Resume exit_hd_dvrErr
End Function
I have used similar code on another form and everytime the search criteria changes the sub form updates to reflect such. I know I am missing something small; can somebody please point it out?

I need to have the subform show the updated (choice from combo) criteria.
If this seems to cloudy, please let me know and I will try and revise