这里可能有愚蠢的问题......
但是,在MS-Access中是否有可能以编程方式操作文本标签标题,以便在每个报告部分的标题中显示不同的标题?
即,设计视图在GroupLevel零标题中显示文本标签对象,默认标题为“blah”....但是在执行Report_Load()子项时,显示的实际文本对于每个部分都不同报告?比方说,只是“第1节”,“第2节”,“第3节”等等?
我怀疑这是不可能的,但只是想知道是否有人有一些创造性的想法如何让它发挥作用。
我意识到还有其他/更好的方法来完成同样的事情......但是这样的事情可能是特别使用VBA和Label对象(目前,这是一个外部约束,我无法改变)。
编辑:https://drive.google.com/open?id=1PID58qMyp_rNxv9tsQk38-Co9sDOFgzY
编辑2:原始帖子专门指定LABELS作为可接受解决方案的唯一对象。编辑以包括LABELS和TEXT BOXES ......这当然使问题几乎无足轻重。向@peakpeak道歉,因为我不够清晰!
您可以使用更改标题
Me.<name of header>.Caption = "whatever"
在设计视图中为标题选择“属性”,然后查找和/或更改“名称”属性。我假定VBA代码位于您想要操作的表单中的Microsoft Access类对象下。
实际上,谢谢你的帮助,但我发现在我上面描述的限制条件下看起来像是一个体面的解决方案。严格地说,这不符合最初提出的问题的条款(-1对我来说不清楚,并向@peakpeak道歉,他承认根据问题基本上没有机会回答这个问题),但这是关闭的足以解决我眼前的问题:
将包含我的动态文本的对象从标签更改为文本框(duh!),保持所有格式设置等相同,以便图形表示不变。
将新文本框的控件源设置为公共函数,其中函数的参数是基础查询中相关字段的名称(链接示例中为“tName”),以便动态文本框具有控件source“= GetText([tName])”和GetText()函数在报告的相应模块中定义,并根据需要定义文本,例如:
GetText(tName as String) as string
SELECT Case tName
Case "Albert"
GetText = "Section 1"
Case "Barry"
GetText = "Section 2"
Case Else
GetText = "Section 3"
'and so on
End Select
`
End Function