Public Sub PrintReport(ByVal strSheetId As String, ByVal strRoomName As String, Optional isPreview As Boolean = False)
Dim prn As New crDrugApp Dim strSql As String Dim rsPrn As New ADODB.Recordset On Error GoTo ErrHandler
Me.MousePointer = 11
strSql = "select * from vwPrnKfDrugApp where Apply_ID='" & strSheetId & "'" Set rsPrn = db.Execute(strSql) With prn .Database.SetDataSource rsPrn .lblHospital.Font.Size = 12 .lblHospital.HorAlignment = crHorCenterAlign .lblHospital.SetText pHospital & "vf" & "(" & strRoomName & ")" .lblPrnDate.SetText "sdf:" & Format(gInterfaceControl.SetProDate, "yyyy-mm-dd") ' .PaperOrientation = crPortrait ' .PaperSize = crPaperUser ' .SetUserPaperSize End With
Me.MousePointer = 0
If isPreview = False Then prn.PrintOut False Set prn = Nothing Set rsPrn = Nothing Exit Sub Else frmReport.Viewer.ReportSource = prn frmReport.Viewer.ViewReport frmReport.Show 1 End If Set prn = Nothing Set rsPrn = Nothing Exit Sub ErrHandler: Me.MousePointer = 0 Set prn = Nothing Set rsPrn = Nothing objErrLog.Record Err.Number, Err.Description, Me.Caption, "PrintReport", "" End Sub
With CR .Database.SetDataSource rs End With 提示下标越界,无法通过。请问如何解决。
Dim pConn As New ADODB.Connection pConn.ConnectionString = "Provider=SQLOLEDB.1;persist security=False;Password=1234;User ID=sa;Initial Catalog=HKSales;Data Source=192.168.101.252" pConn.CursorLocation = adUseClient pConn.Open
Dim CryApp As New CRAXDDRT.Application Dim tReport As New CRAXDDRT.Report Dim adoRS As New ADODB.Recordset Dim txtsql As String
txtsql = "SELECT a.vpo_No,a.po_Date,a.requested_Date,a.Material_No,a.Desp,a.quantity,a.unit,a.unit_Price,a.currency,a.re,b.vendor_Name FROM purchase a LEFT JOIN vendor b ON a.vendor_No = b.vendor_No ORDER BY a.material_No" adoRS.Open txtsql, pConn, adOpenDynamic, adLockBatchOptimistic Set tReport = CryApp.OpenReport(App.Path & "\purchaseorder.rpt", 1) tReport.Database.SetDataSource adoRS tReport.ReadRecords Screen.MousePointer = vbHourglass CRViewer91.ReportSource = tReport CRViewer91.ViewReport Screen.MousePointer = vbDefault请大虾帮我看看. 当程序运行到: tReport.Database.SetDataSource adoRS 时就出错,提示: "0X3b06aebb" 指令引用的"0X046879e4"内存.该内存不能为"read",要终止程序,请单击"确定" 这是什么原因呢?
你里面有个字段(ttx文件)的宽度不够有可能是日期字段,你把数据类型改为string 30 试下
With CR .Database.SetDataSource rs End With 提示下标越界,无法通过。请问如何解决。//已经解决。 //另:我在报表设计界面,从DataBase Fields中的某个a表拉出一个A字段放在报表Details中。可以打印; 假设我有不同的表中不同的字段需要打印,是不是要象a表A字段一样,一个一个拉出来。能否自行设定?
Public Sub PrintReport(ByVal strSheetId As String, ByVal strRoomName As String, Optional isPreview As Boolean = False)
Dim prn As New crDrugApp
Dim strSql As String
Dim rsPrn As New ADODB.Recordset
On Error GoTo ErrHandler
Me.MousePointer = 11
strSql = "select * from vwPrnKfDrugApp where Apply_ID='" & strSheetId & "'"
Set rsPrn = db.Execute(strSql) With prn
.Database.SetDataSource rsPrn
.lblHospital.Font.Size = 12
.lblHospital.HorAlignment = crHorCenterAlign
.lblHospital.SetText pHospital & "vf" & "(" & strRoomName & ")"
.lblPrnDate.SetText "sdf:" & Format(gInterfaceControl.SetProDate, "yyyy-mm-dd")
' .PaperOrientation = crPortrait
' .PaperSize = crPaperUser
' .SetUserPaperSize
End With
Me.MousePointer = 0
If isPreview = False Then
prn.PrintOut False
Set prn = Nothing
Set rsPrn = Nothing
Exit Sub
Else
frmReport.Viewer.ReportSource = prn
frmReport.Viewer.ViewReport
frmReport.Show 1
End If Set prn = Nothing
Set rsPrn = Nothing
Exit Sub
ErrHandler:
Me.MousePointer = 0
Set prn = Nothing
Set rsPrn = Nothing
objErrLog.Record Err.Number, Err.Description, Me.Caption, "PrintReport", ""
End Sub
.Database.SetDataSource rs
End With
提示下标越界,无法通过。请问如何解决。
pConn.ConnectionString = "Provider=SQLOLEDB.1;persist security=False;Password=1234;User ID=sa;Initial Catalog=HKSales;Data Source=192.168.101.252"
pConn.CursorLocation = adUseClient
pConn.Open
Dim CryApp As New CRAXDDRT.Application
Dim tReport As New CRAXDDRT.Report
Dim adoRS As New ADODB.Recordset
Dim txtsql As String
txtsql = "SELECT a.vpo_No,a.po_Date,a.requested_Date,a.Material_No,a.Desp,a.quantity,a.unit,a.unit_Price,a.currency,a.re,b.vendor_Name FROM purchase a LEFT JOIN vendor b ON a.vendor_No = b.vendor_No ORDER BY a.material_No"
adoRS.Open txtsql, pConn, adOpenDynamic, adLockBatchOptimistic
Set tReport = CryApp.OpenReport(App.Path & "\purchaseorder.rpt", 1)
tReport.Database.SetDataSource adoRS
tReport.ReadRecords
Screen.MousePointer = vbHourglass
CRViewer91.ReportSource = tReport
CRViewer91.ViewReport
Screen.MousePointer = vbDefault请大虾帮我看看.
当程序运行到: tReport.Database.SetDataSource adoRS 时就出错,提示: "0X3b06aebb" 指令引用的"0X046879e4"内存.该内存不能为"read",要终止程序,请单击"确定"
这是什么原因呢?
.Database.SetDataSource rs
End With
提示下标越界,无法通过。请问如何解决。//已经解决。
//另:我在报表设计界面,从DataBase Fields中的某个a表拉出一个A字段放在报表Details中。可以打印;
假设我有不同的表中不同的字段需要打印,是不是要象a表A字段一样,一个一个拉出来。能否自行设定?
免费下载 www.aprintsoft.com
客户服务也不错
//好象是因为你按了2个版本的crystal?
假设我有不同表中不同的字段需要打印,是不是要象a表A字段一样,b表B字段一个一个拉出来。能否在报表设计界面放字段,然后再在程序中自行设定该字段显示的值?跟DataReport和ActiveReport一样。
没有人能帮我这个问题吗?
http://www.anylib.com