1. 程式人生 > >VB機房收費系統09——日結賬單和周結賬單

VB機房收費系統09——日結賬單和周結賬單

Dim WithEvents Report As grproLibCtl.GridppReport



Private Sub cmdweeklist_Click()
'賬單重新整理
    Dim txtsql As String
    Dim msgtext As String
    Dim mrc As ADODB.Recordset
    Dim mrc1 As ADODB.Recordset
    Dim mrc2 As ADODB.Recordset
    Dim mrc3 As ADODB.Recordset
    Dim mrc4 As ADODB.Recordset
    Dim mrc5 As ADODB.Recordset
    Dim RemainCash As Integer
    Dim RechargeCash As Integer
    Dim ConsumeCash As Integer
    Dim CancelCash As Integer
    Dim AllCash As Integer
    
    If DTPicker1.Value > DTPicker2.Value Then
        MsgBox "終止日期不能小於起始日期", 48, "提示"
        Exit Sub
    Else
    
        If DTPicker1.Value And DTPicker2.Value > Date Then
            MsgBox "小主,日子還沒到呢", 48, "提示"
            DTPicker1.Value = Date
            DTPicker2.Value = Date
            Exit Sub
        Else
        
            txtsql = "select * from checkday_info where date between '" & DTPicker1.Value & "' and '" & DTPicker2.Value & "'"
            Set mrc = ExecuteSQL(txtsql, msgtext)
            
            If mrc.EOF Then
                MsgBox "該時間段沒有資料!", 48, "提示"
                
                Exit Sub
            Else
                
                '刪除check week表中的記
                
                txtsql = "delete from checkweek_Info"
                
                Set mrc1 = ExecuteSQL(txtsql, msgtext)
                
                '計算上次充值卡金額
                
                    mrc.MoveLast
                    RemainCash = mrc.Fields(0)
                
                '計算總充值金額mrc2
                    
    
                    txtsql = "select sum(rechargecash) from checkday_info where date between '" & DTPicker1.Value & " ' and '" & DTPicker2.Value & "'"
                    Set mrc2 = ExecuteSQL(txtsql, msgtext)
                    
                    If IsNull(mrc2.Fields(0)) = True Then
                        RechargeCash = 0
                    Else
                        RechargeCash = Trim(mrc2.Fields(0))
                    End If
                    
            
                
                '計算總消費金額
                
                    txtsql = "select sum(consumecash) from checkday_info where date between '" & DTPicker1.Value & "' and '" & DTPicker2.Value & "'"
                    Set mrc3 = ExecuteSQL(txtsql, msgtext)
                    
                        If IsNull(mrc3.Fields(0)) = True Then
                            ConsumeCash = 0
                        Else
                            ConsumeCash = Trim(mrc3.Fields(0))
                        End If
                            
                '計算總退卡金額
                
                    txtsql = "select sum(cancelcash) from checkday_info where date between '" & DTPicker1.Value & "' and '" & DTPicker1.Value & "'"
                    Set mrc4 = ExecuteSQL(txtsql, msgtext)
                    
                        If IsNull(mrc4.Fields(0)) = True Then
                            CancelCash = 0
                        Else
                            CancelCash = Trim(mrc4.Fields(0))
                        End If
                        
                '計算本期充值卡金額
                
                    mrc.MoveLast
                    AllCash = mrc.Fields(4)
                    
                '新增到check week表中
                
                    txtsql = "select * from checkweek_info"
                    Set mrc1 = ExecuteSQL(txtsql, msgtext)
                    mrc1.AddNew
                        mrc1.Fields(0) = RemainCash
                        mrc1.Fields(1) = RechargeCash
                        mrc1.Fields(2) = ConsumeCash
                        mrc1.Fields(3) = CancelCash
                        mrc1.Fields(4) = AllCash
                        mrc1.Fields(5) = Date
                        
                    mrc1.Update
                    
                '顯示報表中的內容
                    
                    Report.DetailGrid.Recordset.QuerySQL = txtsql
                    GRDisplayViewer1.Refresh
                    
                '給報表的日期賦值
    
                    Report.ParameterByName("BeginDate").Value = Format$(DTPicker1.Value, "yyyy-mm-dd")
                    Report.ParameterByName("EndDate").Value = Format$(DTPicker2.Value, "yyyy-mm-dd")
                    Report.ParameterByName("XX").Value = UserName
                    
            End If
        End If
    End If
