动态设置DataReport数据源参考:'添加DataReport,在DataReport上添加4个 RptTextBox '引用ado(工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号)) Private Sub DataReport_Initialize() Dim AdoCon As New ADODB.Connection Dim AdoRec As New ADODB.Recordset Dim ctl As Object '连接数据库,具体的请自己改过来 AdoCon.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx" AdoRec.Open "select 姓名,年龄,学历,性别 from Table1", AdoCon, adOpenDynamic, adLockReadOnly With Me Set .DataSource = AdoRec For Each ctl In .Sections.Item("Section1").Controls If TypeName(ctl) = "RptTextBox" Then Select Case ctl.Name Case "Text1" ctl.DataField = "姓名" Case "Text2" ctl.DataField = "年龄" Case "Text3" ctl.DataField = "学历" Case "Text4" ctl.DataField = "性别" End Select End If Next End With ' Me.PrintReport '直接打印 End Sub
'引用ado(工程--->引用--->Microsoft ActiveX Data Object 2.x(版本号))
Private Sub DataReport_Initialize()
Dim AdoCon As New ADODB.Connection
Dim AdoRec As New ADODB.Recordset
Dim ctl As Object
'连接数据库,具体的请自己改过来
AdoCon.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx"
AdoRec.Open "select 姓名,年龄,学历,性别 from Table1", AdoCon, adOpenDynamic, adLockReadOnly With Me
Set .DataSource = AdoRec
For Each ctl In .Sections.Item("Section1").Controls
If TypeName(ctl) = "RptTextBox" Then
Select Case ctl.Name
Case "Text1"
ctl.DataField = "姓名"
Case "Text2"
ctl.DataField = "年龄"
Case "Text3"
ctl.DataField = "学历"
Case "Text4"
ctl.DataField = "性别"
End Select
End If
Next
End With
' Me.PrintReport '直接打印
End Sub