我用datareport做报表的,
Private Sub DataReport_Initialize()
Dim cn As New ADODB.Connection '定义ADO的连接对象
Dim rs As New ADODB.Recordset '定义ADO的记录集对象
cn.Open "Provider=SQLOLEDB;Password=sa;User ID=sa;Initial Catalog=hr;Data Source=dd-0c6ff813f959" '调用连接对象的open方法打开连接
rs.Open "select * from worker where worknumber='" & gonghao & "'", cn, adOpenForwardOnly, adLockReadOnly, adCmdText '调用记录集对象的open方法来执行SQL语句
Set DataReport1.DataSource = rs
MsgBox gonghao, vbExclamation + vbOKOnly, "提示信息"
DataReport1.Sections.Item("section1").Controls.Item("text1").DataField = "workname"
End Sub
可是他却提示:报表部分与数据源不匹配
这是什么原因啊?
我可以肯定我的数据源没错的啊,因为不用报表的时候做的查询和录入都是可以的。
高手教教我啊!
Private Sub DataReport_Initialize()
Dim cn As New ADODB.Connection '定义ADO的连接对象
Dim rs As New ADODB.Recordset '定义ADO的记录集对象
cn.Open "Provider=SQLOLEDB;Password=sa;User ID=sa;Initial Catalog=hr;Data Source=dd-0c6ff813f959" '调用连接对象的open方法打开连接
rs.Open "select * from worker where worknumber='" & gonghao & "'", cn, adOpenForwardOnly, adLockReadOnly, adCmdText '调用记录集对象的open方法来执行SQL语句
Set DataReport1.DataSource = rs
MsgBox gonghao, vbExclamation + vbOKOnly, "提示信息"
DataReport1.Sections.Item("section1").Controls.Item("text1").DataField = "workname"
End Sub
可是他却提示:报表部分与数据源不匹配
这是什么原因啊?
我可以肯定我的数据源没错的啊,因为不用报表的时候做的查询和录入都是可以的。
高手教教我啊!
-----------------------------
这句可能不对吧!
要把text1的datafield给定一个具体的字段才行。
如:rs.Fields(1).Name 才行
这句放到Set DataReport1.DataSource = rs之前试试
"Provider = SQLOLEDB.1;Persist Security Info = False;" & _
"User ID = sa;Password = 123;Data Source = 192.168.0.1;" & _
"Initial Catalog = DBname "