MS Access:如何通过宏修改报表标签标题以匹配文本框标题?
Access报表标签Caption引用文本框Caption值的解决方法
问题原因
宏的SetProperty操作中,直接填写控件引用表达式时,宏不会自动计算表达式结果,只会把表达式文本当作静态值赋值给标签的Caption,所以才会显示[Reports]![rptBookingConfirmation]![txtEventNameLabel]这类文本而非实际值。
方法一:用Eval函数修正宏的SetProperty操作
- 打开报表
rptBookingConfirmation的设计视图 - 进入报表的On Load事件宏编辑界面
- 修改
SetProperty操作的Value字段为:Eval("[Reports]![rptBookingConfirmation]![txtEventNameLabel].Caption")- 必须明确指定控件的
Caption属性,同时用Eval()函数触发表达式计算,获取文本框的实际Caption值
- 必须明确指定控件的
- 保存宏和报表,打开报表验证效果
方法二:改用VBA事件过程(更稳定直观)
- 打开报表设计视图,找到报表的On Load事件,将响应类型改为「事件过程」
- 点击事件旁的生成按钮,进入VBA编辑器,输入以下代码:
Private Sub Report_Load() Me.lblEventNameLabel.Caption = Me.txtEventNameLabel.Caption End Sub - 保存代码并关闭编辑器,打开报表测试即可
内容的提问来源于stack exchange,提问作者Arc
相关产品推荐
相关产品推荐

