• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        在VB6.0中完成動態統計報表

        在VB6.0中完成動態統計報表

        更新時間:2022-05-13 文章作者:未知 信息來源:網絡 閱讀次數:

        在利用VB開發MIS系統的過程中,經常需要制作動態統計報表。本文就如何實現動態數據源下的分組交叉統計報表進行闡述,并結合實例給出編程指導。

          在VB6.0的數據環境設計器中,我們可以利用“添加命令”一項來連接報表所需的數據源,同時利用“添加命令”屬性中的分組與合計功能設計分組交叉統計報表的數據源,至此我們可以設計簡單的數據存在于單一表靜態數據源下分組交叉報表,對于數據存在多表的復雜的動態數據源下的分組交叉報表來說,仍實現不了,實現該功能的關鍵在于構造一個符合動態數據源要求的中間表。下面以一管理系統中工程成本統計報表的實例來說明如何實現動態數據源下的分組交叉統計報表。

        一、報表要求與分析
          該報表要求列出在指定的時間段內實施的各項工程所耗器材明細、數量、費用,并且計算各項工程的成本,最終計算所有工程的累計成本。

          需求分析后可知該報表是個典型的動態數據源下分組統計報表,分組項為工程名稱,要求對每個分組進行子匯總和對所有分組進行總匯總。由于在該系統中的出庫單和出庫單明細分別存放在不同的表中,因此必須根據報表的要求預先構造一個成本統計中間表,命名為EquipMentCost。相關表結構如圖1。

          通過對表OutBill和OutBillDetail的分析,發現兩者通過關鍵字OutBill 相聯,下面通過SQL語句生成中間表EquipmentCost,語句如下:

          Insert into EquipmentCost

          (Project,Name,Standard,Type,Num,Cost)

          select a.project as 'Project', b.name as 'Name',b.standard as 'Standard', b.type as 'Type',b.num as 'Num', b.numb.price as 'Cost' from Outbill a left join OutbillDetail b on (a.outbill=b.outbill)

          where a.OutDate>=date1 and a.OutDate<=date2

          date1 和 date2 變量用來指定時間,注意插入前要先清空該中間表的所有數據。

        二、利用數據環境設計器生成工程成本報表的初始模板
          打開一個數據環境設計器,在其屬性表單中設置其名稱屬性為EnvCatv,并添加一個數據庫連接到當前庫Catv,連接名稱為CatvConn。在當前庫連接下單擊右鍵,選擇“添加命令”選項,創建一個命令,命名為CmdCost,在該命令的屬性頁的“通用”選項頁上設置SQL語句如下:

          Select  from EquipmentCost

          單擊“應用”按鈕察看效果。

          隨后對該命令進行分組,右鍵單擊該命令,選擇“屬性”選項,在屬性頁的“分組”選項頁中,將Project(工程名稱)字段設置為分組字段,分組名稱為GroupCost,單擊“應用”按鈕觀看效果。

          接著對該命令進行子匯總,右鍵單擊該命令,選擇“屬性”頁的“匯總”選項頁,將Num(器材數量)、Cost(器材成本)設置為子匯總字段,分別命名為“合計1”、“合計2”,匯總名稱為GrantTotal,該名稱為總匯總所共用。在程序中顯示報表前,必須對該名稱對應的記錄集RsGrantTotal進行刷新,否則數據報表不能反映統計中間表的最新內容。單擊“應用”按鈕觀看效果。

          最后對該命令進行總匯總,右鍵單擊該命令,選擇“屬性”頁的“匯總”選項頁,將“合計1”、“合計2”設置為總匯總字段,分別命名為“總計1”、“總計2”,單擊“應用”按鈕觀看效果。

          按照上面的步驟,我們在當前連接CatvConn下建立了一個包含匯總的分組命令,接著建立一個數據報表設計器命名為RptCost,將該分組子命令拖到數據報表的“細節”段內,釋放后,調節各個字段的大小和位置,其中,子匯總字段和總匯總字段還應該分別另建分組節,總匯總字段所處的節應位于最上層。

        三、在程序中填充統計中間表,更新數據報表并顯示
          設計一個打印模塊如下:

          Public Sub Print_EquipMentCost(Byval Date1 as Date, Byval Date2 as Date)

          '清空虛擬表

          Dim SSQL as string  

          Dim Cmd As New ADODB.Command

          SSql = "Delete From EquipmentCost"

          Cmd.ActiveConnection = gConn  

          '數據庫連接變量,讀者可以建立自己的數據庫連接變量

          Cmd.CommandType = adCmdText

          Cmd.CommandText = SSql

          Cmd.Execute

          '將統計明細添加到虛擬表中

          ssql="Insert into EquipmentCost"&&" (Project,Name,Standard,Type,Num,Cost)"&&" select a.project as 'Project',b.name as 'Name',"&&"b.standard as 'Standard', b.type as 'Type',"&&"b.num as 'Num',b.num*b.price as 'Cost'"&&"from Outbill a left join OutbillDetail b on(a.outbill=b.outbill)"&&" where a.OutDate>=" && Date1 && " and a.OutDate<=" && Date2

          Cmd.ActiveConnection = gConn

          Cmd.CommandType = adCmdText

          Cmd.CommandText = SSql

          Cmd.Execute

          '刷新數據報表,使其顯示最新查詢記錄

          Set RptCost.DataSource = EnvCatv

          '數據環境名稱

          EnvCatv.rsGrandTotal.Requery   'rsGrantTotal 為分組子命令記錄集名稱

          '顯示數據報表

          RptCost.Show

          End Sub

          本程序在VB6.0、MS-SQL Server下運行成功。

        出庫單表名為OutBill,結構如下: 字段名
        字段含義
        類型
        長度

        OutBill
        出庫單號
        Varchar
        10

        OutDate
        出庫日期
        SmallDate
         

        LLMan
        領料人
        Varchar
        12

        DepartMent
        部門
        Varchar
        12

        Operator
        經手人
        VarChar
        12

        Project
        對應工程
        VarChar
        50



        出庫單明細表名為OutBillDetail,結構如下: 字段名
        字段含義
        類型
        長度

        OutBill
        出庫單號
        Varchar
        10

        EmName
        器材名稱
        Varchar
        12

        EmStandard
        器材規格
        Varchar
        12

        EmType
        器材型號
        Varchar
        12

        Amount
        數量
        Int
         

        Price
        單價
        smallmoney
         



        成本統計中間表名為EquipMentCost,結構如下: 字段名
        字段含義
        類型
        長度

        Project
        工程名稱
        Varchar
        50

        Name
        器材名稱
        Varchar
        12

        Standard
        器材規格
        Varchar
        12

        Type
        器材型號
        Varchar
        12

        Num
        器材用量
        Int
         

        Cost
        器材成本
        smallmoney

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 日本免费人成黄页网观看视频| 91精品全国免费观看含羞草| 国产特级淫片免费看| 77777亚洲午夜久久多喷| 91在线视频免费看| 亚洲精品国产精品国自产网站| 国产人成免费视频网站| 亚洲免费视频播放| 天天看免费高清影视| 亚洲精品美女久久久久久久| 免费黄色毛片视频| 黄页免费视频播放在线播放| 日韩亚洲国产二区| 久久久久久久久久久免费精品| 亚洲日韩av无码| 久久国产乱子伦免费精品| 亚洲精品亚洲人成在线观看麻豆| 16女性下面扒开无遮挡免费| 亚洲日本国产精华液| 免费毛片在线看片免费丝瓜视频| 亚洲国产精品网站在线播放| 亚洲AV无码乱码在线观看| yellow视频免费在线观看| 亚洲狠狠久久综合一区77777| 1000部免费啪啪十八未年禁止观看 | 怡红院免费的全部视频| 亚洲av无码片在线播放| 免费AA片少妇人AA片直播| 亚洲国产成人无码AV在线影院| 亚洲性日韩精品一区二区三区 | 亚洲av中文无码字幕色不卡| 亚洲а∨天堂久久精品| 久久国产乱子免费精品| 亚洲欧洲校园自拍都市| 国产免费久久精品| 久久国产免费一区二区三区| 亚洲av无码专区亚洲av不卡| 亚洲精品亚洲人成人网| 在线天堂免费观看.WWW| 韩日电影在线播放免费版| ass亚洲**毛茸茸pics|