欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
VB如何調用Crystal Reports

VB如何調用Crystal Reports

shkingdee

在VB中利用Crystal ActiveX控件制作報表
在自行開(kāi)發(fā)的應用軟件中,一般都需要制作報表。我們可以利用Crystal
Reports(也稱(chēng)水晶報表)方式,調用Print方法直接輸出,通過(guò)其他(
TextBox等)控件輸出報表,使用OLE技術(shù)與Word和Excel連接輸出報表。Crystal
Reports方式需要許多文件支持,通常需要耗用更多的系統資源,但與其他方法
相比,具有容易實(shí)現、功能強大、報表樣式豐富的特點(diǎn)。
  用Crystal ActiveX控件制作報表一般有兩種方法:
  1. 直接使用Crystal ActiveX控件生成報表。
  2. 先用CRW32.EXE產(chǎn)生RPT報表文件,然后在控件中引用RPT文件。
  常用報表大約有:列表式的報表;帶有分類(lèi)、匯總式的報表;以及帶有各種
圖形、圖表的報表。下面就這兩種方法舉例說(shuō)明幾種報表的制作。
  一、 直接使用Crystal ActiveX控件生成報表
  使用Crystal ActiveX控件應先建立數據庫,Crystal ActiveX控件支持流行
的數據庫類(lèi)型,如:Access、xBase、Paradox。直接使用Crystal ActiveX 控件
只能制作簡(jiǎn)單的列表式報表。
  1. 新建一個(gè)工程,在窗體Form1上添加Data 控件,Crystal ActiveX控件,
命令按鈕。
  2. 在Data 控件上將DatabaseName 屬性設置為要生成報表的數據庫名稱(chēng),
如Biblio.mdb。
  設置 RecordSource 屬性為數據庫中表名稱(chēng)或SQL查詢(xún)語(yǔ)句。這里我們設置
成表Authors。
  3. 在Crystal ActiveX控件上設置 DataSource 屬性為Data1,設置
ReportSource 屬性為3。
  ReportSource 屬性:
   0 - 使用RPT報表文件;
   1 - 綁定到TrueGrid控件 ;
   3 - Data 控件所有的 Fields。
  設置Destination屬性為0。
  Destination 屬性:
   0 - 輸出到窗口;
   1 - 輸出到打印機;
   2 - 輸出到文件;
   3 - 通過(guò)MAPI Email將報表發(fā)送到別處;
   4 - 通過(guò)VIM Email將報表發(fā)送到別處。
   若使用屬性2,需要設置PrintFileName、
   PrintFileType等相關(guān)屬性。
   若使用屬性3、4,需要設置EMailToList、EMailCCList、EMailMessage等相關(guān)屬性。
   設置WindowState 屬性為2。
  WindowState 屬性:
   0 - 打印窗口正常方式;
   1 - 打印窗口最小化;
   2 - 打印窗口最大化。
  4. 對于報表的激活,Crystal ActiveX 控件提供兩個(gè)途徑:屬性Action等
于1;或者使用PrintReport方法。PrintReport方法可以返回錯誤代碼,以便于
進(jìn)行錯誤處理。
  在按鈕上增加代碼
   Private Sub Command1—Click()
   CrystalReport1.Action = 1
   End Sub
   代碼也可以寫(xiě)成:
   Private Sub Command1—Click()
   Dim Result%
   On Error GoTo Err—handler
  Result% = CrystalReport1.PrintReport
   Err—handler: 
   Select Case Result%
   Case 20xxx:
   ′此處錯誤處理
   End Select
   End Sub
  錯誤處理,可參閱水晶報表CRW32.EXE幫助→DEVELOPER→The Crystal ActiveX
Control→Error Messages。該處提供詳細的錯誤信息以及出錯原因。
  運行程序,單擊命令按鈕,就可預覽、打印按列列表的報表了。
  二、 使用RPT報表文件制作報表
  使用報表文件(*.RPT)可以制作前文所述的三種報表。推薦使用這種方法制作
報表。用這種方法時(shí),首先要制作一個(gè)報表文件??梢韵扔脠蟊砦募上驅Мa(chǎn)生
一個(gè)大概的輪廓來(lái),然后再修改報表文件使其符合要求。
  制作報表文件
  1. 運行水晶報表CRW32.EXE。
  在File→Options→Fonts中設置報表文件的標題、頁(yè)首、頁(yè)腳、細目處的字型。
  在File→Options→Fields中設置字串、數字、貨幣、日期、布爾型Fields的格式。
  2. 單擊菜單File→New運行報表文件生成向導。
  3. 選取Standard標準格式。
  Step1:Tables 單擊Data files,選取VB自帶的數據庫Biblio.mdb,單擊Done按
