【问题标题】:Linking a report to a subform将报表链接到子表单
【发布时间】:2023-03-08 20:15:01
【问题描述】:

我有一个主报告(项目概述),我正在尝试创建一个OnClick 事件,它将把我从报告带到在表单上输入该信息的字段(LiveJobs)。

我的问题是有一个输入订单项目的子表单(Estimate Items Subform)。然后有一个子表单(生产子表单),这是输入组成“项目”的组件的地方。因此,在“项目”下订购了“桌子”,然后桌子的组件 - 抽屉盒、顶部、隐私面板都输入到生产子表单中,因此它们都可以被跟踪和监控以进行生产。在生产它们时,在对应于特定周的时间段中为这些项目中的每一个安排了时间。

在报告中,我希望能够单击为任何组件安排的时间并链接回表格和安排的相应周,并在订单表格中移动时间。我的代码目前将带我到正确的工作,但它不会让我到第一个子表单的正确“层”,然后到组件的正确层。例如,订单中的第 3 个项目,然后是该项目的第 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

【问题讨论】:

    标签: syntax hyperlink criteria recordset findfirst


    【解决方案1】:

    我找到了代码。供参考。

    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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多