《数据库课程设计—物资管理系统.pdf》由会员分享,可在线阅读,更多相关《数据库课程设计—物资管理系统.pdf(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、目目录录1 1 概述-0-1.1 项目背景:错误错误!未定义书签。未定义书签。1.2 编写目的:-1-1。3 项目名称:-1-1.4 开发环境:-1-2 2需求分析-1-2。1 问题的提出:-1-2。2 需完成的功能:-2-3 3数据库设计的过程-2-3。1 概念模型设计-2-3.2 逻辑数据库设计错误错误!未定义书签。未定义书签。3.3 规范化理论的应用-6-3.4 物理数据库设计-6-4 4软件功能设计-9-4.1 系统功能分析-9-4.2 系统功能模块设计-10-5 5设计心得错误错误!未定义书签。未定义书签。参考文献-11-附录错误错误!未定义书签。未定义书签。第一章第一章 概述概述1
2、.1、项目背景物资管理系统是企业管理的一个重要内容,随着时代的进步,企业也逐渐变的庞大起来.如何管理好企业内部物质的信息,成为企业管理中的一个大问题。在这种情况下,一个可以规范化,自动化的物资管理信息系统就显得非常必要。最初的物资管理,都是靠人力来完成的.当企业规模比较小的时候,人力可以完成,随着企业的规模越来越大,企业的进出物资数量也越来越多,依然维持着人力进行物资管理,必然会造成工作效率低,工作错误增高的问题.物资管理系统就是把分散的企事业单位的职工信息实行统一,集中,规范的收集管理,建立分类编号管理,电脑存储查询以及防火,防潮,防蛀,防盗等现代化,专业化的管理系统,为企事业单位和职工解除
3、后顾之忧。1.2、编写目的:物资管理系统是为了配合相关部门对自身本部门物资的管理,充分运用现代化信息技术手段高效、快捷的工作而开发的软件系统.物资管理信息系统为企事业单位提供信息咨询,信息检索,信息存取等服务。1。3、项目名称:物资管理系统。1.4、开发环境:本系统使用 Microsoft Visual Basic 6。0 中文版作为前台设计和 Microsoft SQLServer 2000 管理数据库Visual Basic6.0作为 Microsoft 公司开发的 Basic Studio6.0套件的一部分,是一个功能丰富、方便实用的程序开发环境,它的一个很大的特色就是功能强大、编程简单
4、的数据库操作能力。可视化的开发环境、丰富的数据库访问空间的支持使得 Visual Basic 成为数据库应用程序项目中重要的开发工具.Microsoft SQL Server 2000 中文版是基于客户机/服务器模式的新一代大型数据库管理系统,它在电子商务、数据仓库和数据库解决方案等应用中起着重要的核心作用,可为企业的数据管理提供强大的支持,并采取有效的措施来实现数据的安全性、完整性、备份和恢复。是目前广泛使用的关系型数据库。第二章 需求分析2。1、问题的提出:物资管理是一般工业、商业企业生产管理环节中主要的一环,需要对物资基本信息管理,对物质调配信息等进行完整的监控,这样才能跟有效地利用物资
5、。物资入库的时候首先需要登记物质的基本信息,包括物资的种类、名称、型号、单位、单价等;然后登记入、出库信息,包括物资的基本信息,入、出库人,经办人,物质数量,材料说明的等;对于仓库中的物资,即对剩余物资进行查询和统计。-1-长期以来,物资管理工作中的信息管理是采用人工的方式,要付出大量人力,填写各种表格、凭证、账册、卡片和文件.由于信息是随着时间不断变化的,各业务部门对信息的使用要求也各不相同,所以要按照不同的分类经常不断地汇总、统计,往往要做许多重复登记和转抄。这种手工操作的管理方式,不仅浪费人力,而且存在许多缺点:(1)处理速度慢,影响信息及时性.(2)易出现错误,影响信息精确性.(3)不
6、便于查询。(4)缺乏综合性,不能起控制作用。由于这些缺点,大大降低了信息的利用价值,显然越来越不适应现代物资管理工作的需要。因此,发展以电子计算机为基础的物资管理系统已是十分迫切和必要的了。2。2、需完成的功能:针对一般物资管理信息系统的需求,通过对上面物资调配工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:有关物资基本信息的输入、包括物资编号、物资名称、规格型号、种类和计量单位等;物资基本信息的查询、修改;入库信息的输入、查询、修改;出库信息的输入、查询、修改;物质剩余物资的查询、预览,统计查询。第三章 数据库设计的过程3。1、数据库需求分析用户的需求具体体现在各种的信息的提
7、供、保存、更新和查询等方面.这就要求数据库能够充分满足各种输入信息和输出信息.开发者要收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典.为下一步的数据库具体设计做好充分的准备.再仔细分析物资管理信息系统需求的基础上,将得到以下如图 3。1 所示的本系统所处理的数据流程。物资入库信息管理物资登记基本信息录入物资基本信息管理物资调配物资领用信息管理-2-物资余额信息管理图 3。1物资管理信息系统数据流程图针对一般物资管理信息系统的需求,通过对物资调配工作过程的内容和数据流程分析,设计如下面所示的数据项和数据结构:物资基本信息,包括的数据项有:物资编号、物资名称、规格型号、类别、计量
8、单位等。入库物资信息,包括的数据项有:物资编号、物资名称、规格型号、类别、计量单位、数量、单价、金额、领用时间、领用人、经办人、保管人、仓库、备注等。出库物资信息,包括的数据项有:物资编号、物资名称、规格型号、类别、计量单位、数量、单价、金额、领用时间、领用人、经办人、保管人、仓库、备注等。物资余额信息,包括的数据项有:物资编号、物资名称、规格型号、类别、计量单位、数量、金额、仓库等。3。2、概念模型设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种试题以及它们之间的关系,为后面的逻辑结构设计打下基础。这些试题包含各种具体信息,通过相互间的作用形成数据的流动。本系统根据上面
9、的设计规划出的实体有:物资基本信息实体、物资入库信息实体、物资出库信息实体、物资余额信息实体。物资基本信息实体计量单位规格型号物 资 名图 3.21 物资基本信息实体 E-R 图物资入库信息实体物资基本信息保管人入库时间经办人图 3。22 物资入库信息实体 ER 图物资领用信息实体物资基本信息领用时间经办人领用人类别物资编号-3-图 3.23 物资出库信息实体 ER 图物资出库信息实体物资基本信息仓库数量金额图 3。24 物资余额信息实体 E-R 图在找出所有实体的基础上,需要进一步的分析各个实体之间的关系,经过分析可以的得到所有实体的 ER 图;如图 3.25 是通过 ER 图来说明这些实体
10、之间的关系:出库信息领用库存信息入库信息图 3.25物质管理信息的 ER 图登记3 3。2 2、逻辑数据库设计、逻辑数据库设计通过对数据库概念模型的设计,确定以下是该系统需建立的几个表格。表 3.21物资表物资表物资表 materialmaterial字段名类型NULLNNN其他PK备注物资编号物资名称物资型号类型计量单位wzidwznamewzspecwzkind,wzunitchar(8)char(20)char(20)char(10)char(10)表 3.22 物资入库表物资入库表物资入库表msavemsave字段名类型NULLNNNNN其他PK备注入库号物资编号物资名称规格型号类别计
11、量单位rknorkidrknamerkspecrkkindrkunitchar(14)char(8)char(20),char(20),char(10),char(10),-4-rkaccountrkpricerkvaluerkdaterkdeal_personrksave_personrkbaserkmemonumeric(5,0)numeric(8,2)numeric(10,2)datetimechar(10)char(10)char(10),textNNNNNNPKIndex,FK数量单价金额入库时间经办人保管人仓库备注表 3。23物资入库表物资入库表物资入库表msurplusmsurp
12、lus字段名类型NULLNNNNNN其他PkIndex,FK备注物资编号物资名称物资型号类别计量单位数量单价仓库备注yeidyenameyespecyekindyeunityeaccountyepriceyebaseyememochar(8)char(20),char(20),char(10),char(10),numeric(5,0)numeric(8,2)char(10),text表 3。24物资领用表物资领用表物资领用表musemuse字段名类型NULLNNNNNNNNNNN其他PKPKPK备注领用号物资编号物资名称规格型号类别计量单位数量单价金额领用时间领用人保管人仓库备注lynoly
13、idlynamelyspeclykindlyunitlyaccountlypricelyvaluelydatelydeal_personlysave_personlybaselymemochar(14)char(8)char(20),char(20),char(10),char(10),numeric(5,0)numeric(8,2)numeric(10,2)datetimechar(10)char(10)char(10),text-5-3 3。3 3、规范化理论的应用、规范化理论的应用在以上的逻辑分析中,我们不难得出这些关系转化都在第三范式中。3 3。4 4、物理数据库设计、物理数据库设计在
14、完成了数据库的逻辑设计之后,即可开始数据库的物理设计。基于以上数据库逻辑设计,考虑到程序设计的简易性及通用性,本物资管理信息系统采用的Microsoft SQL Server 2000 数据库,并在其下创建了一个数据库和 4 个数据表.3.4。1建立概念数据库模型根据前面的概念和逻辑模型设计,我们在 PowerDesigner12 中建立ConceptualDataModel_1,如图 3。4.1 所示:图 3。4.1 概念数据可模型3.4.2 将概念模型转换成物理模型概念模型建好后,在 PowerDesigner12 的 T ools 选项中选择 Generate newPhysical D
15、ata Model,将概念模型转换成物理模型,如图所示:图 3。4。2 物理数据库模型3。4.3 生成数据库代码建好物理模型后,在 Database 选择 Generate Database,生成数据库代码,以下是建立数据库及其表格的代码(1)建数据库use mastergoif exists(select from dbo.sysdatabases where name=MMS)drop database MMSGOcreate database MMSgouse MMSGo(2)建表if exists(select from dbo.sysobjects where id=object_i
16、d(Ndbo。material )and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo.material-6-GOif exists(select*from dbo。sysobjects where id=object_id(Ndbo.msave)and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo。msaveGOif exists(select from dbo。sysobjects where id=object_id(Ndbo.msurplus)and OBJECTPROPERTY(i
17、d,NIsUserTable)=1)drop table dbo.msurplusGOif exists(select from dbo。sysobjects where id=object_id(Ndbo。muse)and OBJECTPROPERTY(id,NIsUserTable)=1)drop table dbo.museGOCREATE TABLE dbo.material(wzid char(8)COLLATE Chinese_PRC_CI_AS NOT NULL,wzname char(20)COLLATE Chinese_PRC_CI_AS NOT NULL,wzspec ch
18、ar(20)COLLATE Chinese_PRC_CI_AS NOT NULL,wzkind char(10)COLLATE Chinese_PRC_CI_AS NULL,wzunit char(10)COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARYGOCREATE TABLE dbo.msave(rkno char(14)COLLATE Chinese_PRC_CI_AS NOT NULL,rkid char(8)COLLATE Chinese_PRC_CI_AS NOT NULL,rkname char(20)COLLATE Chinese_PRC_CI
19、_AS NULL,rkspec char(20)COLLATE Chinese_PRC_CI_AS NULL,rkkind char(10)COLLATE Chinese_PRC_CI_AS NULL,rkunit char(10)COLLATE Chinese_PRC_CI_AS NULL,rkaccount numeric(5,0)NOT NULL,rkprice numeric(8,2)NOT NULL,rkvalue numeric(10,2)NOT NULL,rkdate datetime NOT NULL,rkdeal_personchar(10)COLLATE Chinese_P
20、RC_CI_AS NOT NULL,rksave_person char(10)COLLATE Chinese_PRC_CI_AS NOT NULL,-7-rkbase char(10)COLLATE Chinese_PRC_CI_AS NULL,rkmemo text COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARY TEXTIMAGE_ON PRIMARYGOCREATE TABLE dbo.msurplus(yeid char(8)COLLATE Chinese_PRC_CI_AS NOT NULL,yename char(20)COLLATE Chin
21、ese_PRC_CI_AS NOT NULL,yespec char(20)COLLATE Chinese_PRC_CI_AS NULL,yekind char(10)COLLATE Chinese_PRC_CI_AS NULL,yeunit char(2)COLLATE Chinese_PRC_CI_AS NULL,yeaccount numeric(5,0)NOT NULL,yevalue numeric(10,2)NOT NULL,yebase char(10)COLLATE Chinese_PRC_CI_AS NOT NULL,yememo text COLLATE Chinese_P
22、RC_CI_AS NULL)ON PRIMARY TEXTIMAGE_ON PRIMARYGOCREATE TABLE dbo.muse(lyno char(14)COLLATE Chinese_PRC_CI_AS NOT NULL,lyid char(8)COLLATE Chinese_PRC_CI_AS NOT NULL,lyname char(20)COLLATE Chinese_PRC_CI_AS NULL,lyspec char(20)COLLATE Chinese_PRC_CI_AS NULL,lykind char(10)COLLATE Chinese_PRC_CI_AS NUL
23、L,lyunit char(2)COLLATE Chinese_PRC_CI_AS NULL,lyaccount numeric(5,0)NOT NULL,lyprice numeric(8,2)NULL,lyvalue numeric(10,2)NULL,lydate datetime NOT NULL,lyuse_person char(10)COLLATE Chinese_PRC_CI_AS NOT NULL,lydeal_person char(10)COLLATE Chinese_PRC_CI_AS NOT NULL,lybase char(10)COLLATE Chinese_PR
24、C_CI_AS NULL,lymemo text COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARY TEXTIMAGE_ON PRIMARYGO3.4.4生成数据库-8-打开 Microsoft SQL Server 的查询分析器,输入以上代码,于是得到了我们需要的数据库 MMS(物资管理系统).第四章软件功能设计第四章软件功能设计4.14.1、系统功能分析、系统功能分析系统开发的总体设计任务就是实现物质信息的系统化,规范化和自动化。系统功能分析是在系统开发总体任务的基础上进行的,本系统中需要的的主要功能有:添加用户;删除用户;修改用户密码;浏览物质信息;添加
25、物质信息;删除物质信息 物质剩余信息查询;对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图 4.1所示的系统功能模块图.浏览物质表浏览物质表添加物资基本信息添加物资基本信息删除物资基本信息删除物资基本信息修改物资基本信息修改物资基本信息浏览物资入库表浏览物资入库表添加物资入库信息添加物资入库信息删除物资基本信息删除物资基本信息修改物资基本信息修改物资基本信息浏览物资余额表浏览物资余额表添加物资余额信息添加物资余额信息删除物资约信息删除物资约信息修改物资余额信息修改物资余额信息浏览物资领用表浏览物资领用表物质领用信息管理物质领用信息管理添加物资领用信息添加物资领用信息登陆模块登陆
26、模块物质基本信息管理物质基本信息管理物物质质管管理理系系统统物质余额信息管理物质余额信息管理物质入库信息管理物质入库信息管理-9-帮助帮助删除物资领用信息删除物资领用信息图 4。1 系统功能模块图修改物资基本信息修改物资基本信息4.24.2 系统功能模块设计系统功能模块设计本系统的运行环境为 Microsoft Visual Basic 6.04.2。1 登录程序执行后点击进入系统按钮将弹出系统的登录界面,如下图所示:用数据库中存储的用户信息登录系统,如图 4。2。1 所示图 4.2。1 登录界面若用户输入的用户信息错误,会弹出警告,登录 3 次失败后系统自动退出4.2。2 主界面登录成功后进
27、入系统的主界面,如图 4.2。2:通过菜单栏,用户可以参与数据的相关操作,如插入、修改、删除和统计等。图 4。2。2 主菜单4.2。3 浏览物质信息通过各模块中的浏览物质信息,可以对物质的各种信息进行浏览,其中包括按表和按行浏览两种方式。如图 4。2。32 和 4.2。33 所示时对物质基本信息进行的两种浏览方式。图 4。2.31 主菜单上的浏览选项图 4.2。32 按表格浏览物资表图 4.2.33 按行浏览物资表其余的浏览操作与上述的操作类似,这里不再赘述。4。2。4 添加物质信息每个关于物质信息是我模块都可以进行添加信息的操作,如图 4。2。4 是添加物质基本信息4。2.41 主菜单上的添
28、加选项图 4。2.42 添加界面图 4。2。43 添加信息图 4.2。44 添加成功提示其余的添加操作与上述的操作类似,这里不再赘述。4。2.5 删除物质信息点击系统中的删除按钮,可对物质的各种信息进行删除,如对物质基本信息进行删除操作:(1)按物质编号删除-10-点击删除菜单的子菜单,选择按物质编号删除,弹出删除删除信息的界面如图4.2。52,在其中输入或选择物质的编号,选择确定,将弹出警告提示,如图 4。2。54 所示。选择确定,系统给出删除成功的提示,如图 4.2。55 所示,如果选择取消,则弹出操作被撤销的提示,如图 4.2.56 所示4。2.51 主界面的删除选项图 4。2.52删除
29、界面图 4。2.53 删除物资图 4。2。54 删除警告图 4.2。55 删除成功图 4。2.56删除被撤销(2)按物质名称删除图 4。2。57 删除界面图 4。2。58删除物质按物质名称删除与按物质编号删除类似,这里不再赘述。其余的物质的各种信息删除也与上面说讲的类似,这里就不再多说了4。2.6 修改物质信息如果想要修改物质的各种信息,点击各个模块中的修改选项,将弹出当前的各种物质信息,如图 4.2.61 是物资基本信息的修改选项,图 4.2。62 所示是对物质基本信息所进行的修改操作:图 4。2.61主界面的修改选项图 4.2。62 修改物质信息修改完后,点击“确定”,于是修改就成功了.点
30、击“取消,则操作被撤销,点击退出,则返回主界面。其余的物质信息的修改操作也与上面说讲的类似,这里就不再多说了4。2.7 余额统计通过主界面的余额统计选项,可对各种物质的余额进行统计图 4.2。71 主界面的余额统计选项图 4.2。72统计物质余额图 4.2.73统计余额4。2.8 系统帮助用户点击菜单栏上的”关于,可以查询到系统的简介和使用说明图 4。2。8 关于系统第五章第五章 设计心得设计心得回顾该系统从选题,到调研、需求分析、设计、编码实现、测试等,这系列连贯的过程,感想颇多,收获也很多。大致的总结几点,如下:1设计开发一个软件,首先要了解所涉及到行业的现状,一定要想办法进行行业调研,从
31、不同途径获取该行业的专业知识。合理安排系统设计开发时间,进行实际开发会发现需求分析与系统设计占主要的时间,如果前面的工作做好了,编码实现占用的时间很短。所以我们要借助软件工程的思想对软件开发-11-过程进行控制。2。在开发一个系统时,前期的分析准备工作非常的重要。对于系统的需求要明确,这样才能做到有的放矢。特别是对于系统中数据的存储和重要算法的设计,设计的不好会出现大量的冗余,不仅浪费存储空间,还影响查询效率。3。在设计的初期,对一个功能模块的设计,要想出两种或两种以上方案,这样可以进行比较,从而获得更佳的设计方案,设计开发过程中一定要吸取经验教训,避免返工。尤其是一些重要算法或功能。在对具体
32、实现功能模块进行编程时,要养成良好的加注释的习惯,这样的话不仅能理清思路,而且可以为以后的调试程序带来很大的方便。由于本人即本人所在的小组是初次开发系统,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统还有许多不尽如人意的地方,比如联机文档比较少,用户界面不够美观,出错处理不够,系统维护功能不全,对于数据的一致性的问题也没有完全解决等多方面问题,这些都有待工作中进一步改善.谨请老师提出宝贵的意见。参考文献参考文献王珊,萨师煊。数据库系统概论。第四版.北京:高等教育出版社,2006易钢,刘少华,刘艳松。新编 Visual Basic程序设计教程.长沙国防科技大
33、学出版社,2009陈文军,陈晓铭。Visual Basic.NET数据库编程.北京:清华大学出版社,2005袁福庆.Visual Basic程序设计标准教程 。上海:上海科学普及出版社,2007附录附录工程模块设计代码工程模块设计代码Public Mycon As New ADODB.Connection Mycon 用于数据库连接Public MyRs As New ADODB.Recordset MyRS 用于保存记录集Public MyRs1 As New ADODB.Recordset MyRS1 用于保存记录集Public MyRs2 As New ADODB。Recordset M
34、yRS2 用于保存记录集登录界面设计代码登录界面设计代码Dim i As Integer 变量 i 用于累计连接的错误次数Private Sub Command1_Click()确定 If Trim(Text1.Text)=”Then 如果用户名为空,则给出提示 MsgBox 请输入用户名”,vbExclamation,”注意”Text1。SetFocus 将焦点定位在用户名文本框中 Else On Error GoTo ErrorHandler 出错则转向 ErrorHandler 处执行 Mycon.ConnectionString=”Driver=SQL-12-Server;Server
35、=PC-201006022034;Database=MMS”Mycon。Open 按 ConnectionString 的设置打开指定的连接 Unload Me 关闭当前窗口 Form3.Show 显示系统的主菜单窗口 Form3 End If Exit SubErrorHandler:错误处理程序入口 i=i+1 连接错误,变量 i 累加 1 If i=2 Then 如果连接错误次数不超过 2 两次 MsgBox”连接失败,请重试用户名或密码”,vbExclamation,注意 Text1。SetFocus Else 如果连接错误次数超过 2 两次 MsgBox 连接失败次数过多,你不能使用
36、本系统”,vbExclamation,”注意 End 结束系统的运行 End IfEnd SubPrivate Sub Command2_Click()退出按钮 Unload Me 回到主封面End SubPrivate Sub Image1_Click()End SubPrivate Sub Form_Load()End SubPrivate Sub Text1_GotFocus()用户名框获得焦点时 选中 Text1 中的文本 Text1.SelStart=0 Text1。SelLength=Len(Text1。Text)End SubPrivate Sub Text1_KeyUp(Key
37、Code As Integer,Shift As Integer)If KeyCode=13 Then 如果在用户名框中输入了回车键,则 Text2。SetFocus 将焦点切换到密码框 End IfEnd SubPrivate Sub Text2_GotFocus()密码框获得焦点时 选中 Text2 中的文本 Text2.SelStart=0 Text2.SelLength=Len(Text2.Text)End SubPrivate Sub Text2_KeyUp(KeyCode As Integer,Shift As Integer)If KeyCode=13 Then 在密码框输入完密
38、码并按下了回车键 If Trim(Text1.Text)=Then 如果用户名为空,则给出提示 MsgBox”请输入用户名,vbExclamation,”注意 Text1。SetFocus 将焦点定位在用户名文本框中-13-Else On Error GoTo ErrorHandler 出错则转向 ErrorHandler 处执行 Mycon.ConnectionString=Driver=SQLServer;Server=PC-201006022034;Database=MMS Mycon.Open Unload Me Form3。Show 显示系统的主菜单窗口 Form3 End If E
39、xit SubErrorHandler:错误处理程序入口 i=i+1 连接错误,变量 i 累加 1 If i=2 Then MsgBox 连接失败,请重试用户名或密码,vbExclamation,注意”Text1。SetFocus Else MsgBox”连接失败次数过多,你不能使用本系统,vbExclamation,”注意”End End If End IfEnd Sub主界面设计部分代码主界面设计部分代码Private Sub about_Click()frmAbout。Show 1End SubPrivate Sub cx111_Click()If MyRs。State=adStateO
40、pen Then MyRs.Close End If MyRs.Open”material,Mycon,adOpenStatic,adLockOptimistic,adCmdTableDirect 打开物资基本信息表 Form7。Caption=”按表格浏览物资表 Form7。Show 1 用 Form7 实现对物资基本信息表按表格浏览End SubPrivate Sub cx112_Click()按行浏览物资表 If MyRs。State=adStateOpen Then MyRs。Close End If MyRs。Open”material”,Mycon,adOpenStatic,adL
41、ockOptimistic,adCmdTableDirect Form4.Caption=按行浏览物资表 Form4.Show 1 用 Form4 实现对物资基本信息表按行浏览End SubPrivate Sub sc11_Click()Dim strSql As String strSql 用于保存查询字符串-14-Form18.DataCombo1。Enabled=True 设置显示物资编号的组合框有效 Form18。Label1。Enabled=True 设置显示物资编号的文字提示有效 Form18。DataCombo2。Enabled=False 设置显示物资名称的组合框有效 Form
42、18.Label2。Enabled=False 设置显示物资名称的文字提示无效 strSql=”SELECT DISTINCT wzid FROM material If MyRs1。State=adStateOpen Then 如果记录集 MyRS1 处于打开状态 MyRs1。Close 关闭记录集 MyRS1 End If MyRs1.Open strSql,Mycon,adOpenStatic,adLockReadOnly 按查询字符串 strSql 指定的查询产生记录集 Set Form18。DataCombo1.RowSource=MyRs1 设置 Form16 的显示物资编号的组合
43、框的数据源为 MyRS1 Form18.DataCombo1.ListField=”wzid”设置 Form16 的显示物资编号的组合框与记录集 MyRS1 的学号字段绑定 Form18。DataCombo1.Text=”Form18.DataCombo2。Text=”Form18.Show 1End SubPrivate Sub sc12_Click()Dim strSql As String strSql 用于保存查询字符串 Form18.DataCombo1。Enabled=False 设置显示物资编号的组合框有效 Form18.Label1.Enabled=False 设置显示物资编号
44、的文字提示有效 Form18。DataCombo2.Enabled=True 设置显示物资名称的组合框有效 Form18。Label2.Enabled=True 设置显示物资名称的文字提示无效 strSql=”SELECT DISTINCT wzname FROM material”产生查询字符串,用于从物资表中选择物资名称.If MyRs1.State=adStateOpen Then 如果记录集 MyRS1 处于打开状态 MyRs1.Close 关闭记录集 MyRS1 End If MyRs1。Open strSql,Mycon,adOpenStatic,adLockReadOnly按查询
45、字符串 strSql 指定的查询产生记录集 Set Form18.DataCombo2。RowSource=MyRs1设置 Form16 的显示物资名称的组合框的数据源为 MyRS1 Form18.DataCombo2.ListField=wzname设置 Form16 的显示物资名称的组合框与记录集 MyRS1 的物资名称字段绑定 Form18.DataCombo1。Text=”Form18.DataCombo2.Text=”Form18。Show 1End SubPrivate Sub tc_Click()If MyRs.State=adStateOpen Then-15-MyRs.Clo
46、se End If If MyRs1。State=adStateOpen Then MyRs1。Close End If If MyRs2。State=adStateOpen Then MyRs2。Close End If Set MyRs=Nothing Set MyRs1=Nothing Set MyRs2=Nothing Set Mycon=Nothing Unload MeEnd SubPrivate Sub sg2_Click()End SubPrivate Sub tij1_Click()添加物资基本信息 Form9.Show 1End SubPrivate Sub xg1_Cli
47、ck()If MyRs.State=adStateOpen Then 如果记录集 MyRS 处于打开状态 MyRs.Close 关闭记录集 MyRS End If MyRs。Open material,Mycon,adOpenKeyset,adLockBatchOptimistic,adCmdTable Form12.Show 1End Sub添加物资基本信息代码Private Sub Command1_Click()Dim strInsert As StringstrInsert=”INSERT INTO material VALUES(&Text1。Text ”,”&Text2。Text
48、”,&Text5。Text&”,”&Text3。Text&,&Text4。Text&”)”On Error GoTo errhandle 如果出错则转向 errhandler 处执行 Mycon.BeginTrans 开始事务 Mycon.Execute(strInsert)执行添加 Mycon.CommitTrans 提交事务 MsgBox”添加成功”显示添加操作完成的提示消息 Text1.Text=”:Text2。Text=”:Text5。Text=”:Text3。Text=”:Text4.Text=”清空在界面上录入的信息 Exit Suberrhandle:错误处理程序入口,当添加操作
49、出现错误时执行 MsgBox 添加失败”Mycon.RollbackTrans 撤销事务End Sub-16-Private Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()End Sub删除物资基本信息代码删除物资基本信息代码Private Sub Command1_Click()Dim strDelete As String,StudName As String If Trim(DataCombo1。Text)”And Trim(DataCombo2.Text)=”Then strDelete=DELETEmateria
50、lWHEREwzidLIKETrim(DataCombo1.Text)%ElseIf Trim(DataCombo1.Text)=”And Trim(DataCombo2.Text)ThenstrDelete=”DELETEmaterialWHEREwznameLIKE”&Trim(DataCombo2。Text)&%”Else Exit Sub End If Mycon。BeginTrans Mycon.Execute strDelete a=MsgBox(确定要删除指定的物资基本信息吗?”,vbOKCancel+vbExclamation,注意”)If a=vbOK Then Mycon。