先打开记录集 Rs.Requery With 报表窗体名 .ReportWidth = 14830 .Sections(3).Controls("CarID").DataField = "CarID" .Sections(3).Controls("CarName").DataField = "CarName" .Sections(4).Controls("lblEmpName").Caption = OperName Set .DataSource = Rs .Show End With
1.添加一DataReport1,相应结构中摆上RptTextBox控件,并设置相应的DataField属性,注意一定要将DataMember设置为空! 2.双击报表,在代码窗体中输入以下代码: Private Sub DataReport_Initialize() Dim str As String Dim cnnReport As New ADODB.Connection Dim rstReport As New ADODB.Recordset '连接数据库,假设为Access Set cnnReport = New ADODB.Connection With cnnReport .Provider = "MSDataShape.1" '一定要加这句 .Open "Data Source=C:\dbName.mdb;"& _ "Data Provider=Microsoft.Jet.OLEDB.4.0" End With
str = "SELECT * FROM `TableName` "& _ "Where where ID='" & Form1.txtID & "'" Set rstAgmRpt = New ADODB.Recordset With rstAgmRpt Set .ActiveConnection = cnnReport .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockReadOnly .Source = str .Open End With Set Me.DataSource = rstAgmRpt End Sub
3.在窗体Form1上放一个TextBox,用来输入ID,一个按钮,代码:
Private Sub Command1_Click() DataReport1.Show End Sub 请注意:其中将表名括起来的不是单引号而是键盘中Tab键上面的有~号的键。用的是该键的`号。
Rs.Requery
With 报表窗体名
.ReportWidth = 14830
.Sections(3).Controls("CarID").DataField = "CarID"
.Sections(3).Controls("CarName").DataField = "CarName"
.Sections(4).Controls("lblEmpName").Caption = OperName
Set .DataSource = Rs
.Show
End With
Dim str As String
Dim cnnReport As New ADODB.Connection
Dim rstReport As New ADODB.Recordset '连接数据库,假设为Access
Set cnnReport = New ADODB.Connection
With cnnReport
.Provider = "MSDataShape.1" '一定要加这句
.Open "Data Source=C:\dbName.mdb;"& _
"Data Provider=Microsoft.Jet.OLEDB.4.0"
End With
str = "SELECT * FROM `TableName` "& _
"Where where ID='" & Form1.txtID & "'"
Set rstAgmRpt = New ADODB.Recordset
With rstAgmRpt
Set .ActiveConnection = cnnReport
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.LockType = adLockReadOnly
.Source = str
.Open
End With
Set Me.DataSource = rstAgmRpt
End Sub
3.在窗体Form1上放一个TextBox,用来输入ID,一个按钮,代码:
Private Sub Command1_Click()
DataReport1.Show
End Sub 请注意:其中将表名括起来的不是单引号而是键盘中Tab键上面的有~号的键。用的是该键的`号。
如果连接的是sqlsvr,连接字符串怎么写
我用了你的方法,可是提示:参数类型不匹配或是与其他参数冲突
"Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=yanyan;Data Source=localhost"