鈕,數據庫中表項出現在右邊列表框中,然后自動(dòng)進(jìn)入Step2。
  Step2:Links 單擊Next>>按鈕。
  Step3:Fields 報表文件可以使用數據庫表中的Fields,也可以使用數據庫表
Fields的運算結果(Formula)作為報表文件的列。我們先選取左邊Datebase Fields
列表框里Authors表中Au—ID、Author、Year_born增加到右邊Report Fields列表
框中,可以在Column Heading中修改Fields的標題。接下來(lái)要增加一個(gè)Formula,
單擊Formula按鈕,給公式取名f1,在Formula Text中輸入{Authors.Au_ID} + 10,
單擊Accept按鈕,左邊Datebase Fields列表框中出現@f1,把@f1添加到右邊Report
Fields列表框中,然后單擊Next>>按鈕。
  Step4:Sort 選擇Authors .Au—ID 排序并分組。排序次序和排序項可以在程序
里修改。單擊Next>>按鈕。
  Step5:Totle 選擇一個(gè)Field進(jìn)行統計,例如:小計、合計、計算平均值、個(gè)數
等。這里我們不做統計,可以將Totle Fields中的值全部移去。
  Step6:Select 在這里我們可以篩選數據庫中的記錄,假如需要使Au_ID大于500
的記錄才出現在報表里,我們可選擇Authors.Au—ID項,然后選擇is →greater than
→ 500。注意:記錄的選擇也可以在程序里修改。單擊Next>>按鈕到下一步。
  Step7:Style 選擇報表文件的樣式,這里我們選擇Table類(lèi)型。點(diǎn)擊圖片按鈕還
可以給報表加些圖片,在Title后輸入報表標題,至此報表初步制作完成。單擊Preview
Report按鈕可以預覽報表了。
  4.單擊Design標簽進(jìn)入設計模式。在設計模式中我們可以做修改調整,完成最終
的報表。Click選擇一項,Shift+ Click選擇多項。修改時(shí)應充分利用鼠標右鍵功能。
最后將報表文件存為test.rpt。
  帶有圖表的報表文件制作步驟與上面所述相似,在此不做詳細敘述。
  報表文件制作完畢,我們就可以在Crystal ActiveX 控件中引用了。
  在Crystal ActiveX 控件中引用報表文件
  1. 新建一個(gè)工程,在窗體Form1上添加Crystal ActiveX 控件,命令按鈕。
  2. 在Crystal ActiveX 控件上設置ReportSource 屬性為0,設置ReportFileName
為制作完的報表文件test.rpt,設置WindowState 屬性為2。
  3. 在按鈕上增加代碼:
  Private Sub Command1—Click()
   Dim Result%
   On Error GoTo Err—handler
   CrystalReport1.SortFields(0) = ″-{Authors.Au_ID}″
   ′將Authors.Au_ID按順序排列
   CrystalReport1.GroupSelectionFormula = ″{Authors.Au_ID} in 100 to 1000″
   ′篩選Authors.Au—ID為100至1000的記錄
   Result% = CrystalReport1.PrintReport
  Err—handler:
   Select Case Result%
   Case 20xxx:
   ′此處錯誤處理
  End Select
  End Sub


例:
Private Sub Form_Load()
Dim capp As New CRAXDRT.Application
Dim crp As New CRAXDRT.Report
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim i As Integer
If cn.State = adStateOpen Then cn.Close
With cn
.Provider = "MSDASQL.1"
.ConnectionString = "Persist Security Info=True;User ID=SA;Data Source=plans;Initial Catalog=plan"
.Open
End With
If rs.State = adStateOpen Then rs.Close
‘rs.Open "select * from apb where zdph like ‘14%‘ ", cn, adOpenKeyset, adLockOptimistic
Set crp = capp.OpenReport(App.Path & "\report1.rpt")
‘For i = 1 To crp.Database.Tables.Count
‘ If crp.Database.Tables.Item(i).Name = "ado" Then
‘ crp.Database.Tables(i).SetDataSource rs
‘ End If
‘Next i
‘crp.Database.SetDataSource rs
CRViewer1.ReportSource = crp
CRViewer1.ViewReport

End Sub

Private Sub Form_Resize()
CRViewer1.Top = 0
CRViewer1.Left = 0
CRViewer1.Height = ScaleHeight
CRViewer1.Width = ScaleWidth
End Sub
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
用C#編寫(xiě)ActiveX控件(三)
C++中ActiveX工程的一些設置
ASP.NET 3.5下基于Crystal Reports的報表編程|IT168 技術(shù)開(kāi)發(fā)
九個(gè)防黑小技巧 讓IE從此變安全
向幻燈片或窗體添加 Shockwave Flash 對象 ActiveX 控件 - PPT...
編程論壇-[求助]VFP9連編后的程序傳到未裝VFP的機上不能運行?
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久