[荐]超管用的VBA一句话代码
时 间:2008-10-24 09:36:31
作 者:Trynew ID:2645 城市:广州
摘 要:一些常见又经常有人问到的问题,一两句代码而已,但有时就会让你挠耳抓腮......
正 文:
有时候,一些看似很难的问题或应用,竟然用一句代码就可以搞定!下面是我举的一些例子,也希望大家参与讨论,把你平常所用的一句代码共享出来,我加以整理,放到这里大家共享。
一句话代码:
1、组合框的循环选择
在双击事件中加入,也可用在键盘按上下箭头事件中:
Screen.ActiveControl.ListIndex = (Screen.ActiveControl.ListIndex + 1) Mod Screen.ActiveControl.ListCount
2、窗体单击及移动记录时选定记录(反黑显示)
在成为当前事件中加入:
DoCmd.RunCommand acCmdSelectRecord
3、组合框获得焦点后自动张开
在获得焦点事件中加入:
Combo0.Dropdown
4、文本框获得焦点后光标自动移动到文本的末尾
在获得焦点事件(如有必要也在鼠标释放事件)中加入:
Text0.SelStart = Len(Text0)
5、随机抽取指定数量记录的查询
在查询语句中Rnd([编号]) 的编号为表中的自动编号字段名:
Select TOP 10 * FROM 表1 orDER BY Rnd([编号]);
6、打印窗体中筛选显示的记录
报表的记录源要与窗体的记录源相同,在窗体的打印按钮单击事件中:
DoCmd.OpenReport "报表名", acViewPreview, , Me.Filter
7、同时去除窗体及所有子窗体的筛选及排序
跟单击“记录”菜单中的“取消筛选/排序”作用相同:
DoCmd.ShowAllRecords
8、数据更改后提醒是否保存
在窗体的更新后事件中(Form_BeforeUpdate):
If Not (Cancel = (MsgBox("数据已更改,是否保存?", vbOKCancel + vbQuestion) = vbCancel)) Then DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
9、选定一个选项或输入编码,在其他字段自动把与选项相关信息辅助录入(即一拖几,由编码自动输入名称等)
在文本框或组合框的更新后事件中,用Dlookup函数查找相关信息并辅值给当前记录其他字段:
供货商=DLookup("公司名称", "供货商资料", "[供货商编号]= '" & Me![供货商编号] & "'")
10、设置字段的默认值为当前表的最后一条记录的值(或序号、最大值加1:用Dmax代替Dlast)
在窗体的成为当前事件中,用Dlast函数查找最后记录相关值并辅值给字段的默认值:
成绩.DefaultValue = "'" & DLast("成绩", Me.RecordSource) & "'"
11、删除重复记录(字段)
表中要有自动编号字段(ID),可建立删除查询或执行RunSql语句(其中[ ]填写对应的表名、重复字段名、关键字段名):
Delete * FROM [表] Where DCount("[字段]","[表]","[字段]='" & [字段] & "'")>1 AND [ID]>DLookUp("[ID]","[表]","[字段]='" & [字段] & "'") or [字段] Is Null;
12、班级成绩排名查询、生成名次或临时序号
可根据年级、班级和不同科目替换查询中的相应字段名:
Select *, [英语]+[数学]+[语文] AS 总分, DCount("*","成绩表","[年级]='" & [年级] & "' and ([英语]+[数学]+[语文])>" & [英语]+[数学]+[语文])+1 AS 年级名次 FROM 成绩表 orDER BY 成绩表.年级, [英语]+[数学]+[语文] DESC;
13、防止公式文本框引起窗体抖动
如果窗体中使用了计算公式作为文本框的数据源,这可能会导致窗体一打开或者移动鼠标等引起窗体刷新时,窗体不停的抖动,这可在窗体的加载事件或激活时间中加入:
Me.Recalc
14、查找与该控件匹配的记录(用组合框查找记录)
如何使窗体转到组合框或文本框中输入的指定记录,用组合框的向导中可以自动生成语句,也可在控件的更新后事件中使用下面一句语句:
Me.Recordset.FindFirst "[ID] = " & Str(Nz(Me![Combo1], 0))
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 仓库管理实战课程(11)-人性化操...(04.15)
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)