在Access 2007数据表视图中,如何使用VBA以编程方式访问列宽和最佳拟合功能?

时间:2017-06-01 16:48:21

标签: ms-access access-vba

我使用Access 2007进行大量数据转换&正常化。我做了很多数据导入,并动态创建了很多表和查询。许多结果表和查询都有几十列,调整列宽和激活“最适合”功能(即自动调整或自动调整)非常耗时。

我想掀起一些VBA循环遍历列,以便我认为合适。我在Google上进行了大量搜索,但是我无法找到有关我需要使用的集合,属性和/或方法的任何信息。

如何使用Access VBA或宏以编程方式访问表和查询的数据表视图的以下元素..?

  1. 读取列宽属性
  2. 设置列宽属性
  3. 激活“最适合”功能
  4. 编辑:任何参与者......?已经有几个星期了,没有回复。必须是一种方式。当然可以通过对Access GUI控件的Windows API调用来完成,但是如果可能的话我想避免这种复杂性......

2 个答案:

答案 0 :(得分:1)

这是 ColumnWidth 属性和 SizeToFit 方法:

  1. ColumnWidth = Me!YourControl.ColumnWidth
  2. Me!YourControl.ColumnWidth = ColumnWidth ' Integer value.
  3. Me!YourControl.SizeToFit
  4. 对于表格和查询:

    1. CurrentDb.TableDefs("Table1").Fields(n).Properties("ColumnWidth").Value = ColumnWidth

    2. 据我所知,不可能

答案 1 :(得分:0)

这对我来说可以调整显示为数据表的子窗体的所有列的大小

   Private Sub Form_Load()
        For Each oControl In Me.Detail.Controls
         If oControl.ControlType = 109 Then
           oControl.ColumnWidth = -2
         End If
       Next oControl
    End Sub