I have an Invoices form (frmInvoices) which has a sub form linked to it (subfrmInvoiceDetails). These get their data from the two tables, tblInvoice and tblInvoiceDetail. Basically, I would like to take the subtotal of the subform and write that value to the main form (value to be stored in the table). I have written the code below, but I keep getting the error “Run-time error ‘3464’: Data type mismatch in critical expression.” If I debug the code, the last line of code has the following message: “rst!SubTotal = <Object variable or With block variable not set>” Any ideas of what I am doing wrong?
Private Sub Form_AfterUpdate()
Set db = CurrentDb
Set rst = db.OpenRecordset("SELECT tblInvoiceDetail.INoID, Sum(tblInvoiceDetail.Total) as SumOfTotal FROM tblInvoiceDetail GROUP BY tblInvoiceDetail.INoID HAVING (((tblInvoiceDetail.INoID)='" & Form_frmInvoices.INoID & "'));")
Form_frmInvoices.txtTotal = rst!SumOfTotal
End Sub
Private Sub Form_AfterUpdate()
Set db = CurrentDb
Set rst = db.OpenRecordset("SELECT tblInvoiceDetail.INoID, Sum(tblInvoiceDetail.Total) as SumOfTotal FROM tblInvoiceDetail GROUP BY tblInvoiceDetail.INoID HAVING (((tblInvoiceDetail.INoID)='" & Form_frmInvoices.INoID & "'));")
Form_frmInvoices.txtTotal = rst!SumOfTotal
End Sub