如何更改报表中嵌入的查询中的列宽

时间:2012-10-01 19:58:11

标签: ms-access

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

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

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

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

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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