S
Staats
Good Morning! I'm having problems setting the recordsource of a
subform. The subform is not linked to the main form - actually, the
main form has no recordset. The main form has controls to manipulate
the subform. The subform is veiwed as a datasheet. Here is the code
that I am using:
Dim strSqlStmt As String
Dim frmSiteReport As Form
Dim frmSiteReportSub As Form
strSqlStmt = "SELECT tblAWAtrWIm.ATR, tblAWAtrWIm.DIR,
tblAWAtrWIm.Dist, " & _
"tblAWAtrWIm.CO, tblAWAtrWIm.RTE, tblAWAtrWIm.LOG, tblAWAtrWIm.FC, " &
_
"tblAWAtrWIm.Lanes, tblAWAtrWIm.Type, tblAWAtrWIm.PROGRAM,
tblAWAtrWIm.Location, " & _
"tblAWAtrWIm.Comments, tblMntWorkOrders.WorkOrder,
tblMntWorkOrders.dateinitial, " & _
"tblMntWorkOrders.dateVisit, tblMntWorkOrders.dateOfficial, " & _
"tblMntWorkOrders.Contract, tblMntWorkOrders.dateCompleted,
tblMntStatus.StatusText, " & _
"TblTMCounties.Region06, TblTMCounties.Region08 FROM (TblTMCounties
RIGHT JOIN " & _
"(tblMntStatus RIGHT JOIN (tblAWAtrWIm LEFT JOIN tblMntWorkOrders ON "
& _
"tblAWAtrWIm.ATR = tblMntWorkOrders.Site) ON tblMntStatus.Status = " &
_
"tblMntWorkOrders.Status) ON TblTMCounties.Abreviation =
tblAWAtrWIm.CO) " & _
"WHERE ( TblTMCounties.Region06 = 1 ) AND ( tblMntWorkOrders.contract
= '06' " & _
"OR tblMntWorkOrders.contract is NULL) AND ( tblAWAtrWim.Type =
'Down' OR " & _
"tblAWAtrWim.Type = 'out' OR tblAWAtrWim.Type = 'VOL' OR
tblAWAtrWim.Type = " & _
"'LEN' OR tblAWAtrWim.Type = 'CLS' OR tblAWAtrWim.Type = 'WIM' ) ORDER
BY " & _
"tblAWAtrWIm.Dist , tblAWAtrWIm.CO, tblAWAtrWIm.RTE, tblAWAtrWIm.LOG"
DoCmd.OpenForm "frmMntSiteReportMain", acNormal, , acFormEdit,
acWindowNormal
Set frmSiteReport = Forms!frmmntsitereportmain.Form
frmSiteReport.SetFocus
frmSiteReport![frmMntSiteReport].LinkChildFields = ""
frmSiteReport![frmMntSiteReport].LinkMasterFields = ""
With frmSiteReport![frmMntSiteReport]
Debug.Print .Name
..RecordSource = strsqlstmt
End With
Even using a string and not a variable, I cannot set the recordsource.
The SQL is valid - it works using a standard query... And I can set the
recordsouce of another form using the sqlcode above. The error code is
428 - Run time error - object doesn't support this method or property.
Correct me if I'm wrong, but does that mean the subform does not
support setting the recordsource? The debug.print statement was just to
see if the sub form supported any methods, and it does. The error is on
the .recordsource statement...
Thanks in advance for the help!
~Garrett
subform. The subform is not linked to the main form - actually, the
main form has no recordset. The main form has controls to manipulate
the subform. The subform is veiwed as a datasheet. Here is the code
that I am using:
Dim strSqlStmt As String
Dim frmSiteReport As Form
Dim frmSiteReportSub As Form
strSqlStmt = "SELECT tblAWAtrWIm.ATR, tblAWAtrWIm.DIR,
tblAWAtrWIm.Dist, " & _
"tblAWAtrWIm.CO, tblAWAtrWIm.RTE, tblAWAtrWIm.LOG, tblAWAtrWIm.FC, " &
_
"tblAWAtrWIm.Lanes, tblAWAtrWIm.Type, tblAWAtrWIm.PROGRAM,
tblAWAtrWIm.Location, " & _
"tblAWAtrWIm.Comments, tblMntWorkOrders.WorkOrder,
tblMntWorkOrders.dateinitial, " & _
"tblMntWorkOrders.dateVisit, tblMntWorkOrders.dateOfficial, " & _
"tblMntWorkOrders.Contract, tblMntWorkOrders.dateCompleted,
tblMntStatus.StatusText, " & _
"TblTMCounties.Region06, TblTMCounties.Region08 FROM (TblTMCounties
RIGHT JOIN " & _
"(tblMntStatus RIGHT JOIN (tblAWAtrWIm LEFT JOIN tblMntWorkOrders ON "
& _
"tblAWAtrWIm.ATR = tblMntWorkOrders.Site) ON tblMntStatus.Status = " &
_
"tblMntWorkOrders.Status) ON TblTMCounties.Abreviation =
tblAWAtrWIm.CO) " & _
"WHERE ( TblTMCounties.Region06 = 1 ) AND ( tblMntWorkOrders.contract
= '06' " & _
"OR tblMntWorkOrders.contract is NULL) AND ( tblAWAtrWim.Type =
'Down' OR " & _
"tblAWAtrWim.Type = 'out' OR tblAWAtrWim.Type = 'VOL' OR
tblAWAtrWim.Type = " & _
"'LEN' OR tblAWAtrWim.Type = 'CLS' OR tblAWAtrWim.Type = 'WIM' ) ORDER
BY " & _
"tblAWAtrWIm.Dist , tblAWAtrWIm.CO, tblAWAtrWIm.RTE, tblAWAtrWIm.LOG"
DoCmd.OpenForm "frmMntSiteReportMain", acNormal, , acFormEdit,
acWindowNormal
Set frmSiteReport = Forms!frmmntsitereportmain.Form
frmSiteReport.SetFocus
frmSiteReport![frmMntSiteReport].LinkChildFields = ""
frmSiteReport![frmMntSiteReport].LinkMasterFields = ""
With frmSiteReport![frmMntSiteReport]
Debug.Print .Name
..RecordSource = strsqlstmt
End With
Even using a string and not a variable, I cannot set the recordsource.
The SQL is valid - it works using a standard query... And I can set the
recordsouce of another form using the sqlcode above. The error code is
428 - Run time error - object doesn't support this method or property.
Correct me if I'm wrong, but does that mean the subform does not
support setting the recordsource? The debug.print statement was just to
see if the sub form supported any methods, and it does. The error is on
the .recordsource statement...
Thanks in advance for the help!
~Garrett