为什么在水晶报表中出现重复记录,而在查询分析器中又是正确的?
leayh 2005-01-03 02:00:39 事先用设计器做好了rpt文件,在VB6里调用,调用语句如下所示。我只想要第一个客户有前5条订单记录,可事实上在报表中打印出来的每一张订单都重复了5条。查询语句在查询分析器中测试是正确的,可为什么到报表里就不对呢(注:报表用到了客户.姓名进行分组)?
Dim crApp As New CRAXDRT.Application
Dim crRpt As New CRAXDRT.Report
Dim Con As New ADODB.Connection
Dim Rst As New ADODB.Recordset
Dim strSql As String
Private Sub Form_Load()
strSql = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\xtreme.mdb" & ";Persist Security Info=False"
Con.Open strSql
strSql = "SELECT top 5 客户.*, 订单.* FROM 客户 INNER JOIN 订单 ON 客户.[客户 ID] = 订单.[客户 ID] order by 客户.[客户 ID], 订单.[订单 ID]"
Rst.Open strSql, Con, adOpenStatic, adLockReadOnly, adCmdText
Set crRpt = crApp.OpenReport(App.Path & "\order.rpt")
crRpt.DiscardSavedData
crRpt.Database.SetDataSource Rst, 3, 1
crRpt.Database.SetDataSource Rst, 3, 2
CRV.ReportSource = crRpt
CRV.DisplayBackgroundEdge = False
CRV.DisplayGroupTree = False
CRV.Refresh
CRV.ViewReport
End Sub