返回首页
当前位置: 主页 > 其他教程 > Access教程 >

access小技巧集锦

时间:2014-10-03 00:06来源:Office教程学习网 www.office68.com编辑:麦田守望者

本人设计程序,可以说到了呕心呖血的程度,每设计一个程序,都要走了很多弯路,当然也会积累不少经验。等到将程序打包后,突然觉得应该把某些技巧性的东西总结出来,公示给那些可能喜欢ACCESS的同仁,以使大家不再走我走过的弯路。心是好的,至于作用有多大,那是另一回事。以下全是ACCESS操作方面的一些技巧,亦可谓经验之谈,也许您能够用得上,谁知道呢?如果用上了,在心中谢我一下,足矣!
1、使窗体或报表的文本框随文字的多少自动加大或缩小:
文本框属性“可以扩大”
2、控制某字段只能填写某些内容:也许你想让使用程序的人只能在某个字段里abc,那么你就得控制他不难让他填def等内容。具体表达式为
=Instr("abc",[A])>0
3、并置几个字段:也许你填表时有两个字段分别是“湖北大学”、“数学专业”,但当你在打印报表时却想让这两个了段变为一个字段放在一起,即“湖北大学数学专业”,那么最好的办法就是并置。表达式为:
=([A]&[B])或者=([A]&""&[B])
4、查询中的计算字段:也许在您的表中有两个数字字段,然后您想在报表中出现一个关于这两个字段关系的字段,那么简单的方法就是计算,这计算可以加,可以减,可以乘,可以除,视情况而定。表达式为:
名称:[A]*[B](这里假设相乘,“名称”可自定)
5、计算年龄表达式:有人喜欢在表中设计录入一个人的年龄,这不是聪明的做法。因为每个人的年龄是在不断增加的,到下一年再重新进行大批量重新录入,那就没有电脑的智能作用。最好的做法是在表中设计一个身份证号码字段。有了这个字段后,某人的“年龄”和“性别”都是可以确定的,而且一劳永逸,除非你不会把你计算机的系统时间调准确。这里是假设表中已经有“出生年月”字段以后通过它确定“年龄”的表达式:
=Datediff("yyyy",[A],now())
6、在窗体或报表进行值转换:有时候想将表中的在窗体或其他地方显示为你想要的内容,办法就是进行值转换。比如表中有“出生年月”的记录,你想在窗体不显示具体的出生年月,而显示“今天是这人的生日”或“这人距生日还有x天”这样的信息,或者有一个“分数”字段而你却想在窗体上显示出某学生是“优生”、“差生”、“及格”等信息,你要用上以下表达式:
=iif([A]=x,"y",iif([A]=z,"p","m"))
7、在窗体中对某字段进行数据锁定:在用窗体编辑数据时,有时你可能不想让人对其中某一个或几个字段进行修改,那么,你得对不想让人修改的字段进行锁定。其方法:
字段-属性-数据-是否锁定-是
8、求和表达式:对两个以上字段值进行求和,表达式为:
=Sum([A]+[B]+……)
9、标签并置并且格式化数字字段:如果你想将表中电话号码“13972088783”在窗体或报表显示时变为“1397-2088783”,你就得用以下表达式:
=Trim([A]& ","&[B]&""Format([C],"@@@@-@@@@@@"))
10、并置运算:
字符与非字符:="今天日期是:"&date()
字段与字段: =[A]+[B]
字段与字符: =[A] &"abc"(A、B、C为任意字符)
11、显示带有文本的系统日期:
="今天是:"+cstr(date())
12、把字段内容直接嵌入文本表达式:如果你想让打印的报表的表头随调入的动态数据的改变而跟着改变,你必须用此方法:
=[单位名称]&"教职工花名册"
=format(now(),"yyyy")&[单位名称]&"教职总数"
="这位同学名叫"&[姓名]&",""其中考总成绩为"&[总成绩]&"。"
13、在查询中更改字段名称:
新名称:(放在原字段前)
14、返回确定日期段的数字值:
Datepart(interval,date,firstweekday,firstweek)
15、查询窗体打开时不显示空白的代码:按某种条件进行查询,目的是要打开一个显示窗体。可是有时候或因为输错条件,或因为根本没这个记录,那么你可能得到一个非常让你失望的呆板的“白板窗体”。避免这种情况发生的做法就是,在该窗体的“打开”属性中输入以下代码:
On Error GoTo err

