0

在我的 Access 应用程序中,我有一个报告,其中包含一个实际上只是一个查询的子报告。

有问题的查询只是一个传递查询,它只执行一个预先准备好的存储过程。查询是动态创建的,因此我可以从用于请求报告的表单中传递一些日期参数(单击按钮)。

当我在 SQL Server Management Studio 中返回结果时,由于列名非常窄且数据是 0 到 100 范围内的整数,因此该查询中的 8 或 9 列非常窄。

在 MS Access 中,当查询嵌入在报表中时,Access 似乎设置了一个列宽,这意味着所有列都不适合页面,即使纸张是横向的。

无论如何我可以做些什么来告诉 Access 使列宽变窄吗?

4

2 回答 2

1

您可以像这样设置查询的列宽:

Sub SetColumnWidth()
Dim qdf1 As DAO.QueryDef
Dim fld1 As DAO.Field

Set qdf1 = CurrentDb.QueryDefs("query3")

For i = 0 To qdf1.Fields.Count - 1
    Set fld1 = qdf1.Fields(i)
    fld1.CreateProperty "ColumnWidth", dbInteger
    'very narrow indeed
    fld1.Properties("ColumnWidth") = 200
    Set fld1 = Nothing
Next i

End Sub
于 2012-10-01T20:09:16.277 回答
0

我发现似乎最好的解决方案是使用表单向导创建一个表单,该向导将查询作为其数据源并在数据表视图中显示自身。

当您将其嵌入到报表中时,可以调整表单中数据字段的字段宽度以适应布局模式。

于 2012-10-06T17:48:02.037 回答