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 @   edonsoft  阅读(98)  评论(0编辑  收藏  举报  
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示