【问题标题】:Set and retain column widths of Split Form datasheet columns in MS-Access在 MS-Access 中设置和保留拆分表单数据表列的列宽
【发布时间】:2016-08-25 17:44:44
【问题描述】:

我在 Access 2012 中使用 Split Form。基本数据表视图位于顶部,底部窗格中包含单独的记录和表单标题。

我正在尝试确定是否有办法将我的列宽保持为手动调整的宽度 - 理想情况下,在加载表单时通过 VBA 代码将列宽设置为 BestFit。

我发现this one hack 在您下次开始时会记住列宽。

我也遇到了同样的问题。什么对我有用(Access 2010 拆分表格) 是调整所有列的大小(通过拖动右边缘 列标题)我想要的方式,然后右键单击任何列标题 并选择“隐藏列”。隐藏任何列,单击“确定”,然后右键单击 再次在任何列上,选择“取消隐藏列”并取消隐藏您隐藏的列 首先。单击“确定”并预先打开表单,其中 每次都调整列宽。

但是如果我分发数据库,​​问题又会发生。

如果我能以某种方式引用数据表视图列对象,我可能会应用 BestFit 方法

编辑 - 更新:我尝试使用此功能无效:

For Each ctl In Me.Controls
   With ctl 
      Select Case .ControlType
         Case acTextBox
            Debug.Print .Name
            If Not .ColumnHidden Then
               .ColumnWidth = -2
            End If
      End Select
  End With
Next

【问题讨论】:

    标签: forms ms-access vba


    【解决方案1】:

    很遗憾,“Me.[Field1].ColumnWidth = -2”不适用于拆分视图。

    这一系列奇怪的步骤似乎是在 MS Access(2007-2013)“拆分形式”中保存列宽的唯一方法:

    1. 在拆分视图中,在表单的数据表一侧设置列宽。如果要将其设置为当前 Best Fit,请双击任何列的右边缘(不幸的是,即使“Best Fit”也会被保存为静态宽度) .
    2. 突出显示您要保存的宽度的列。如果您正在执行所有这些操作,不要使用 Select-All;选择第一个列标题,然后按住 shift 单击最后一个列标题。
    3. 右键单击任何突出显示的列标题的中心,然后单击隐藏字段。您的所有列都应该消失。不用担心,这应该会发生。
    4. 在主页菜单选项卡下,点击更多>取消隐藏字段,然后选择所有列。
    5. 点击保存,然后进入设计视图,再次点击保存。您的列宽将被保存。

    【讨论】:

      【解决方案2】:

      您没有在表单中尝试过这种方法吗? -2 最适合的地方。注意:如果没有 [] 括号,它将无法工作。

      Private Sub Form_Load()
          Me.[Field1].ColumnWidth = -2
          Me.[Field2].ColumnWidth = -2
      End Sub
      

      【讨论】:

      • 我尝试了一种无效的变体 - 更新了我的问题
      • 拆分形式? - 还是数据表形式?
      猜你喜欢
      • 2016-08-24
      • 2015-05-07
      • 2020-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-11-18
      • 2014-07-07
      • 2016-06-20
      • 1970-01-01
      相关资源
      最近更新 更多