vb-财务管理系统详细分析说明书_第1页
vb-财务管理系统详细分析说明书_第2页
vb-财务管理系统详细分析说明书_第3页
vb-财务管理系统详细分析说明书_第4页
vb-财务管理系统详细分析说明书_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-详细设计说明书计算机bcu08-3 赵子斌 1080417311组员计算机bcu08-3 黄海 1080417303计算机bcu 08-3 陈国韬 1080417308计算机bcu08-3 左恩坚 10804173251.引言1.1说明2系统总体结构2.1系统总体图预览2.2系统各个功能模块设计2.3数据库设计2.3.1创建表2.3.2设定表关系2.3.3链接数据库3界面设计及其代码分析3.1用户登录界面及系统主界面设计及其代码分析3.2管理员管理界面设计及其代码分析3.3应收管理界面设计及其代码分析3.4应付管理界面设计及其代码分析5.5客户和供应商管理界面设计及其代码3.6财务科目管理界面设计及其代码37 财务查询界面设计及其代码.3.8生成报表界面设计及其代码引言1.1说明系统详细设计在系统架构的基础上对系统功能和结构的细化。根据系统架构,自上而下整个系统被划分成若干层,每一层又被划分成不同的功能模块。系统的业务层被划分成若干独立的功能模块,而系统的功能层又被细分,划分成了小的独立模块。详细描述本小组的财务管理系统的设计思路与过程,让用户更好了解系统以便作出更好的进一步开发。系统总体结构2.1系统总体图财务管理系统的用例图系统的主要流程图如下所示:开始登陆是否登陆系统主界面是否管理员管理应收管理应付管理客户和供应商管理财务科目管理财务查询生成报表财务管理系统系统主要流程图管理员登录成功后进入系统主页面流程图,管理员登录成功后,管理员进入系统主页面,对系统主要功能进行操作,登录失败后,退出系统。2.2系统各个功能模块设计财务管理系统主要有管理员管理、应收管理、应付管理、客户和供应商管理、财务科目管理、财务查询、生成报表等七大功能模块,系统的七大功能模块如图。管理员管理应收管理应付管理客户和供应商管理财务科目管理财务查询生成报表财务管理系统 财务管理系统的基本功能模块 管理员管理由添加管理员,更改管理员密码,管理员注销,管理员注销,退出系统组成。结构图如下:添加管理员更改管理员密码管理员注销退出系统管理员管理应收管理由日记账的输入,发票输入组成添加管理员管理员注销应收管理客户和供应商管理由客户管理,供应商管理组成添加管理员管理员注销应收管理应付管理由付款单组成付款单应付管理财务科目由科目管理组成科目管理财务科目管理财务查询管理由按日期,按科目组成按日期按科目财务查询管理财务分析由试算平衡,生成损益表,生成财务指标组成试算平衡生成损益表码生成财务指标成财务指标财务分析2.3数据库设计2.3.1创建表数据库fiance包含用户登录,币种,客户资料,财务指标,损益表,科目类别,付款单,发票表,供应商资料表,商品表,财务科目,日记账12个表,下面分别介绍这些表的结构。(1) 用户登录用户登录表用来保存用户信息编号字段名称数据结构说明1用户名文本管理员登录名2密码文本登录密码(2) 币种币种表用来保存币种信息编号字段名称数据结构说明1币种文本币种缩写2币种名称文本币种名称3汇率数字设置汇率(3) 客户资料 客户资料表用用于保存客户资料编号字段名称数据结构说明1客户代码自动编号客户代码关键字2客户名称文本客户名称3业务员文本记录业务员4公司或部门文本公司或部门5通讯地址文本记录通讯地址6邮政编码数字记录邮政编码7电话号码数字记录电话号码8传真号码数字记录传真号码9E-mail地址文本记录E-mail地址10附注备注备注(4) 财务指标财务指标用来储存相关财务指标 编号字段名称数据结构说明1编号自动编号编号关键字2流动比率数字流动比率3速动比率数字速动比率4资产负债率数字资产负债率5产权比率数字产权比率6总资产周转率数字总资产周转率7流动资产周转率数字流动资产周转率8应收账款周转率数字应收账款周转率9资产净利率数字资产净利率10权益报酬率数字权益报酬率(5) 损益表 损益表是用来储存相关损益信息编号字段名称数据结构说明1编号自动编号编号关键字2主营业务收入货币主营业务收入3营业外收入货币营业外收入4投资受益货币投资受益5收入合计货币收入合计6折扣与折让货币折扣与折让7业务税金及附加货币业务税金及附加8业务成本货币业务成本9营业外支出货币营业外支出10业务费用货币业务费用11成本与费用合计货币成本与费用合计12本期损益合计货币本期损益合计(6) 科目类别 科目类别表储存科目类别信息编号字段名称数据结构说明1科目类别ID自动编号科目类别ID关键字2科目类别文本科目类别(7) 付款单 付款单表是用来储存付款单信息编号字段名称数据结构说明1付款单号文本记录付款单号关键字2付款日期日期记录付款日期3发票编号文本记录发票编号4供应商代码数字记录供应商代码5结算方式文本记录结算方式6结算科目文本记录结算科目7摘要文本记录备注8付款金额货币记录付款金额9业务员文本记录业务员10制单员文本记录制单员11审核员文本记录审核员(8) 发票单发表单表是用来储存发票信息的编号字段名称数据结构说明1发票号文本记录发票号关键字2发票类型文本记录发票类型3开票日期日期记录开票日期4客户ID数字记录客户ID5供应商ID数字记录供应商ID6商品ID数字记录商品ID7数量数字记录数量8单价数字记录单价9币种文本记录币种10结算方式文本记录结算方式11结算金额货币记录结算金额12制单员文本记录制单员13审核员文本记录审核员(9) 供应商资料表 供应商表用来储存供应商信息 编号字段名称数据结构说明1供应商代码自动编号供应商代码关键字2供应商名称文本供应商名称3通信地址文本通信地址4邮政编码数字邮政编码5电话数字电话6传真数字传真7E-mail文本E-mail(10) 商品表商品表是用来储存商品的信息编号字段名称数据结构说明1商品代码自动编号商品代码关键字2商品名称文本商品名称3商品单价货币商品单价4商品税率数字商品税率5商品类别文本商品类别6供应商代码文本供应商代码7商品概要文本商品概要(11) 财务科目财务科目表是用来储存财务科目信息的编号字段名称数据结构说明1科目代码文本科目代码关键字2科目名称文本科目名称3科目类别ID数字科目类别ID4备注文本备注(12) 日记账日记账表是用来储存每天记账的信息编号字段名称数据结构说明1记账ID自动编号记账ID关键字2日记账编号文本日记账编号3科目代码文本科目代码4借货币借5贷货币贷6记账日期日期记账日期7备注文本备注2.3.2设定表关系Access作为关系型数据库管理系统,指定表之间的关系是很重要的,财务管理系统数据库的所有表与字段创建完成后,就需要设定表关系了,access将来会凭借表关系来链接两个表或查询中的数据。表与表之间的关系如下:2.3.3链接数据库首先我们应该在windows的odbc数据库源管理器中注册数据库。在系统中注册数据库完毕后,就可以在程序中链接数据库了我们使用了vb当中的adoc控件来连接数据库,同时我们还专门设计了一个模块处理数据库的连接具体代码如下:Option ExplicitPublic DbFinance As New ADODB.Connection 设置ADODB连接对象的公共变量Public Function DbConnection() 打开数据库 Dim e As ADODB.Error DbConnection = True ConnectDB为真时表示打开数据库无误 On Error GoTo errorhandle 出现任何错误将执行errorhandle进行错误处理 DbFinance.Errors.Clear DbFinance.CommandTimeout = 30 执行SQL命令的缺省等待时间 DbFinance.ConnectionTimeout = 30 连接数据库的缺省时间 DbFinance.ConnectionString = DSN=Finance 打开DSN名为Finance的odbc数据源 On Error GoTo Unconnect 出现数据库连接错误时将进行处理 DbFinance.Open 打开数据库 Exit Function errorhandle: If DbFinance.Errors.Count 1 Then MsgBox Err.Description, vbOKOnly + vbExclamation 显示错误描述 Else For Each e In DbFinance.Errors MsgBox e.Description 显示错误描述 Next e End If DbConnection = False DbConnection为假(False)时表示打开数据库有误 Set DbFinance = Nothing 关闭错误的数据库 Exit FunctionUnconnect: MsgBox 数据库网络连接失败,程序将终止!, vbCritical + vbOKOnly 显示错误描述 Set DbFinance = Nothing 关闭错误的数据库 DbConnection = False Exit FunctionEnd FunctionPublic Sub DbClose() 关闭数据库On Error Resume Next DbFinance.Close Set DbFinance = NothingEnd SubPublic Function resultcount(rs As ADODB.Recordset) As Long 返回结果集中的记录数 On Error Resume Next resultcount = 0 Do While rs.EOF = False resultcount = resultcount + 1 rs.MoveNext Loop rs.MoveFirstEnd Function3界面设计及其代码分析财务管理管理系统的界面有一下七部分组成。1)管理员管理界面设计2)应收管理界面设计3)应付管理界面设计4)客户和供应商管理界面设计5)财务科目管理界面设计6)财务查询7)生成报表3.1用户登录界面及系统主界面设计当用户进入系统时,系统会显示用户登录界面。如图所示用户需要输入用户名和密码,系统会通过查找用户登录来验证用户身份的有效性,否则会显示出错信息。如果用户的用户名和密码输入正确,系统将会显示主界面。主界面如图:主界面代码如下:Option ExplicitPrivate Sub Check1_Click() If Check1.Value Then 启用或者禁止快捷按钮所在的Frame Frame1.Enabled = False Frame2.Enabled = False Frame3.Enabled = False Frame4.Enabled = False Frame6.Enabled = False Frame7.Enabled = False Frame8.Enabled = False Else Frame1.Enabled = True Frame2.Enabled = True Frame3.Enabled = True Frame4.Enabled = True Frame6.Enabled = True Frame7.Enabled = True Frame8.Enabled = True End IfEnd SubPrivate Sub Command1_Click() AddAdmin.Show 1 显示增加管理员窗体End SubPrivate Sub Command10_Click()退付款单Payment.Show 1End SubPrivate Sub Command11_Click()QueryBydate.Show 1 查询按日期End SubPrivate Sub Command12_Click()查询按科目QueryBysubject.Show 1End SubPrivate Sub Command13_Click()试算平衡DataReport3.Show 1End SubPrivate Sub Command14_Click()损益表DataReport1.Show 1End SubPrivate Sub Command16_Click()生产财务指标DataReport4.Show 1End SubPrivate Sub Command2_Click() AdminPass.Show 1 显示修改管理员密码窗体End SubPrivate Sub Command3_Click() Me.Hide AdminLogin.User.Text = 登录窗体信息清空 AdminLogin.Pass.Text = AdminLogin.Show 显示注销(登录)窗体End SubPrivate Sub Command4_Click() End 退出管理系统End SubPrivate Sub Command5_Click() AddDateAccount.Show 1 显示日记账End SubPrivate Sub Command6_Click()SubjectManage.Show 1 显示财务科目管理End SubPrivate Sub Command7_Click()客户管理ClientManage.Show 1End SubPrivate Sub Command8_Click()发票输入InvoiceInput.Show 1End SubPrivate Sub Command9_Click()供应商管理SupplierManage.Show 1End SubPrivate Sub Form_Load() Me.Left = (Screen.Width - Me.ScaleWidth) / 2 初始化窗体居中显示 Me.Top = (Screen.Height - Me.ScaleHeight) / 2 Me.Height = 8010 Me.Width = 12000End SubPrivate Sub Form_Unload(Cancel As Integer) On Error Resume Next 当主窗体关闭时关闭数据库连接 DbHandle.DbClose EndEnd SubPrivate Sub menu_AddAdmin_Click() AddAdmin.Show 1 显示增加管理员窗体End SubPrivate Sub menu_addDateAccount_Click() AddDateAccount.Show 1 显示日记账End SubPrivate Sub menu_AdminPass_Click() AdminPass.Show 1 显示修改管理员密码窗体End SubPrivate Sub menu_C_Click()客户管理ClientManage.Show 1End SubPrivate Sub menu_Exit_Click() End 退出管理系统End SubPrivate Sub menu_InvoiceInput_Click()发票输入InvoiceInput.Show 1End SubPrivate Sub menu_Logout_Click() Me.Hide AdminLogin.User.Text = 登录窗体信息清空 AdminLogin.Pass.Text = AdminLogin.Show 显示注销(登录)窗体End SubPrivate Sub menu_payment_Click()退付款单Payment.Show 1End SubPrivate Sub menu_s_Click()供应商管理SupplierManage.Show 1End SubPrivate Sub menu_subject_Click()SubjectManage.Show 1 显示财务科目管理End SubPrivate Sub 按科目_Click()查询按科目QueryBysubject.Show 1End SubPrivate Sub 按日期_Click()QueryBydate.Show 1 查询按日期End SubPrivate Sub 生成财务指标_Click()生产财务指标DataReport4.Show 1End SubPrivate Sub 生成损益表_Click()损益表DataReport1.Show 1End SubPrivate Sub 试算平衡_Click()试算平衡DataReport3.Show 1End Sub3.2管理员管理界面设计界面设计管理员管理主要由增加管理员,更改管理员密码,管理员注销,退出系统组成管理员注销 当用户点管理员注销后,会返回到登陆界面代码实现如下: Private Sub Command3_Click() Me.Hide AdminLogin.User.Text = 登录窗体信息清空 AdminLogin.Pass.Text = AdminLogin.Show 显示注销(登录)窗体End Sub退出系统当用户点退出系统的时候会退出系统代码实现如下:Private Sub Command4_Click() End 退出管理系统End Sub增加管理员当用户点增加管理员时会进入增加管理员窗口当点确定时增加管理员具体实现代码如下:Option ExplicitPrivate Sub Command1_Click() Dim sql As String Dim rs As New ADODB.Recordset If User.Text = Then 判断管理员ID输入框不为空 MsgBox 管理员ID不能为空!, vbCritical User.SetFocus Exit Sub End If If Pass.Text = Then 判断管理员密码输入框不为空 MsgBox 管理员密码不能为空!, vbCritical Pass.SetFocus Exit Sub End If If DbHandle.DbConnection Then 打开数据库连接 sql = 用户登录 对表用户登录进行操作 rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Filter = 用户名= & User.Text & 选择条件是符合User.Text的管理员记录 rs.Open sql, DbFinance If DbHandle.resultcount(rs) = 1 Then 如果找到一条存在的管理员记录就报错 MsgBox 管理员ID已经存在!, vbExclamation rs.Close DbHandle.DbClose Exit Sub Else 否则新建一条管理员记录完成添加 rs.Close rs.Filter = rs.Open sql, DbFinance rs.AddNew rs(用户名) = User.Text rs(密码) = Pass.Text rs.Update rs.Close End If MsgBox 管理员成功添加! Unload Me Else 当数据库连接打不开时候报错 MsgBox 数据库错误!, vbExclamation DbHandle.DbClose End End IfEnd SubPrivate Sub Command2_Click() Me.Hide 取消按钮返回主窗体End SubPrivate Sub Form_Load() Me.Left = (Screen.Width - Me.ScaleWidth) / 2 把窗体定位居中显示 Me.Top = (Screen.Height - Me.ScaleHeight) / 2End SubPrivate Sub Form_Unload(Cancel As Integer) On Error Resume Next 窗体关闭时候关闭数据库连接 DbHandle.DbCloseEnd Sub更该管理员密码当用户点更该管理员密码会显示相应的窗口窗口如下:当点确认按钮时实现密码的更改,具体实现代码如下:Option ExplicitPrivate Sub Command1_Click() Dim sql As String Dim rs As New ADODB.Recordset If NewPass.Text ChkPass.Text Then 新密码和验证密码要相同 MsgBox 新密码不一致!, vbCritical NewPass.SetFocus Exit Sub End If If User = Then 密码和用户ID输入框不能为空 MsgBox 管理员ID不能为空!, vbCritical User.SetFocus Exit Sub End If If OldPass.Text = Then MsgBox 管理员密码不能为空!, vbCritical OldPass.SetFocus Exit Sub End If If DbHandle.DbConnection Then sql = 用户登录 打开管理员表,查看是否要添加的管理员ID已经存在 rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Filter = 用户名= & User.Text & rs.Open sql, DbFinance If DbHandle.resultcount(rs) 1 Then 不存在出错退出 MsgBox 管理员ID不存在!, vbExclamation rs.Close DbHandle.DbClose User.SetFocus Exit Sub Else 存在查看输入的原是密码是否和数据库保存的密码相一致 If rs(密码) OldPass.Text Then 不一致要求重新输入原是密码 MsgBox 管理员密码错误!, vbExclamation rs.Close OldPass.SetFocus Exit Sub End If rs(密码) = NewPass.Text 一致就设置新的管理员密码 rs.Update rs.Close End If MsgBox 管理员密码成功修改! Unload Me Else 数据库打开失败退出 MsgBox 数据库错误!, vbExclamation DbHandle.DbClose End End IfEnd SubPrivate Sub Command2_Click() Me.Hide 返回主窗体End SubPrivate Sub Form_Load() Me.Left = (Screen.Width - Me.ScaleWidth) / 2 窗体居中显示 Me.Top = (Screen.Height - Me.ScaleHeight) / 2End SubPrivate Sub Form_Unload(Cancel As Integer) On Error Resume Next 对话框关闭时候关闭数据库连接 DbHandle.DbCloseEnd Sub3.3应收管理界面设计应收管理是由日记账输入和发票输入构成的日记账输入当用户点日记账输入时进入日记账输入界面,界面如下:用户可以添加新的日记账,打印日记账,具体实现代码如下:Private Sub cboAccount_Click()使cboAccount变动时cboAccountNo也同时变动,调用ListIndex属性使这两个组合框能相互联系。 cboAccountNo.Text = cboAccountNo.List(cboAccount.ListIndex) txtCredit.SetFocusEnd SubPrivate Sub cboAccountNo_Click()使cboAccountNo变动时cboAccount也同时变动 cboAccount.Text = cboAccount.List(cboAccountNo.ListIndex) txtCredit.SetFocusEnd SubPrivate Sub CmdAdd_Click()添加这条记录到数据库中 将当前窗体的内容保存至数据库 SaveJournal 同一业务的txtDate、txtMemo应相同,设置成不能更改 txtDaybookNo.Enabled = False txtDate.Enabled = False txtMemo.Enabled = False 借贷相转,在很多情况下可以节省输入劳动。 iTemp = txtCredit txtCredit = txtDebit txtDebit = iTempEnd SubPrivate Sub CmdClose_Click() Me.Hide 返回主窗体End SubPrivate Sub CmdNext_Click()完成此项业务,将窗体清除,以便记录下条记录SaveJournaltxtDaybookNo.Enabled = TruetxtDate.Enabled = TruetxtMemo.Enabled = TruecboAccountNo.Text = cboAccount.Text = txtDaybookNo = txtDate = DatetxtMemo = txtCredit = txtDebit = End SubPrivate Sub Command1_Click()打印日记账DataReport2.Show 1End SubPrivate Sub Form_Load() Me.Left = (Screen.Width - Me.ScaleWidth) / 2 窗体居中显示 Me.Top = (Screen.Height - Me.ScaleHeight) / 2 txtDate = Date Dim sql As String Dim rs As New ADODB.Recordset If DbHandle.DbConnection Then 打开数据库连接 sql = select * from 财务科目 对表用户登录进行操作 rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Filter = 选择条件是符合User.Text的管理员记录 rs.Open sql, DbFinance Do While rs.EOF = False 循环加入下拉列表中去 cboAccountNo.AddItem (rs(科目代码) cboAccount.AddItem (rs(科目名称) rs.MoveNext Loop rs.Close 释放资源 Set rs = Nothing DbHandle.DbClose Else MsgBox 数据库错误!, vbExclamation DbHandle.DbClose End End If End SubPrivate Sub SaveJournal() Dim sql As String Dim rs As New ADODB.Recordset If txtDaybookNo = Then 判断日记账编号输入框不为空 MsgBox 日记账编号不能为空!, vbCritical txtDaybookNo.SetFocus Exit Sub End If If txtCredit = Then 判断借输入框不为空 MsgBox 借输入框不能为空!, vbCritical txtCredit.SetFocus Exit Sub End If If txtDebit = Then 判断贷输入框不为空 MsgBox 贷输入框不能为空!, vbCritical txtDebit.SetFocus Exit Sub End If If txtMemo = Then 判断备注输入框不为空 MsgBox 备注输入框不能为空!, vbCritical txtMemo.SetFocus Exit Sub End If If Not IsNumeric(txtCredit.Text) Then MsgBox 借输入框不是数字, vbCritical txtCredit.SetFocus Exit Sub End If If Not IsNumeric(txtDebit.Text) Then MsgBox 贷输入框不是数字, vbCritical txtDebit.SetFocus Exit Sub End If If DbHandle.DbConnection Then 打开数据库连接 sql = 日记账 对表日记账进行操作 rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.Filter = rs.Open sql, DbFinance rs.AddNew rs(日记账编号) = txtDaybookNo.Text rs(科目代码) = cboAccountNo.Text rs(记账日期) = txtDate.Text rs(借) = CCur(txtCredit.Text) rs(贷) = CCur(txtDebit.Text) rs(备注) = txtMemo.Text rs.Update rs.Close DbHandle.DbClose MsgBox 成功添加日记账! Else 当数据库连接打不开时候报错 MsgBox 数据库错误!, vbExclamation DbHandle.DbClose End End IfEnd Sub发票输入当用户点发票输入的时候就会进入发票输入窗口,进行发票的输入窗口如下:用户可以在此窗口新建,保存发票具体实现代码如下:Private Sub cboGoods_Click()cboPrice.Text = cboPrice.List(cboGoods.ListIndex)End SubPrivate Sub cboPrice_Click()cboGoods.Text = cboGoods.List(cboPrice.ListIndex)End SubPrivate Sub Command1_Click()新建texInvoiceType.Text = texaudit.Text = texbalanceType.Text = texBalance.Text = texbillProducer.Text = texDate.Text = texInvoiceID.Text = texInvoiceType = texNum.Text = cboClient.Text = cboCurr.Text = cboGoods.Text = cboP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论