访问标签控件列出了不同的属性 - 如何解决此问题?

时间:2014-03-10 21:40:58

标签: vba access-vba ms-access-2010

我有一个问题,我认为与this problem有关。我有很多标签控件。其中一些变得“怪异”,并开始展示一个奇怪的“额外的大胆”显示:

enter image description here

这些标签具有相同的格式,但显然具有不同的可视化表示。

在查看两个标签的属性后,我注意到一些非常奇怪的事情:它们具有不同的属性。实际上,断开的标签属性部分不显示HyperLink属性,也不显示事件上的操作。

enter image description here

事实上,当我查看它时,“事件”属性表实际上是空的。 enter image description here

我很困惑这里发生了什么。我想要一种方法来修复这些控件,最好使用VBA,这样我就可以添加一个程序修复来更新所有损坏的标签。

令我惊讶的是,以下代码有效:

Application.Forms(gMananger_FormName).controls("Label13").HyperlinkAddress=""

我期待某种错误,因为那些标签没有显示出这种控制。

我也试过Compact / Repair无济于事。在上面的链接中建议,也没有在Access选项中关闭ClearType。


我还编写了以下代码来复制/添加一个新控件但是当控件位于制表符空间时它会完全中断(它插入一个新行但不删除该行,如果我花费更多,也许我可以修复它时间,我担心如果我这样做会意外删除大量的表格控件。

Sub testCopyingControl()
    Dim c
    Dim i As Integer, key
    Dim prop As Scripting.Dictionary
    Set prop = New Scripting.Dictionary

    Set c = Application.Forms(gMananger_FormName).Controls("Label3120")


    For i = 0 To c.Properties.count - 1
        prop.Add c.Properties(i).Name, c.Properties(i).value
    Next i

    Dim newC As Label
    Set newC = CreateControl(gMananger_FormName, acLabel)

    DeleteControl gMananger_FormName, c.Name

    'there are a fair number of readonly properties unfortunately...
    On Error Resume Next
    For Each key In prop.Keys
        Debug.Print key & vbTab & prop(key)
        newC.Properties(key) = prop(key)
    Next key


End Sub

我也可以通过剪切/粘贴并将标签移回其网格位置来单独修复此问题。然而,这是很多工作,因为我有很多控件这样做。

  • 如何首先修复出现此行为的单个标签控件?
  • 如何通过VBA以编程方式执行此操作?

0 个答案:

没有答案