📄 frmmain.vb
字号:
Me.MenuItem10.Index = 3
Me.MenuItem10.MenuItems.AddRange(New System.Windows.Forms.MenuItem() {Me.MenuItem11, Me.MenuItem12, Me.MenuItem13})
Me.MenuItem10.Text = "结帐及报表(&Y)"
'
'MenuItem11
'
Me.MenuItem11.Index = 0
Me.MenuItem11.Text = "试算平衡表(&X)"
'
'MenuItem12
'
Me.MenuItem12.Index = 1
Me.MenuItem12.Text = "期末结帐(&Y)"
'
'MenuItem13
'
Me.MenuItem13.Index = 2
Me.MenuItem13.Text = "资产负债表(&Z)"
'
'MenuItem14
'
Me.MenuItem14.Index = 4
Me.MenuItem14.Text = "退出系统(&Z)"
'
'StatusBar
'
Me.StatusBar.Location = New System.Drawing.Point(0, 184)
Me.StatusBar.Name = "StatusBar"
Me.StatusBar.Size = New System.Drawing.Size(504, 22)
Me.StatusBar.SizingGrip = False
Me.StatusBar.TabIndex = 2
Me.StatusBar.Text = "数据库开发经典实例解析 清华大学出版社 用户登陆功能和权限管理功能参考进销存实例"
'
'frmMain
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(504, 206)
Me.ContextMenu = Me.cmMN
Me.Controls.Add(Me.StatusBar)
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.IsMdiContainer = True
Me.Menu = Me.mainMN
Me.Name = "frmMain"
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "财务管理系统"
Me.ResumeLayout(False)
End Sub
#End Region
Private Function GetInstanceState(ByVal name As String) As Boolean
'获得frmMain窗体的子窗体的数量
Dim i As Integer = Me.MdiChildren.Length
'循环判断是否有名为name的子窗体实例
For i = 0 To Me.MdiChildren.Length - 1
If Me.MdiChildren(i).Name = name Then
'存在名为name的子窗体,是子窗体获得焦点并返回True
Me.MdiChildren(i).Focus()
Return True
End If
Next
'不存在名为Name的子窗体False
Return False
End Function
Private Sub mnKemu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnKemu.Click
If GetInstanceState("frmKeMu") Then
Exit Sub
End If
Dim childFrm As frmKeMu = New frmKeMu
childFrm.MdiParent = Me
childFrm.Show()
End Sub
Private Sub mnShuru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnShuru.Click
If GetInstanceState("frmShuRu") Then
Exit Sub
End If
Dim childFrm As frmShuRu = New frmShuRu
childFrm.MdiParent = Me
childFrm.Show()
End Sub
Private Sub mnZongfen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnZongfen.Click
If GetInstanceState("frmZongFen") Then
Exit Sub
End If
Dim childFrm As frmZongFen = New frmZongFen
childFrm.MdiParent = Me
childFrm.Show()
End Sub
Private Sub mnMingxi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnMingxi.Click
If GetInstanceState("frmMingXi") Then
Exit Sub
End If
Dim childFrm As frmMingXi = New frmMingXi
childFrm.MdiParent = Me
childFrm.Show()
End Sub
Private Sub mnZhanghu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnZhanghu.Click
If GetInstanceState("frmZhangHu") Then
Exit Sub
End If
Dim childFrm As frmZhangHu = New frmZhangHu
childFrm.MdiParent = Me
childFrm.Show()
End Sub
Private Sub mnGuozhang_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnGuozhang.Click
Dim dlgResult As DialogResult = _
MessageBox.Show("凭证过帐后将不能再修改,是否进行凭证过帐操作?", _
"确定", MessageBoxButtons.YesNo)
If dlgResult = DialogResult.Yes Then
Dim db As DataBase = New DataBase
Dim strSQL As String
strSQL = "begin tran"
strSQL += " exec sf_凭证过帐"
Try
db.RunDelOrInsSQL(strSQL)
Catch ex As Exception
MessageBox.Show("凭证过帐失败")
strSQL = "rollback"
db.RunDelOrInsSQL(strSQL)
Return
End Try
' 过帐成功,提交事务
strSQL = "commit"
db.RunDelOrInsSQL(strSQL)
'统计汇总信息
Dim strMsg As String = "过帐成功" + Chr(13)
strSQL = "select count(*) 记录数 from 凭证表"
Dim dv As DataView = db.RunSelectSQL(strSQL)
strMsg += "共有 " + dv(0)(0).ToString().Trim + "张凭证" + Chr(13)
strSQL = "select sum(借方) as 借, sum(贷方) as 贷 from 分录表"
dv = db.RunSelectSQL(strSQL)
Dim strTemp As String
If dv(0)(0).GetType().ToString() = "System.DBNull" Then
strTemp = "0"
Else
strTemp = dv(0)(0).ToString().Trim
End If
strMsg += Chr(13) + "借方金额合计 " + strTemp
If dv(0)(1).GetType().ToString() = "System.DBNull" Then
strTemp = "0"
Else
strTemp = dv(0)(1).ToString().Trim
End If
strMsg += Chr(13) + "贷方金额合计 " + strTemp
MessageBox.Show(strMsg)
strSQL = " delete from 分录表"
strSQL += " delete from 凭证表"
db.RunDelOrInsSQL(strSQL)
db.Dispose()
End If
End Sub
Private Sub mnPingheng_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnPingheng.Click
If GetInstanceState("frmPingHeng") Then
Exit Sub
End If
Dim childFrm As frmPingHeng = New frmPingHeng
childFrm.MdiParent = Me
childFrm.Show()
childFrm.CalPingHeng(1)
End Sub
Private Sub mnQimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnQimo.Click
'期末结帐
Dim dlgResult As DialogResult = _
MessageBox.Show("结帐后将进入下一会计期间,是否结帐?", _
"确定", MessageBoxButtons.YesNo)
If dlgResult <> DialogResult.Yes Then
Return
End If
Dim db As DataBase = New DataBase
Try
db.RunDelOrInsSQL("begin tran exec sf_期末结帐")
Catch ex As Exception
MessageBox.Show("期末结帐失败")
db.RunDelOrInsSQL("rollback")
Return
End Try
db.RunDelOrInsSQL("commit")
MessageBox.Show("结帐成功")
End Sub
Private Sub mnFuzhai_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnFuzhai.Click
If GetInstanceState("frmReport") Then
Exit Sub
End If
Dim message, title, defaultValue As String
Dim myValue As Object
message = "请输入统计的会计区间"
title = "输入" ' Set title.
' 输入统计的会计区间
Dim db As DataBase = New DataBase
Dim dv As DataView = db.RunSelectSQL("select 取值 from 系统参数表 where 参数名称 = '当前会计期间'")
defaultValue = (CInt(dv(0)(0).ToString().Trim) - 1).ToString
myValue = InputBox(message, title, defaultValue)
Dim strTemp As String
Try
strTemp = CInt(myValue.ToString.Trim)
Catch ex As Exception
MessageBox.Show("请输入合法的会计区间")
Return
End Try
'计算
db.RunDelOrInsSQL("exec sf_计算资产负债表 " + strTemp)
db.Dispose()
'显示
Dim childFrm As frmReport = New frmReport(CInt(myValue.ToString.Trim))
childFrm.MdiParent = Me
childFrm.Show()
End Sub
Private Sub mnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnExit.Click
Application.Exit()
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -