在我的Access应用程序中,我有一个报告,其中包含一个实际上只是查询的子报告。
有问题的查询只是一个传递查询,它只执行预先准备好的存储过程。查询是动态创建的,这样我就可以从用于请求报告的表单中传递一些日期参数(单击按钮)。
当我在SQL Server Management Studio中返回结果时,由于列名非常窄且数据的整数范围为0到100,因此此查询中的8或9列非常窄。
在MS Access中,当查询嵌入到报表中时,Access似乎设置了列宽,这意味着所有列都不适合页面,即使纸张是横向的。
无论如何,我可以做些什么来告诉Access使列宽更窄?
答案 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)
我发现似乎最好的解决方案是使用表单向导创建表单,该向导将查询作为其数据源并在数据表视图中显示。
当您在报表中嵌入时,可以调整表单中数据字段的字段宽度以适应布局模式。