对麦田老师的Access示例“Access双击记录弹出窗体数据”解析 -jia
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


对麦田老师的Access示例“Access双击记录弹出窗体数据”解析

发表时间:2013/12/4 22:33:38 评论(4) 浏览(14000)  评论 | 加入收藏 | 复制
   
摘 要:对麦田“Access双击记录弹出窗体数据”解析。
正 文:

      寻求帮助的时候看到有位学员的文章“关于“Access双击记录弹出窗体数据”解析,以及麦田的原文“[示例]Access双击记录弹出窗体数据\双击某一条记录可以进行修改\access双击打开记录窗体


下面是我对于该示例的理解。

点击下载此附件


代   码:

Option Compare Database
Private Sub firstname_DblClick(Cancel As Integer)
DoCmd.OpenForm "detail", , , "[id]='" & Me.id & "'"
'可以对窗体中的每一个文本框都设置dblclick事件代码来实现双击打开详情。
'但是如果文本框过多的话,这样设置就太麻烦了。
'所以最好能够自动的去寻找每一个文本框,将其双击事件设置为打开detail窗体。
End Sub

Private Sub Form_Load()
    Dim ctr As Control
    For Each ctr In Me.Controls
        If ctr.Section = acDetail And ((TypeOf ctr Is TextBox) or (TypeOf ctr Is ComboBox) or (TypeOf ctr Is CheckBox)) Then
        '如果当前控件处于主体节,并且控件是文本框、组合框、复选框中的一种时,
        ctr.OnDblClick = "=allDblClick()"
        '控件的双击事件就调用alldblclick函数。
        '可以参考平台生成的list窗体,在每一个文本框控件的双击事件中,都有=ViewDetails()
        '上述代码其实就是遍历当前窗体的每一个控件,如果该控件在主体节,并且是文本框、组合框、复选框中的一种时,其双击事件=allDblClick()
        End If
    Next
End Sub
Private Function allDblclick()
    DoCmd.OpenForm "detail", , , "[id]='" & Me.id & "'"
    'alldblclick到底能做什么呢?
    '就是打开detail窗体,并且打开条件为:where id = me.id
    '从而实现双击某条记录时,打开该记录的详情。
    '其实双击的并不是记录,而是记录的文本框。因为list窗体时以“数据表”模式显示的,使得我们以为双击的是表。
End Function


这段代码有一些关键点:

ctr.section
Section 属性与特定的节对应。可以使用下面列出的常量。建议采用常量来提高代码的可读性。
设置     常量     说明
0     acDetail 报表/窗体的主体节

1     acHeader 报表/窗体页眉    

2     acFooter 报表/窗体页脚    


TypeOf ctr Is TextBox

TypeOf是语句,只应用于 If ... Then ... 语句中,MSDN解释:
TypeOfIs形式的表达式。其中的 objectname 是任何对象的引用,而objecttype 则是任何有效的对象类型。如果 objectname 是 objecttype所指定的一种对象类型,则表达式为True,否则为False。

例如,将窗体中的所有文本框清空,用如下语句:
Dim c As Control
For Each c In Me.Controls
If TypeOf c Is TextBox Then c.Text = ""
Next


Me.Controls

Controls表示控件集合


DoCmd.OpenForm

OpenForm(FormName, View, FilterName, WhereCondition, DataMode, WindowMode, OpenArgs)

 "[id]='" & Me.id & "'"就是wherecondition参数。

Access软件网交流QQ群(群号:198465573)
 
 相关文章
access开发平台--双击记录弹出查看窗体界面\可以修改记录  【麥田  2009/7/23】
【Access双击示例】Access双击记录弹出窗体数据\Acce...  【Accessoft整理  2010/5/4】
关于“Access双击记录弹出窗体数据”解析  【西索梦  2013/6/25】
Access双击子窗体记录在新打开的另一窗体中定位子窗体对应记录,...  【网行者  2013/8/18】
Access打开指定弹出式窗体,并将其定位在当前控件下方的示例;A...  【鼠标  2022/8/13】
常见问答
技术分类
相关资源
文章搜索
关于作者

jia

文章分类

文章存档

友情链接