我有一个主报告(项目概述),我正在尝试创建一个OnClick
事件,该事件会将我从报告带到在表单(LiveJobs)上输入该信息的字段。
我的问题是,有一个子窗体(Estimate Items Subform)在其中输入订单项。然后,在该子窗体上(生产子窗体)输入构成“项目”的组件的子窗体。因此,在“项目”下订购了“服务台”,然后在“生产”子窗体中输入了办公桌的组件-抽屉盒,顶部,隐私面板,因此可以对它们进行跟踪和监视以进行生产。当它们被生产时,在与特定星期相对应的时隙中为每个这些项目安排了时间。
在报告中,我希望能够单击为任何组件安排的时间,并链接回到表格和计划安排的相应星期,并在订购表格中移动小时数。目前,我的代码将使我进入正确的工作,但无法使我进入第一个子窗体的正确“层”,然后到达组件的正确层。例如,假设订单中的第三个项目,然后是该项目的2个组成部分。
下面是我当前所在的代码,仅能尝试到达第一个子窗体上的正确项目。我想出是否可以使用相同的逻辑来找到正确的组件。这段代码导致“运行时错误'13'类型不匹配” ...我已经忙了好几天了...预先感谢您提供的所有帮助。
Private Sub Estimated_hours_for_current_week_Click()
Dim strWhere As String
Dim DocName As String
DocName = "LiveJobs"
strWhere = "[Job Number]=" & "'" & Me![Job Number] & "'"
DoCmd.OpenForm DocName, acNormal, , strWhere
Forms![LiveJobs].[Estimate Items Subform].SetFocus
'find the Item in the item subform
Dim dbs As DAO.Database
Dim RstItem As DAO.Recordset
Dim strItemCriteria As Integer
Set dbs = CurrentDb
Set RstItem = dbs.OpenRecordset("Estimate Items Subform table", dbOpenDynaset)
strItemCriteria = "[Estimate Item subform table ID] = '" & Me.Estimate_Item_subform_table_ID & "'"
With RstItem
RstItem.MoveLast
DoEvents
RstItem.FindFirst strItemCriteria
Debug.Print (strItemCriteria)
If .NoMatch Then
MsgBox "No Match Found"
End If
End With
Set rs = Nothing
End Sub
我知道了代码。这里供参考。
Private Sub Estimated_hours_for_current_week_Click()
Dim frm1 As Form
Dim frm2 As Form
Dim rst1 As DAO.Recordset
Dim rst2 As DAO.Recordset
DoCmd.OpenForm "LiveJobs", _
WhereCondition:="[Job Number]=" & "'" & Me![Job Number] & "'"
Set frm1 = Forms!LiveJobs.Estimate_Items_Subform.Form
Set frm2 = Forms!LiveJobs.Estimate_Items_Subform!ProductionComponentSubform.Form
Set rst1 = frm1.Recordset.Clone
Set rst2 = frm2.Recordset.Clone
With rst1
.FindFirst "[Estimate Item subform table ID] =" & Me.Estimate_Item_subform_table_ID
If .NoMatch Then
MsgBox "Item not found"
Else
frm1.Bookmark = rst1.Bookmark
End If
End With
With rst2
.FindFirst "[Estimate details ID]=" & Me.Estimate_details_ID
If .NoMatch Then
MsgBox "project not found"
Else
frm2.Bookmark = rst2.Bookmark
Forms![LiveJobs].SetFocus
Forms![LiveJobs]![Estimate Items Subform].SetFocus
Forms![LiveJobs]![Estimate Items Subform]![ProductionComponentSubform].Form![Estimated
hours for current week].SetFocus
End If
End With
End Sub