Private Sub DataReport_Initialize() Dim AdoCon As New ADODB.Connection Dim AdoRec As New ADODB.Recordset Dim txt As New Collection Dim ctl As Object
AdoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\a.mdb;Persist Security Info=False" AdoRec.Open "select * from a", AdoCon Set DataReport1.DataSource = AdoRec For Each ctl In Me.Sections.Item("Section1").Controls If TypeName(ctl) = "RptLabel" Then 'DataReport的Label控件赋值 Select Case ctl.Name Case "Label1" ctl.DataField = AdoRec.Fields("aa").Name Case "Label2" ctl.DataField = AdoRec.Fields("bb").Name Case "Label3" ctl.DataField = AdoRec.Fields("cc").Name End Select End If Next End Sub
如果是设置TextBox,for 循环体改为: For Each ctl In Me.Sections.Item("Section1").Controls If TypeName(ctl) = "RptTextBox" Then 'DataReport的Text控件赋值 Select Case ctl.Name Case "Text1" ctl.DataField = AdoRec.Fields("aa").Name Case "Text2" ctl.DataField = AdoRec.Fields("bb").Name Case "Text3" ctl.DataField = AdoRec.Fields("cc").Name End Select End If Next
要的是这个吗
Dim AdoCon As New ADODB.Connection
Dim AdoRec As New ADODB.Recordset
Dim txt As New Collection
Dim ctl As Object
AdoCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\a.mdb;Persist Security Info=False"
AdoRec.Open "select * from a", AdoCon
Set DataReport1.DataSource = AdoRec
For Each ctl In Me.Sections.Item("Section1").Controls
If TypeName(ctl) = "RptLabel" Then 'DataReport的Label控件赋值
Select Case ctl.Name
Case "Label1"
ctl.DataField = AdoRec.Fields("aa").Name
Case "Label2"
ctl.DataField = AdoRec.Fields("bb").Name
Case "Label3"
ctl.DataField = AdoRec.Fields("cc").Name
End Select
End If
Next
End Sub
For Each ctl In Me.Sections.Item("Section1").Controls
If TypeName(ctl) = "RptTextBox" Then 'DataReport的Text控件赋值
Select Case ctl.Name
Case "Text1"
ctl.DataField = AdoRec.Fields("aa").Name
Case "Text2"
ctl.DataField = AdoRec.Fields("bb").Name
Case "Text3"
ctl.DataField = AdoRec.Fields("cc").Name
End Select
End If
Next