End Sub

Private Sub cmdprint_Click()
    Report.[Print] (True)
    
End Sub

Private Sub cmdprintpreview_Click()
    Report.PrintPreview (True)
    
End Sub

Private Sub Form_Load()
    txtsql = "select * from checkweek_info"
    
    
    '建立報表物件
    
    Set Report = New grproLibCtl.GridppReport
    
    '放入做好的報表檔案
    
    Report.LoadFromFile (App.Path & "\weekcheck.grf")
    
    '連線資料來源
    
    Report.DetailGrid.Recordset.ConnectionString = "FileDSN=charge.dsn;UID=sa;PWD=123456"
    Report.DetailGrid.Recordset.QuerySQL = txtsql
    
    
    '顯示報表的內容
    GRDisplayViewer1.Report = Report
    GRDisplayViewer1.Start
    
    '給報表的日期賦值
    
    Report.ParameterByName("BeginDate").Value = Format$(DTPicker1.Value, "yyyy-mm-dd")
    Report.ParameterByName("EndDate").Value = Format$(DTPicker2.Value, "yyyy-mm-dd")
    Report.ParameterByName("XX").Value = UserName
End Sub


VB報表控制元件

相關推薦

VB機房收費系統09——賬單賬單

Dim WithEvents Report As grproLibCtl.GridppReport Private Sub cmdweeklist_Click() '賬單重新整理 Dim txtsql As String Dim msgtext As String Dim mrc

機房收費系統賬單

        日結賬單這個版塊的內容稍有點難,根據我自己的理解,實現這個功能主要突破兩個主要的內容:第一為報表,資料庫和vb之間的連線的問題;第二為結賬的問題。這兩個內容實現了,那麼,日結賬單的這個功能也就基本實現了。          那麼?結賬是對什麼結賬呢?上期餘額

機房收費系統賬單報表實現

   【背景】    經過看同學們的部落格和自己的親身實踐,終於把報表這一塊弄明白了,是應該該寫個部落格總結一下了。這一篇部落格介紹簡單的報表製作過程,並以日結賬單為例,因為日結算是比較簡單,它沒有時

機房收費系統】--賬單

   上篇部落格說了報表怎麼做,但是日、周結賬單製作報表還是不行的,還要把賬算清楚,機房的難點就是把賬算對了,不能虧錢,我的思路就是充退卡、充值、下機表中獲取總金額,然後相互加減,下面看一下我的程式碼吧。 日結賬單 Dim txtsql As Strin

VB機房收費系統問題

        這次的VB機房收費系統,昨天算是完全做完了.         其實還是有些問題,比如我的特殊字元檢查就做的不好,我只檢查了單引號,其他的特殊字元,想想都覺得麻煩,就沒做.其實還是有些方

VB機房收費系統08——結賬

Private Sub comboid_Click() '購卡 Dim txtsql As String Dim msgtext As String Dim mrc As ADODB.Recordset '查詢管理員 txtsql = "select * from User

機房收費系統之MDI主窗體子窗體(覆蓋)

    在機房收費系統中,frmMain作為MDI的主窗體,想要在MDI主窗體上新增控制元件,picture控制元件可以起到此作用,但是在添加了picture控制元件以後,問題也就隨之而來了。     點選子窗體的時候,子窗體被“吃掉”了,怎麼樣讓他顯示出來呢?想要解

機房收費系統——賬單

最後一個難點就是報表——日、周結賬單,這兩部分幾乎是相同的,只要把日結賬單做出來了,周結賬單也是so easy的,關鍵看你怎麼做了,接下來看看我做的,僅供參考: 日結: Option Explicit Dim WithEvents report As grproLibCtl.Gri

