对麦田老师的Access示例“Access双击记录弹出窗体数据”解析
时 间:2013-12-04 22:33:38
作 者:jia ID:8795 城市:深圳
摘 要:对麦田“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交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)
- 分享一下Access工程中的acw...(11.07)