MS Access - 数据选择已更改

时间:2015-08-04 18:29:15

标签: access-vba ms-access-2013

我有一个小但难以捉摸的问题:

在MS Access中,我有一个结果表单。在这张表格上我有一个清单。此列表是基于主表单ID的子选择。如何捕获行更改,以便更新我的列表?

我不是在寻找插入/更新语句!我有他们很好,他们工作正常,但除非每行更新行之前/更新行,否则不要帮助我。

在我的例子中,列表是选定电影的类型。

Private Sub film_name_AfterUpdate()

    Dim strNewRecord As String
    Dim film_id As Integer

    If IsNull(Forms!Films!film_id) Then
            GoTo cmdNoRecord_Error
    Else:
        film_id = Forms!Films!film_id
        strNewRecord = "SELECT qry_film_genres.gen_name FROM qry_film_genres " _
            & " WHERE film_id = " _
            & film_id & " ORDER BY qry_film_genres.gen_name"
            Me.Genre_List.RowSource = strNewRecord
    End If

    Exit Sub

cmdNoRecord_Error:
   MsgBox "Please Select a Film."
   Exit Sub
End Sub

1 个答案:

答案 0 :(得分:0)

您只需要使用film_id Change事件。我假设'film_id'字段位于父窗体上,子窗体是'Genre_List'控件所在的位置。

EG:

Private Sub film_id_Change()
    If Not IsNull(Me.film_id) Then
        Me.CHILDFORM.Genre_List.RowSource = "SELECT qry_film_genres.gen_name FROM qry_film_genres " _
            & " WHERE film_id = " & Me.film_id & " ORDER BY qry_film_genres.gen_name"
    End If
End Sub