可以使用 VBA 操作报告部分 headers 中的文本标签吗? (MS-ACCESS)
Possible to manipulate text labels in report section headers using VBA? (MS-ACCESS)
这里可能是个愚蠢的问题...
但是在 MS-Access 中是否有可能以编程方式操作文本 标签标题 以便在 header 中显示不同的标题每个报告部分?
即,设计视图在 GroupLevel 零 header 中显示文本标签 object,默认标题为 "blah"...但是在执行 Report_Load() 子,报告中每个部分实际显示的文本不同?比如说 "Section 1"、"Section 2', "Section 3" 等等?
我怀疑这是不可能的,但只是想知道是否有人有一些创意如何让它发挥作用。
我知道有 other/better 方法可以完成同样的事情...但是使用 VBA 和 Label object 是否可能(目前,这是一个外部约束,我无法更改)。
编辑:https://drive.google.com/open?id=1PID58qMyp_rNxv9tsQk38-Co9sDOFgzY
编辑 2:原始 post 特别指定 LABELS 作为可接受解决方案的唯一 object。编辑以包括标签和文本框……这当然使问题变得微不足道。向@peakpeak 道歉,因为我不清楚!
您可以使用
更改标题
Me.<name of header>.Caption = "whatever"
Select 在设计视图中 header 的属性并找到 and/or 更改名称 属性。 Me 假定 VBA 代码以您想要的形式位于 Microsoft Access Class Objects 下操纵。
实际上,感谢您的帮助,但我发现了一些在我上述限制范围内似乎可以作为不错的解决方法的方法。严格来说,这不满足最初提出的问题的条件(-1 因为不够清晰,并向@peakpeak 道歉,他承认回答这个问题的机会基本上为零),但这很接近足以解决我眼前的问题:
将旨在包含我的动态文本的对象从标签更改为文本框(呃!),保持所有格式设置等相同,以便图形表示不变。
将新文本框的控件源设置为public函数,其中函数的参数是基础查询中相关字段的名称(链接示例中的"tName" ), 这样动态文本框就有了一个控件源“=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
这里可能是个愚蠢的问题...
但是在 MS-Access 中是否有可能以编程方式操作文本 标签标题 以便在 header 中显示不同的标题每个报告部分?
即,设计视图在 GroupLevel 零 header 中显示文本标签 object,默认标题为 "blah"...但是在执行 Report_Load() 子,报告中每个部分实际显示的文本不同?比如说 "Section 1"、"Section 2', "Section 3" 等等?
我怀疑这是不可能的,但只是想知道是否有人有一些创意如何让它发挥作用。
我知道有 other/better 方法可以完成同样的事情...但是使用 VBA 和 Label object 是否可能(目前,这是一个外部约束,我无法更改)。
编辑:https://drive.google.com/open?id=1PID58qMyp_rNxv9tsQk38-Co9sDOFgzY
编辑 2:原始 post 特别指定 LABELS 作为可接受解决方案的唯一 object。编辑以包括标签和文本框……这当然使问题变得微不足道。向@peakpeak 道歉,因为我不清楚!
您可以使用
更改标题Me.<name of header>.Caption = "whatever"
Select 在设计视图中 header 的属性并找到 and/or 更改名称 属性。 Me 假定 VBA 代码以您想要的形式位于 Microsoft Access Class Objects 下操纵。
实际上,感谢您的帮助,但我发现了一些在我上述限制范围内似乎可以作为不错的解决方法的方法。严格来说,这不满足最初提出的问题的条件(-1 因为不够清晰,并向@peakpeak 道歉,他承认回答这个问题的机会基本上为零),但这很接近足以解决我眼前的问题:
将旨在包含我的动态文本的对象从标签更改为文本框(呃!),保持所有格式设置等相同,以便图形表示不变。
将新文本框的控件源设置为public函数,其中函数的参数是基础查询中相关字段的名称(链接示例中的"tName" ), 这样动态文本框就有了一个控件源“=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