DoCmd.GoToRecord , , acLast
i = Me.CurrentRecord
DoCmd.GoToRecord , , acFirst
exit_form_open:
Exit Sub
err:
MsgBox "您要查找的数据不存在,请核实后重新输入。"
DoCmd.Close
16、设置默认值的技巧:在表中输入也好,在窗体中输入也好,将某些字段设一个默认值并不困难,但是,要保证不同的用户能够随时重设默认值,就显得麻烦一些。具体的思路是:先预设一个窗体供用户在其中更改默认值,然后,让你的录入窗体的相关字段直接在用户已经预设好默认值里读取预设信息。
17、显示动态记录个数的方法:查找记录时,有时你查找到的可能并不只有一个记录,特别是进行模糊查询是更是如此。那么,到底有多少个记录呢?你需要在窗体设计时,在合适的位置上加一个文本框,然后在里面输入以下表达式:
="您已经找到了"&count([a])&"个符合条件的记录。"(“a”是表中的字段名称)
18、如果你想在学生信息的查询结果窗口内,出现一个关于记录数量的提示,有时显示“符合条件的记录只有一个”,而有时显示“符合条件的记录共有x个……”。如何实现的呢?这里有一个复杂的表达式如下:
="符合条件的对象" & IIf(Sum([同名合计])=1,"只","共") & "有" & Sum([同名合计]) & "人 " & IIf((Sum([同名合计]))>1,"请按PAGEDOWN键查看下一个","")
19、如果想在查询结果窗上,显示一个关于“学习进步”的祝词,而且如果碰巧你查询到的孩子那天生日,下面会提示“嘿嘿,今天是这孩子生日啊,让我们祝他生日快乐!”。这里也有一个条件表达式:
=IIf(Month([出生年月])=Month(Now()) And Day([出生年月])=Day(Now()),"嘿嘿,今天是这孩子生日啊!让我们祝" & [姓名] & "生日快乐!!","好人一生平安!祝" & [姓名] & "同学学习进步,茁壮成长!")
20、两个窗体不同时出现在桌面的技巧--有甲、乙两窗体,如果想使甲窗体开启时乙窗体关闭,或乙窗体开启时甲窗体关闭,有两种方法可以实现。一是设计一个关闭乙窗体的宏,将此宏赋予甲窗体的计时器触发属性,时间间隔为600毫秒,这样,当甲窗体打开时,乙窗体会自动关闭。二是利用宏的多步操作特点,直接在打开甲窗体的宏中加入close属性作为第二步操作,让其直接关闭乙窗体,或在打开乙窗体的宏中加入close属性作为第二操作,关闭甲窗体。使用者可视情况而定。
21、设计窗体,并在窗体上进行模糊查询,且能够跟随输入内容及时更新窗体内的查询对象--
在窗体上设计一个查询条件组合框,输入各种各样的拟定条件;再设计一个“查询内容”框,留待输入查询内容。建一个宏,选择筛选操作,操作条件为“查询条件=……”,再在下面的where条件框输入“……=[控件名]like"*"&form![窗体名]![查询内容]&"*"”;依据需要再设计下面的筛选。将这个宏保存下来;再将这个宏赋予窗体“查询内容”控件的“更改”属性。这样,当你在“查询内容”里输入相应内容时,窗体主体部分将自动进行筛选显示,很省事,很直观!
 

------分隔线----------------------------
标签(Tag):access 数据库 access技巧 access实例教程 access源代码 access基础教程
------分隔线----------------------------
推荐内容
猜你感兴趣