vba【查询功能】按A-Z首字母查询(二)

!好家大,嗨

我也蹭一下诺兰最新电影《信条》的热度,皮一子就是好开心呀!

上一篇文章《按A-Z首字母查询(一)》我们已经将查询的标签控件对应的功能代码都讲解完了,接下去我们来讲解一下剩下的功能。

最后剩下的功能其实就是选择列表框的数据后,子窗体显示相关的查询结果的数据。我们来看一下功能。

01、添加列表框单击事件

因为我们需要的控件已经在上一篇文章中添加过了,这里我们就不再重复去叙述了,我们直接来添加列表框的单击事件代码:

列框框单击事件

Private Sub infoList_Click()
    On Error GoTo ErrorHandler
    Dim strSQL As String
    Dim strWhere As String
    Dim I As Variant
    For Each I In Me.infoList.ItemsSelected
        strWhere = strWhere & "拼音码='" & Me.infoList.ItemData(I) & "' or "
    Next

    If Len(strWhere) > 0 Then strWhere = Left(strWhere, Len(strWhere) - 4)

    strSQL = "select * from qry商品信息 where " & strWhere
    Me.frmChild.Form.RecordSource = strSQL
    Me.frmChild.Form.Requery
ExitHere:
    Exit Sub
ErrorHandler:
    MsgBox Err.Description, vbCritical
    Resume ExitHere
End Sub

为了使用功能更新的合理,我们还需要在窗体加载事件中添加以下代码,代码实现的功能就是当我们打开窗体时,加载的窗体不显示任务数据。

窗体加载事件

Private Sub Form_Load()
    Me.frmChild.Form.RecordSource = "select * from qry商品信息 where 1=2"
End Sub

 

同时为了窗体控件的布局更新的合理,同时也需要添加对应的代码

窗体调整大小事件

Private Sub Form_Resize()
On Error Resume Next
    Me.frmChild.Height = Me.InsideHeight - Me.Section(acHeader).Height - Me.Section(acFooter).Height
    Me.frmChild.Width = Me.InsideWidth - Me.infoList.Width
    Me.infoList.Height = Me.InsideHeight - Me.infoList.Top - Me.Section(acHeader).Height - Me.Section(acFooter).Height
End Sub

02、运行测试

最后一步自然就是运行窗体,来测试一下代码,如果有问题就需要相应的调整相关的代码。

 

这个demo的话相对来说代码与控件数量都要比我们之前讲的多,所以大家在自己开发的过程还是要有些耐心来实现。最后还是那句话,多自己动手才会有进步。

所以,大家快去试一下吧。

最后是广告掉粉时间,大家可以关注我的B站,Access开发视频首发都在我的B站。

posted @ 2020-12-31 09:25  edonsoft  阅读(101)  评论(0)    收藏  举报  来源