[AccessD] Open Report from MainForm based on SubForm

Hollis, Virginia hollisvj at pgdp.usec.com
Wed Oct 14 08:24:22 CDT 2009


I checked and the subform is named correctly (frm_VehicleInspectionSub).
The first part of the code sets the focus to the subform & this works.

 

With your example I get - "Can't find field VehicleInspID referred to in
your expression". I checked the names & the control sources and they all
show VehicleInspID;

********

The syntax you want is:-
 
DoCmd.OpenReport "MyRpt", acViewPreview, , "VehicleInspID=" &
"Forms![frm_VehicleInspection]![frm_VehicleInspectionSub].Form![VehicleI
nspID]="
& me![VehicleInspID]
 
Virginia, make SURE that your have the correct NAME of the sub form.
Often people think they know what it is called but it isnt called that
at all.  Check the data AND "Other" Tab in the properties.
 
I have a sub form where the DataSource = "MCM_PeoplePopNAD" But I call
the form (Under the Other Tab in the properties) "PeoplePopSub2"
 
Max
 
*********
I have a command button on the main form that I want to open a report
 filtered to one record based on a value on the SubForm.
 
 frm_VehicleInspection (mainform)
 frm_VehicleInspectionSub (subform)
 rpt_VehicleInspection (report to open)
 VehicleInspID is the key to open the report.
 
 
 
 ****************
 
 On Error GoTo Err_cmdPrint_Click
     Dim stDocName As String
     Dim stLinkCriteria As String
 'If
IsNull(Forms!frm_VehicleInspection.frm_VehicleInspectionSub!VehicleID)
 Then
  '       MsgBox "You must must enter a record before printing.",
 vbExclamation + vbOKOnly, "Entry Required"
 
   '    Exit Sub
 'End If
  '   vbresponse = acDataErrContinue
 '    DoCmd.RunCommand acCmdSaveRecord
 
     stDocName = "rpt_VehicleInspection"
 
     Forms![frm_VehicleInspection]![frm_VehicleInspectionSub].SetFocus
 
 This didn't work (it opens the report, but shows all the records on the
 report): 'DoCmd.OpenReport stDocName, acPreview, ,
 
"Forms![frm_VehicleInspection]![frm_VehicleInspectionSub].Form![VehicleI
 nspID]=" &
 
 
Forms![frm_VehicleInspection]![frm_VehicleInspectionSub]![VehicleInspID]
 
  This didn't work:   'DoCmd.OpenReport stDocName, acPreview, ,
 
"Forms![frm_VehicleInspection]![frm_VehicleInspectionSub].Form![VehicleI
 nspID]=" & Me![VehicleInspID]
 
 This didn't work either:    DoCmd.OpenReport stDocName, acPreview, ,
 
"Forms![frm_VehicleInspection]![frm_VehicleInspectionSub].Form![VehicleI
 nspID]=" & strDocName!VehicleInspID.[VehicleInspID]
 
 
 Exit_cmdPrint_Click:
     Exit Sub
 
 Err_cmdPrint_Click:
 
     MsgBox Err.Description
 
     Resume Exit_cmdPrint_Click
 
 End Sub
 
 Virginia

 




More information about the AccessD mailing list