我的源代码如下:Dim CRYAT As New CRAXDRT.Application
Dim CRY As CRAXDRT.Report
Dim Strcnn As String
Dim cnn1 As New ADODB.Connection
Dim adoRS As New ADODB.RecordsetStrcnn = "Provider=SQLOLEDB.1;Data Source =super;Initial Catalog=cggl;User ID=dick;Password=dick;" sql = "select a.[订单号],a.[供应商名称],b.[订单号],b.[描述] from [fkpomt] as a inner join [fkpomx] as b on a.[订单号]=b.[订单号] and b.[订单号]='" & ldh & "'" Set CRYAT = New CRAXDRT.Application Set CRY = CRYAT.OpenReport(App.Path & "\htdy.rpt")
cnn1.Open Strcnn
adoRS.Open sql, cnn1, adOpenKeyset, adLockOptimistic CRY.Database.SetDataSource adoRS
CRY.DiscardSavedData
CRY.ParameterFields.GetItemByName("ddh").ClearCurrentValueAndRange
CRY.ParameterFields.GetItemByName("ddh").AddCurrentValue (ldh)
CRY.EnableParameterPrompting = False
CRViewer91.ReportSource = CRY CRViewer91.Refresh
CRViewer91.ViewReport
当我在报表中的“数据库字段”里边只选一张表(FKPOMX)的时候,报表可以正常显示,但是如果选了2张表,运行就会出错,提示:登录失败。
详细资料:ADO Error Code:0x80040e4d
Source:Microsoft OLE DB Provider for SQL Server
Description:用户'aa'登录失败
SQL state:42000
Native Error:18456这个是什么原因呢,请高手指点一下!谢谢
Dim CRY As CRAXDRT.Report
Dim Strcnn As String
Dim cnn1 As New ADODB.Connection
Dim adoRS As New ADODB.RecordsetStrcnn = "Provider=SQLOLEDB.1;Data Source =super;Initial Catalog=cggl;User ID=dick;Password=dick;" sql = "select a.[订单号],a.[供应商名称],b.[订单号],b.[描述] from [fkpomt] as a inner join [fkpomx] as b on a.[订单号]=b.[订单号] and b.[订单号]='" & ldh & "'" Set CRYAT = New CRAXDRT.Application Set CRY = CRYAT.OpenReport(App.Path & "\htdy.rpt")
cnn1.Open Strcnn
adoRS.Open sql, cnn1, adOpenKeyset, adLockOptimistic CRY.Database.SetDataSource adoRS
CRY.DiscardSavedData
CRY.ParameterFields.GetItemByName("ddh").ClearCurrentValueAndRange
CRY.ParameterFields.GetItemByName("ddh").AddCurrentValue (ldh)
CRY.EnableParameterPrompting = False
CRViewer91.ReportSource = CRY CRViewer91.Refresh
CRViewer91.ViewReport
当我在报表中的“数据库字段”里边只选一张表(FKPOMX)的时候,报表可以正常显示,但是如果选了2张表,运行就会出错,提示:登录失败。
详细资料:ADO Error Code:0x80040e4d
Source:Microsoft OLE DB Provider for SQL Server
Description:用户'aa'登录失败
SQL state:42000
Native Error:18456这个是什么原因呢,请高手指点一下!谢谢
这句话 CRViewer91.Refresh 有用吗?我用它的时候,报表并没有刷新。
如果是,請設定如下
CRY.Database.SetDataSource(1) adoRS1
CRY.Database.SetDataSource(2) adoRS2如果不是,請詳細描述一下
CRY.Database.SetDataSource(2) adoRS2这样写是否正确呢,我这边运行有错呀!
CRY.Database.Tables(1).SetDataSource Rs1
CRY.Database.Tables(2).SetDataSource Rs2
总算可以了,这个问题折腾了我好久,真是非常感谢:)