




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、公司仓库管理系统第一章公司介绍与系统的需求分析1.1公司简介佳雪公司是一个专销电动机的公司,主要业务是进行电动机的进货与分销, 作为一个销售的中介公司,其要求有入库与出库的主要数据库,可以简单的记录 数据,并且可以进行多方面的查询,使得公司有较详细的数据统计与分析。其主要业务如以下图所示:1. I 厂商IU 顾客图 i.i.i2.查询功能1)按型号查询有两个结果:A生成 入库量、出库量、节余量B生成 两个数据来源表,包括出库来源与入库来源;2)按单位查询结果:生成型号、产品名称、时间(入/出库)、单价再生成出入库的两个基本情况表,包括供应商和顾客的基本情况,如型号、出/入库时间,单价,发票编号
2、、结帐情况;3 .本系统主要运用Visual Basic的内嵌数据库Access来记录数据;4 .产品信息:序号(自动生成)、型号(文本)、入库时间(日期)、出库时间(日 期)、数量(数字)、发票编号(文本)、单价(货币)、厂商名称(文本)、供应商 名称(文本)、厂商与供应商的电话(数字)、结帐情况(是/否)是为0,否为-11. 2分析与描述一根据1.1章节的具体要求,总结出以下的数据流程:图1.2.1数据流程二.根据以上情况,按要求设计了几个相关的数据库表:出库、入库查询:查询结余、出库查询、入库查询、型号出库查询、型号入库查询主要的出库表属性如以下表所示:字段名属性字段大小序号自动生成长整
3、型型号文本50产品名称文本50出库数量数字长整型单价货币自动小数出库时间日期年-月-日发票编号文本50顾客电话文本50结帐情况是/否2表 1.2.1由于入库表与出库想类似,所以在此不做详细介绍为了方便查询, 因此在出库与入库的基础上增加了几个查询表, 具体字段如下:1 .查询结余:型号、产品名称、出库数量、入库数量2 .出库查询:顾客名称、型号、出库时间、单价、出库数量OF SUM 、发票编号、结帐情况3 .入库查询:供应商名称、型号、入库时间、单价、入库数量OF SUM 、发票编号、结帐情况4 .出库型号查询:型号、产品名称、顾客名称、单价、发票编号、结帐情况5 .入库型号查询:型号、产品名
4、称、供应商名称、单价、发票编号、结帐情况1.3数据库的主要特点数据库中的每一个表都必须符合下面几个特征:( 表中的每一个单元的内容只有一个值( 所有字段的名称都不相同( 记录的前后次序和字段的左右次序可以变化,不受限制( 数据库中的表的上下次序不受限制( 表中不应有内容完全相同的记录( 表中的每一个字段都必须有相同的数据类型使用Visual Basic开发应用程序的两个主要思想:( 可视设计( 事件驱动编程Visual Basic 应用程序不同于其他语言开发的单一性程序。使用 Visual Basic编程时,必须首先确定应用程序如何与用户交互,如鼠标单击,用户必须编写代码控制这些事件的响应方法
5、。使用Visual Basic开发数据库应用程序的一般步骤如下所示:( 1 ) 建 立数据库( 2 ) 建 立用户界面( 3 ) 编 写代码( 4 ) 调 试运行( 5 ) 编 译应用程序( 6 ) 发 布应用程序界面设计( 1 ) 控 件的位置( 2 ) 界 面元素的一致性( 3 ) 保 持界面的简明( 4 ) 使 用颜色和图象:增加视觉的感染力( 5 ) 图 象和图标:增加应用程序的视觉上的趣味( 6 ) 选 取字体Visual Basic应用程序的结构:由于Visual Basic应用程序是基于对象的,所以应用程序的代码结构就是该程序在屏幕上物理表示的模型。根据定义,对象包含数据和代码。
6、在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内在特性。本设计主要是运用Data控件。Data 控件主要是打开、 访问并操作已有的数据库, 它是 Visual Basic 访问数据库的最常用的工具之一。由于 Data 控件使用 Microsoft 的 Jet 引擎来实现数据访问(与 Microsoft Access 所用的数据库引擎相同) ,使用户可以无缝地访问很多标准的数据库格式, 而且无需编写任何代码就可以创建数据应用程序, 因此这种 VisualBasic内部的Data控件最合适小的(桌面)数据库,诸如 Access和ISAM数据库 等。由于 Data 控件是 Visual Ba
7、sic 的内部控件,因此可以直接在标准工具箱中找到该控件。在程序运行过程中, 只要用鼠标单击控件上的箭头按钮, 系统将自动修改Data控件指向的记录和显示在约束控件中的数据,而不需要编写任何代码。可以将多个Data 控件同时添加到一个工程甚至是同一个窗体中。另外,每个控件可以连接到不同的数据库或同一个数据库的不同表上,还可以和代码一起查询满足的语句的表的记录集。使用Data控件可以显示、编辑和更新来字各种已有的数据库信息。止匕外,还可以访问和操作远程的开放式数据库连接。除了使用Data控件之外,还运用的Visual Basic 6.0的新增控件功能,Dblistbox它不象标准的列表框或组合框
8、那样需要使用 AddItem 方法添加列表项。另外,它们还可以有选择地把某个选定的字段传递给另一个Data 控件,使得它对于“查找表”应用程序很理想。与其他的约束控件不同,这些控件可以同时显示多个记录。约束数据列表控件类似于普通的列表框控件,可以显示记录集中的数据,网格中的每一行代表记录集中的一个记录。第二章 管理系统的设计与分析2.1 进入界面由于系统的的界面比较单一,因此在设计过程中运用了许多网上下载的图片来增添界面的可观性。在考虑到操作员的技术水平有限,因此在控件方面只运用了COMMAND ,这样不仅能是界面清楚,更能是操作者很快学会,简单易懂。图2.1.1是进入本系统的状态图,单击“确
9、定”可以进入界面,如按“系统信息”的话,将显示本系统的具体软硬件情况。欢迎进入本公司系统图 2.1.1当图2.1.1中的“确定”按钮被激活时,将进入图 2.1.3的屏幕,界面的图片 是图片引入的,接着将进入正式的编辑或查询状态。具体的系统情况如图2.1.2所示:图 2.1.2图 2.1.32. 2入库界面入库时间发型编号供应商名称电法转帏情况当激活入库按钮时将出现以下的界面(图 221)型号产品名称数量单花9I确定|册除|一退出|图 2.2.1入库窗体(图221)及其各个控件的主要属性控件 口控件名主要属性FormFrmrsglCaption= "入库情况”DataDatalData
10、basename="Adb2.mdb”Recordsettype=1 ' Dynaset Caption= "入库情况”CommandDialogCommandlCaption= "上一个”Command2Caption= "下一个”Command3Caption= "确定”Command4Caption= "取消”Command5Caption= "退出”Command6Caption= "增加”Command7Caption= "修改”Command8Caption= "删除”Lab
11、leLable1Caption= "序号”Lable2Caption= "型号”Lable3Caption= "产品名称”Lable4Caption= "数量”Lable5Caption= "单价”Lable6Caption= "入库时间”Lable7Caption= "发票名称”Lable8:Caption= "供应商名称”Lable9Caption= "电话”Lable10Caption= "结帐情况”TextText1Caption= "序号” Datasource= "
12、;data1 ”Text2Caption= "型号” Datasource= "data1 ”Text3Caption= "产品名称” Datasource= "data1 'Text4Caption= "数量” Datasource= "data1 ”Text5Caption= "单价” Datasource= "data1 ”Text6Caption= "入库时间”Datasource= "data1 'Text7Caption= "发票名称" Datas
13、ource= "data1 'Text8Caption="供应商名称" Datasource = data1 'Text9Caption= "电话” Datasource= "data1 ”Text10Caption= "结帐,卜青况” Datasource= "data1 '表 2.2.1控件说明?增加新记录当单击“确定”按钮后,“确定”和“取消”两个按钮显示,同时使其他的按钮不可见,这样做是为了防止用户的误操作。其主要程序如下:Private Sub Command5_Click()xg = Tr
14、ue显示“确定”和“取消”两个按钮Command3.Visible = TrueCommand4.Visible = True取消其他按钮功能Command5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = FalseData1.Recordset.AddNew '添加一个新记录Text1.SetFocus '光标在 TEXT1 处end sub? 修改记录在调用 ED
15、IT 方法之前,约束控件中的数据是只读的,用户无法对其进行修改。调用了 EDIT 方法后, 用户可以在约束控件中修改记录的值。 如果在对当前记录进行修改之前修改,未使用 EDIT 方法,将发生运行时错误。其主要程序如下:Private Sub Command6_Click()xg = TrueCommand3.Enabled = TrueCommand4.Enabled = True'取消其他按钮功能Command5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = Fal
16、seCommand1.Enabled = FalseCommand2.Enabled = False'对记录进行编辑Data1.Recordset.EditText1.SetFocusEnd Sub? 删除记录当用户单击“删除”命令按钮时,为了防止用户误删除数据,程序将调用 Msgbox()函数以弹出对话框,询问用户是否真的要删除该记录。如果用户单击对话框上的“确定”按钮,程序调用记录集的 Delete 方法,将记录集的当前记录设置为空,并从原始的表中删掉当前记录。但是删除的记录仍然是当前记录,只是将其变为了无效的记录,任何对其的引用都会产生错误。其主要程序如下:Private Sub
17、 Command6_Click()xg = TrueCommand3.Enabled = TrueCommand4.Enabled = True'取消其他按钮功能Command5.Enabled = FalseCommand6.Enabled = FalseCommand7.Enabled = FalseCommand8.Enabled = FalseCommand1.Enabled = FalseCommand2.Enabled = False'对记录进行编辑Data1.Recordset.EditText1.SetFocusEnd SubPrivate Sub Comman
18、d7_Click()ss = MsgBox(" 真的要删除吗? ", vbYesNo + vbInformation, " 删除记录 ") '如果要删除If (ss = vbYes) ThenData1.Recordset.DeleteData1.Recordset.MoveNextIf Data1.Recordset.EOF ThenData1.Recordset.MoveLastCommand2.Enabled = FalseEnd IfEnd IfEnd Sub? 移动数据当用户单击“上一个”和“下一个”按钮是,系统将自动转换数据,但注意,
19、当移至第一个记录时, “下一个”按钮将失效;移至最后一个记录是, “上一个”按钮也将失效。其中在设计程序时,为了防止“ NO Current Record”这样的错误,在移动记录指针时测试记录集的 BOF 和 EOF 属性。如果单击“上一个”和“下一个”命令按钮将导致记录指针指向空指针,则分别调用Movefirst和Movelast方法,这是防止“NO Current Record'错误出现的最简单和最有效的方法。 与此同时,如果记录集的BOF 属性为True,则置“上一个”命令按钮为非激活状态,是用户无法再单击该按钮。同样,当记录集的 BOF 属性为 True 时,置“下一个”命令按
20、钮为非激活状态。其主要程序如下:Private Sub Command1_Click()xg = FalseData1.Recordset.MovePrevious'如果是第一个记录,BOF 属性为 TRUEIf Data1.Recordset.BOF ThenData1.Recordset.MoveFirstCommand1.Enabled = FalseElseCommand2.Enabled = TrueCommand1.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()xg = FalseData1.Recordset
21、.MovePrevious'如果当前记录是记录集中最后一个记录,EOF 属性为 TRUEIf Data1.Recordset.BOF ThenData1.Recordset.MoveLastCommand2.Enabled = FalseElseCommand2.Enabled = TrueCommand1.Enabled = TrueEnd IfEnd Sub? 用 Updata 方法确认增加和修改当用户修改和增加完一个记录的数据后,需要将数据保存到数据库中。可以通过调用记录集的 Updata 方法把数据保存到数据库中。单击“确定”按钮时,记录将被记如数据库。其主要程序如下:Priv
22、ate Sub Command3_Click()On Error GoTo error1xg = TrueData1.Recordset.UpdateCommand3.Enabled = FalseCommand4.Enabled = FalseCommand2.Enabled = TrueCommand1.Enabled = TrueCommand4.Enabled = TrueCommand5.Enabled = TrueCommand6.Enabled = TrueCommand7.Enabled = TrueCommand8.Enabled = TrueExit Suberror1:
23、MsgBox Err.Description, vbOKOnly, " 错误提示 " End Sub? 用CancelUpdata方法放弃增加和修改如果用户修改了约束控件里的数据后,在没有单击“确定”命令按钮之前,想放弃刚才的增加或修改,则可以单击“取消”命令。由于其程序与Updata方法相似,因此不做重复解释。? 定义Data_Validata事件过程对于一个新记录或编辑的记录,如果不能维护引用完整性或不能反映该旧路的实体原型,那么它就是无效的,并且破坏了数据库的完整性。为了在“入库情况”表中建立一个有效的记录,就必须要有主关键字段“型号”的值。因此,对已经存在和新增加的
24、旧路都要先测试其“型号”字段之后才可以执行更新操作。其主要程序如下:'当约束控件中内容改变时If Text2.DataChanged ThenSave = TrueIf Data1.Recordset.RecordCount > 1 ThenCommand1.Enabled = TrueCommand2.Enabled = TrueEnd IfElseIf Text2.Text = "" And xg = True Thenss = MsgBox(" 必须要有型号 ! ", vbOKOnly + vbInformation, "
25、提示 ") Action = FalseCommand3.Visible = TrueCommand4.Visible = TrueCommandl.Visible = TrueCommand2.Visible = TrueCommand7.Visible = TrueCommand8.Visible = TrueCommand5.Visible = TrueCommand6.Visible = TrueEnd IfEnd IfIf Action = data_actionunload Or Action = data_actionclose ThenSave = TrueEnd I
26、fEnd Sub2.3 出库界面当单击“出库”按钮的时候,系统将进入出库信息输入界面,如(图 2.3.1)所示,其基本情况与入库相类似,依次不做具体介绍。序号型号产品名称数量i出库时间单价小电动顾客名称上海电动机1I小电动电话|发票编号I"加二 Izsge7结帐精况pi上一个I一定|修改|取消|下一个I退出|图 2.3.12.4 查询界面当用户单击“查询”按钮时,系统将出现密码登陆框,因为查询的是内部资料, 因此,需身份验证,如图2.4.1图 2.4.1随后将进入查询功能,如图2.4.2图 2.4.2用户可根据不同需要进行“按型号”和“按单位”的查询。?单击“按型号”,系统将进入以型
27、号为关键字段的查询,如图2.4.3。其中根据SQL语句的查询,选出出库型号与入库型号相同的记录,统计出入库与出库的 总数量,然后可按“上一个”和“下一个”进行查询,也可按出库与入库分别 查询记录。询出庠I询?廨I退出I图 2.4.3?当用户单击“查询出库”按钮是,系统进入界面,如图 2.4.4图 2.4.4图2.4.4窗体及其上面控件的属性设置控件类型控件名主要属性FormfrmdblistCaption= "查询出库”DataDatalDatabaseName= db2.mdb”RecordsetType=1RecordSource=出库型号FrameFramelCaption=
28、"具体情况”LableLablelCqption= "产品名称”Lable2Cqption= "单价”Lable3Cqption=发票编号Lable4Cqption= "顾客名称”Lable5Cqption= "结帐情况”TextTextlDatafield= "具体情况” Datasource= "Datal”Text2Datafield= "具体情况” Datasource= "Data1”Text3Datafield= "具体情况” Datasource= "Data1”Text
29、4Datafield= "具体情况” Datasource= "Data1”Text5Datafield= "具体情况” Datasource= "Data1”DBlistDblistlListfield= "型号”Rowsource= "Data1”表 2.4.1? 单击Dblist框中的型号,Frame中将自动显示记录,以供用户查询当用户单击“查询入库”按钮时,将出现图2.4.5的界面。再回到查询界面,单击“按单位”按钮,此时系统将进入按单位查询的截面,如图2.4.6,丽容i'iihmii Ivanin iiriaiiHiMaiiiHmiaiimiiaMM m退出 I供应_图 2.4.6?分别按“顾客”和“供应商”按钮,系统将分别进入不同的查询界面,如图2.4.7和图2.4.8由于以下两个窗口的属性以及其设计方法类似与图4.3,因此也不做详细介绍。请选择顾客名称通州电动普匚宁波电动机厂宁波电动机厂上海用动机厂上海电劫机厂浙江电动机厂浙江电劫机厂退出图 2.4.7图 2.4.82.5 退出程序再回到登陆主窗口,(图2.1.3),单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 告别虚拟世界重拾现实生活的决心书3篇
- 二手教练车买卖合同3篇
- 云签约劳动合同电子签约系统3篇
- 借用合同的担保义务免责3篇
- 客服工作心得体会及感悟(30篇)
- 药厂质检员工作总结(33篇)
- 工程承包分包条件3篇
- 工程资料承包协议3篇
- 付款委托书样本专业公司3篇
- 建筑施工合同解除与工程保修3篇
- (2025)入团考试题库及答案
- 扫描电子显微镜(SEM)-介绍-原理-结构-应用
- 车厢定做合同范文大全
- 《地质灾害监测技术规范》
- 节能环保产品推广与销售代理协议
- 普通地质学知到智慧树章节测试课后答案2024年秋临沂大学
- 2024年长安汽车行测笔试题库
- 2024年度一带一路贸易促进与合作合同2篇
- 临床试验项目质量管理
- 铁路危险货物运输管理企业运输员培训
- 五年(2020-2024)高考语文真题分类汇编专题02 文言文阅读(原卷版)
评论
0/150
提交评论