表 A 放详细数据,  字段:  单号、客户代号、代理代号、......等等
表 B 放客户资料,  字段: 客户代号、客户名称、......其它资料
表 C 放代理资料,  字段: 代理代号、代理名称、.....水晶报表里设计直接连 access 数据库,选择表 表B --> 表A 右外部外部连接
表C --> 表A 右外部连接然后以 [客户代号] 按日期分组报表,数据显示成功,调整..........VB 里如果不用 ADO 数据源的话,显示也正常
以下代码 SQL 语句从 access 查询设计里贴出来的,在 access 里正常查询
表关系类型试过很多种, 要么出现 “下标越界”,要么出现什么 不支持"多对一"表关系还是什么的
我估计问题出在表关系上,解决不了,谢谢各位帮帮忙,看一下,Dim crApp As New CRAXDRT.Application
Dim crRpt As New CRAXDRT.Report
Dim Rst As New ADODB.Recordset
Dim strSql As String '只为了显示客户名称和代理名称,  strSql = "SELECT 表A.* FROM 表C INNER JOIN (表A INNER JOIN 表B ON 表A.[客户代号] = 表B.[客户代号]) ON 表C.[代理代号] = 表A.[代理代号]"
    Rst.Open strSql, conn, adOpenStatic, adLockReadOnly, adCmdText
  
    Set crRpt = crApp.OpenReport(App.Path & "\temp\Report.rpt")
    crRpt.DiscardSavedData
    crRpt.Database.SetDataSource Rst, 3, 1
    crRpt.Database.SetDataSource Rst, 3, 2
    crRpt.Database.SetDataSource Rst, 3, 3
    crRpt.EnableParameterPrompting = FalseWith Me.CRViewer91
.ReportSource = crRpt
.ViewReport
'.DisplayGroupTree = False
.Zoom 100
End With