機房收費系統——賬單

關於報表的學習請看上一篇部落格: 日賬單: Private Sub Form_Load() Dim txtsql As String Dim noda As String noda = Now

機房收費系統——報表與vb互動之結賬結賬】

         在上一篇中已經介紹了報表模板的製作了,當然我們不能還要介紹報表和vb的互動,當我們建好模板以後就要在vb中引用此報表,下面就結合日結賬和周結賬來介紹報表的使用。     首先我們應該

機房收費系統賬單

       機房收費的周結賬單是日結賬單的衍生,因為在每一天中都可以結好幾次帳,最後在日結賬單表中一天的記錄有好幾個,而周結賬單就是為了解決這個問題。把每一天的記錄彙總成一條來顯示出來,方便管理

小結:VB.NET機房收費系統個人版

style 曾經 static 設計 由於 什麽 圖書館 block 技術 經過幾天的縫縫補補,自己的個人版最終OK了,!或許是由於有第一次的機房收費系統的經驗,這次做,感覺很親切。 在業務邏輯方面,沿襲曾經的邏輯。做了一點升級。可是修改不大。

VB.NET版機房收費系統—數據庫設計

階段 數據類型 多人 不能 can log lai tex asi 之前第一遍機房收費的時候,用的數據庫是別人的。認知也僅僅能建立在別人的基礎上,等自考中《數據庫系統原理》這本書學完了之後,再去看曾經的數據庫,發現數據庫真的還須要進一步的優化。以下是我設計數據庫的

機房收費系統VB.NET)個人版總結

blog gb2 watermark ast 做到 解決 content 結果 avi 重構版個人機房收費系統大概從暑假開學開始進行。花了不到一個半月的時間才完畢。以下對我在重構過程中的一寫理解。 1、系統設計一個非常重要的目的就是重用。而要做

重構機房收費系統你要用的——異常處理拋出異常(try catch finally)——(vb.net)

style post blue 通過 alt list bcm round 導致 你能保證你的程序不會出問題嗎? 不能 當你的程序執行到某個地方發生了你不想要的結果。你是否想讓它一錯再錯? 不想 你是否想讓你的程序占著茅坑不拉屎? 不想 你是否想知道你的程序出錯的原因?

機房收費系統VB版——系統分析

我們現在基本都做到了機房收費系統這個專案了,這個系統其實我們並不陌生,去過網咖的同學都應該用過,但是我們都只是作為一個使用者來使用,並不瞭解這個系統真正的原理,下面就來分析一下這個系統到底是什麼原理: **1、機房收費系統主要任務流程是:**註冊——充值——上機——下機——退卡。其他的功

機房收費系統vb.net之打包與部署(二)

             緊接著上篇部落格的打包和部署,以下說一下我在XP系統和.net framework2.0平臺公佈系統的解決的方法,對於.net framework2.0的情況,由於大家知道假設用visua

VB NET版機房收費系統---匯出Excel表格

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!                       datagridview,翻譯成中文的意思是資料表格顯示,使用DataGridView控制元件,可以顯示和編輯來自不同型別的資料來源的表格,將資料

VB.NET+三層 機房收費系統之組合查詢

  關係組合查詢已經用去了4天的時間,每天都在痛苦中煎熬,絞盡腦汁,一句程式碼都要瞪大眼睛看好長時間,有時候,因為兩句話顛倒了,就nothing了;有時候,因為table怎樣能夠轉換成實體型別,將自己困住了,一想就是半天。狀況不斷呀,看了很多師哥師姐們的程式碼,他們分享著自

VB.NET版機房收費系統之組合查詢

    之前用VB做組合查詢的時候沒有認真的思考過,這次再做機房決心不能就這麼放過,今天就來說一說組合查詢。     首先做組合查詢,我用的是窗體的繼承,簡化了不少程式碼,大家也寫了很多窗體繼承的文章