大家新年好!
請問哪地方有有關用程序來控制datareport控件的介紹呀,如果哪些自己知道怎麼做,請舉例說明啦,我的程序部分如下:
Set DataReport1.DataSource = ADODCNSET
With DataReport1.Sections("sec管理卡")
.Controls("單別").DataField = ADODCNSET.Fields("T1")
.Controls("LOTNO").DataFields = ADODCNSET.Fields("T2")
End With
程序運行時, 每二行出錯“執行階段錯誤13,型態不符”。
請問哪地方有有關用程序來控制datareport控件的介紹呀,如果哪些自己知道怎麼做,請舉例說明啦,我的程序部分如下:
Set DataReport1.DataSource = ADODCNSET
With DataReport1.Sections("sec管理卡")
.Controls("單別").DataField = ADODCNSET.Fields("T1")
.Controls("LOTNO").DataFields = ADODCNSET.Fields("T2")
End With
程序運行時, 每二行出錯“執行階段錯誤13,型態不符”。
With DataReport1.Sections("sec管理卡")????
试试用With DataReport1.Sections(1)形式的方式引用。
.Controls("LOTNO").DataFields = ADODCNSET.Fields("T2")一个是DataField,怎么另一个是DataFields ?
DataReport1.Sections("sec管理卡").Controls("單別").Caption = adodcnset.Fields("T1").Name
DataReport1.Sections("sec管理卡").Controls("LOTNO").Caption = adodcnset.Fields("T2").Name
DataReport1.Sections("sec管理卡").Controls("產品品號").Caption = adodcnset.Fields("T3").Name
DataReport1.Show
sec管理卡是報表設計器的名稱。
問題不是出在這裡, 我後來改為上面的也不行。
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) = "RptTextBox" Then
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
End Sub
debug.print DataReport1.Sections("sec管理卡").Controls("單別").Caption
debug.print adodcnset.Fields("T1").Name注意,一般lable才用caption属性,如果是textbox应为:
debug.print DataReport1.Sections("sec管理卡").Controls("單別").text