Dim cn0 As ADODB.Connection '定义连接 Dim rs0 As ADODB.Recordset '定义记录集 Dim strcn0 As String Private Sub ActiveReport_ReportStart() Set cn0 = New ADODB.Connection Set rs0 = New ADODB.Recordset strcn0 = "driver={SQL server};server=wfxq;uid=sa;pwd=;database=wfrz" '连接信息赋予字符串 cn0.Open strcn0 Set rs0.ActiveConnection = cn0 rs0.CursorLocation = adUseClient rs0.CursorType = adOpenKeyset rs0.LockType = adLockBatchOptimistic Data1.Source = "select * from b1"Data1.Refresh Field1 = rs0!z1 Field2 = rs0!z2rs0.CloseEnd Sub
Dim rs0 As ADODB.Recordset '定义记录集
Dim strcn0 As String
Private Sub ActiveReport_ReportStart()
Set cn0 = New ADODB.Connection
Set rs0 = New ADODB.Recordset
strcn0 = "driver={SQL server};server=wfxq;uid=sa;pwd=;database=wfrz" '连接信息赋予字符串
cn0.Open strcn0
Set rs0.ActiveConnection = cn0
rs0.CursorLocation = adUseClient
rs0.CursorType = adOpenKeyset
rs0.LockType = adLockBatchOptimistic
Data1.Source = "select * from b1"Data1.Refresh Field1 = rs0!z1
Field2 = rs0!z2rs0.CloseEnd Sub
其中 e:\Printdoc\printdoc.mdb
改为你要使用的ACCESS数据库的目录及名字
并且
data1.Source=(查询语句,查MSDN吧 Select * from <表名> [Where <关系表达式>]
就行了
StrCn = "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source="
StrCn = StrCn & App.Path & "\SoftPass.mdb;"
StrCn = StrCn & "Jet OLEDB:Database Password=;" '密码;"如果你使用的是ACCESS2000的话,将上面我的代码第6行换成
StrCn = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source="
StrCn = StrCn & App.Path & "\SoftPass.mdb;"
StrCn = StrCn & "Jet OLEDB:Database Password=;" '密码;"只能显示一条记录 的原因有:
1、你打开的表中只有1条记录;
2、你没有把Field1控件放置到activereport的Detail部分,而放到了PageHeader或其他地方。