在要打印的数据上做文章,用代码指定要打印的数据范围就行了
主要用Report.RecordSource 属性 来控制数据
可以使用 RecordSource 属性指定报表的数据源。可读/写 String 类型。
语法
表达式.RecordSource
表达式 一个代表 Report 对象的变量。
说明
RecordSource 属性设置可以是表名称、查询名称或者 SQL 语句。例如,可以使用下列设置。
设置示例
|
说明
|
雇员
|
一个将“雇员”表指定为数据源的表名称。
|
SELECT Orders!OrderDate FROM Orders;
|
该 SQL 语句指定“Orders”表中的“OrderDate”字段作为数据源。将控件的 ControlSource 属性设置为“OrderDate”,就可以将窗体或报表中的控件绑定到“Orders”表的“OrderDate”字段。
|
注释
|
如果对打开的窗体或报表的记录源进行了更改,则会自动对基础数据进行重新查询。如果窗体的 Recordset 属性在运行时设置,则会更新窗体的 RecordSource 属性。
|
创建窗体或报表之后,更改 RecordSource 属性便可以对其数据源进行更改。使用 RecordSource 属性还可以创建可重复使用的窗体或者报表。例如,可以先创建一个包含标准设计的窗体,然后复制该窗体,更改其 RecordSource 属性,便可以显示来自不同表、查询或 SQL 语句的数据。
示例
下面的示例将窗体的 RecordSource 属性设置为“Customers”表:
Visual Basic for Applications
|
Forms!frmCustomers.RecordSource = "Customers"
|
下一个示例根据cmboCompanyName组合框控件中选定的公司名称,将窗体的记录源更改为“Customers”表中的单个记录。该组合框的内容由一条 SQL 语句决定,该语句返回客户
ID(在绑定列中)和公司名称。“CustomerID”的数据类型为“文本”。
Visual Basic for Applications
|
Sub cmboCompanyName_AfterUpdate()
Dim strNewRecord As String
strNewRecord = "SELECT * FROM Customers " _
& " WHERE CustomerID = '" _
& Me!cmboCompanyName.Value & "'"
Me.RecordSource = strNewRecord
End Sub
|