窗体_报表_VBA
窗体/报表/VBA
1.窗体、报表、控件属性
窗体:名称,标题(caption),图片(picture),默认视图,记录选择器,导航按钮,分隔线,最大化、最小化按钮,关闭按钮,允许添加记录
记录源(recordsource),
控件:名称(Name),标题(caption),左边距(left),上边距,大小,可见性(visible),前景色/文本颜色(forecolor),FontName,FontSize,控件来源(ControlSource),可用(enable),输入掩码,有效性规则,有效性文本,默认值,是否锁定
各个节区的区别
●设置窗体、报表的记录源;
●设置TAB键次序;
●设置子窗体的属性(8.3.5,去除子窗体的导航按钮);
●控件边距与大小的设置;
●隐藏控件(可见性,visible);
●控件显示为灰色(可用,enable);
●文本框设置日期格式,数字格式;
●文本框以密码形式显示,输入掩码:密码;
●文本框更改为组合框,为组合框设置值()
2. 控件3种类型:绑定,未绑定,计算控件
绑定:控件来源为查询、表、SQL语句的字段。
●文本框显示为”性别”字段值,前提:所在窗体/报表需设置记录源。(43.3.2)
●设置复选框控件来源属性以输出“党员否“字段值(713.3.2)
计算控件:
●=count([团队ID]),=count(*),=avg([年龄]),
●(216.3.3)=year(date())-year([出生日期]),(715.3.2)=year(date())-[年龄]
●(216.3.4)=iif(mid([学号],5,2))=”10”,”信息”,”经济”)
●(318.3.3)=iif([党员否],”党员”,”非党员”)
●(010.3.5)=iif(sum([单价]*[数量])>30000,”达标”,”非达标”)
●(216.3.5)=[fscore 子窗体].form![txtAvg]
=[子窗体名称].form![控件名] ,可使用生成器生成
●(29010052)=DLookup(“名称”,”tGroup”,”部门编号=’”&[所属部门]&”’”)
3. 报表
排序
●(45.3.3)姓名升序,年龄降序
分组(显示组页眉/组页脚)
●(43.3.4)分组:=left([编号],4),显示组页脚区,组页脚区的计算控件:=count(*)
●(44.3.3)分组:=left([姓名],1),显示组页眉区,组页眉区的计算控件:=left([姓名],1)
●(010.3. )分组:书籍名称,显示组页脚区,组页脚区添加txtAvg:=avg([单价])
页面页码:当前页码[page],总页码[pages] ,可以使用生成器
●“第”&[page]&”页,共”&[pages]&”页”
●[page] &”/”&[pages]
4.窗体、控件事件
窗体加载:
按钮单击:(309.3.2)Btnp命令按钮的单击事件为已设计好的事件过程
更新后(数据更新后):(410.3.5)组合框数据更新后
5.VBA
VBA设计基础
●(323.3.4)斐波那契数列
1: Dim f(1 TO 19) As Integer
2: f(i)=f(i-1)+f(i-2)
3 :tDate=f(19)
设置窗体、控件属性、调用控件方法
●Tda.forecolor=255
●(40.3.5)Ldetail.Caption=CItem.Text&”内容”
●(48..3.5)cmdsave.enable=false
●(47.3.5) 2: tuser.SetFocus 设置文本框焦点
●(42.3.4)窗体加载事件:Caption=Date()&”年职工信息输出”
●(29010043)Picture=CurrentProject.Path+”aa.bmp”
●(713.3.4) me.recordsource=”qEmp”
打开(报表、窗体、查询等),运行宏,关闭(窗体,报表)书本:P247
●DoCmd.OpenReport "报表名", acViewPreview
●DoCmd.OpenForm "窗体名", acNormal
●DoCmd.RunMacro "宏名"
●DoCmd.Close
●DoCmd.Close acForm, "窗体名"
输入框,消息框,计时事件
●Strname=inputbox(“提示信息”,”标题”)
●Msgbox(“消息内容”,vbokonly+vbquestion,”标题”)
●Msgbox “消息内容”,0+64,”标题”
●在窗体属性,设置时间间隔(TimeInterval),计时器触发事件Form_Timer()
部分VBA题答案:
44.3.4 退出按钮单击事件:Docmd.OpenReport “remp”
45.3.4 报表输出按钮单击事件:
If msgbox(“报表预览”,vbyesno+vbquestion,”确认”)=vbyes then
47.3.5 1:if name=”cube”and pass=”1234” then
2:tuser.setfocus
3:docmd.close
48.3.5 1: cmdsave.enable=false
2: tuser_1.enable=false
3: msgbox “请输入···”,vbokonly
410.3.5
1: Ldetail.caption=CItem.Text&”内容”
2: fDetail.Form.RecordSource=”tstud”
3: msgbox “查询内容···”,vbokonly,”注意”