ACCESS集锦
1、使窗体或报表的文本框随文字的多少自动加大或缩小: 文本框属性“可以扩大” 2、控制某字段只能填写某些内容:也许你想让使用程序的人只能在某个字段里a,那么你就得控制他不难让他填b。具体表达式为 =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()),"嘿嘿,今天是这孩子生日啊!让我们祝" & [姓名] & "生日快乐!!","好人一生平安!祝" & [姓名] & "同学学习进步,茁壮成长!")