- 789.33 KB
- 2022-05-16 18:34:21 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
VB仓库管理系统-论文VB仓库管理系统目 录1.绪论………………………………………………………………………………………………………21.1 数据库系统发展概况…………………………………………………………………………..21.2 数据库系统简介………………………………………………………………………………..2 1.2.1 数据、数据库………………………………………………………………………2 1.2.2 数据库管理系统……………………………………………………………………3 1.2.3 数据库系统…………………………………………………………………………32.仓库设备管理数据库方案设计………………………………………………………………………...42.1 数据模型的确定………………………………………………………………………………..42.2 运行环境和开发工具…………………………………………………………………………..52.3 基本组成………………………………………………………………………………………..63.仓库设备数据库管理系统设计………………………………………………………………………...73.1 设计方法和步骤………………………………………………………………………………..73.2 需求分析………………………………………………………………………………………..73.3 功能模块设计…………………………………………………………………………………..8
3.4 创建数据库……………………………………………………………………………………..9 3.4.1 创建仪器数据库……………………………………………………………………9 3.4.2 创建密码数据库…………………………………………………………………..103.5 创建应用工程文件…………………………………………………………………………….113.6 创建应用窗体文件…………………………………………………………………………….12 3.6.1 创建仓库管理程序信息窗体……………………………………………………..12 3.6.2 创建程序初始化窗体……………………………………………………………...13 3.6.3 创建用户登录窗体………………………………………………………………..14 3.6.4 创建仓库管理系统主窗体………………………………………………………..16 3.6.5 创建窗体菜单……………………………………………………………………..18 3.6.6 创建查询信息窗体………………………………………………………………..20 3.6.7 创建修改信息窗体………………………………………………………………..24 3.6.8 创建删除信息窗体………………………………………………………………..30 3.6.9 创建添加信息窗体………………………………………………………………..35 3.6.10创建修改用户窗体………………………………………………………………..39 3.6.11创建添加用户窗体………………………………………………………………..41 3.6.12创建删除用户窗体………………………………………………………………..433.7 创建应用文件包………………………………………………………………………………454.仓库设备管理系统使用说明………………………………………………………………………….454.1 软件的安装和卸载……………………………………………………………………………454.2 软件的使用……………………………………………………………………………………45
5.结论…………………………………………………………………………………………………….46 致谢:……………………………………………………………………………………………………….47参考文献:………………………………………………………………………………………………….481.绪论1.1数据库系统发展概况数据库是六十年代末期开始发展起来的一门新技术,是管理信息资源的先进工具。这门技术已广泛应用于各个方面,如科技情报检索、图书管理、库存管理、企业管理与经营决策、财会统计、银行存取、管理、火车或飞机票预订、人事材料管理、旅游管理、海关进出口情报收集与管理、地图数据库、种子数据库、医院管理、交通管理、案件管理与分析、生活服务等;有的还用于办公室自动化、科学研究、辅助设计、人工智能、资源探测、太空技术等多个方面。信息指的是各种形式的数据、资料、消息、信号…中所包含的意义,而载荷信息的物理符号(如数字、字母、文字、图形、声音…)称为数据。信息与数据是互相联系又有一定区别的两个概念,信息直接反映着现实的概念,向接受者(人或机器)提供关于现实世界新的事实的知识,而数据则是信息的具体表现。通常情况下。往往不严格区分信息与数据,而是把信息看作各种形式表示的数据之总称。在不需要严格区分的地方,信息与数据可以互换使用。所谓信息处理或数据处理,就是对信息(数据)进行加工处理,它包括对于数据进行操作的一系列活动,如数据的收集、存储、传播、检索、分类、加工或计算,打印各种报表或输出各种所需要的图形。数据处理并不是有了电子计算机以后才出现的。自1890年发明第一台卡片制表机并用其编制人口普查表以来,就已经开始了数据处理的历史。通常把这种用机械设备来进行数据处理的系统称为机械数据处理系统。自七十年代初以来,在数据处理领域中广泛采用数据库技术,使数据处理进人了一个新的阶段,这就是以数据库系统为核心机构的数据处理阶段。这一阶段实现了计算机的全面信息管理。其特点是把一个组织(企业和部门)有关的各种数据集中存储与管理,建立起综合化的数据库,并提供了管理数据库的软件,使各个部门方便地使用数据库的数据;同时采用计算机网络技术,进行分布式处理,通过计算机网络把不同部门、不同地区、不同国家的计算机
或终端联系在一起,共享丰富的信息资源,使信息的交换、传递和处理变得更为方便,从而更有效地利用信息资源。由于数据库技术在信息(数据)处理中显示了巨大的威力,所以许多计算机科学家把这个阶段称为“数据库时代”。1.2数据库系统简介1.2.1数据、数据库1.数据(data)数据是数据库中存储的基本对象。数据按通常的理解表现为数字形式,这是对数据的一种传统和狭义的理解。广义的理解,数字只是数据的一种表现形式,在计算机中可表示数据的种类很多,文字、图形、图像、声音都可以数字化,所以这些都是数据。为了了解世界、交流信息,人们在计算机中需要并且也能够描述、存储和处理这些表现形式多样和内容复杂的数据。2.数据库(database,缩写为DB)数据库,可以直观地理解为存放数据的仓库,只不过这个仓库是在计算机的大容量存储器上,如硬盘就是一类最常见计算机大容量存储设备。数据必须按一定的格式存放,因为它不仅需要存放,而且还要便于查找。所以可以认为数据是被长期存放在计算机内、有组织的、可以表现为多种形式的可共享的数据集合。数据库技术使数据能按一定格式组织、描述和存储,且具有较小的冗余度、较高的数据独立性和易扩展性,并可为多个用户所共享。人们总是尽可能地收集各种各样的数据,然后对它们进行加工,目的是要从这些数据中得到有用的信息。在社会飞速发展的今天,人们接触的事物越来越多,反映这些事物的数据量也急剧增加。过去人们手工管理和处理数据,现在借助计算机来保存和管理复杂的大量的数据,这样就可能方便而充分地利用这些宝贵的数据资源,数据库技术正是由于这一需求驱动而发展起来的一种计算机软件技术。1.2.2数据库管理系统利用计算机有效地组织和存储数据、获取和管理数据就是数据库管理系统(databasemanagementsystem,缩写为DBMS),它属于一类计算机系统软件。数据库管理系统是位于用户与操作系统之上的一层数据管理软件,它的主要功能包括以下几个方面:1.数据定义功能DBMS提供数据定义语言(datadefinitionlanguage,缩写为DDL),用户通过它可以方便地对数据库中的相关内容进行定义,如对数据库、基本表、视图和索引进行定义。2.数据操纵功能DBMS向用户提供数据操纵语言(datamanipulationlanguage,缩写为DML),实现对数据库的基本操作,如对数据库中数据的查询、插入、删除和修改。3.数据库的运行管理
这是DBMS的核心部分,它包括并发控制,即处理多个用户同时使用某些数据时可能产生的问题、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。所有数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性以及多个用户对数据库的并发使用。4.数据库的建立和维护功能包括:数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重新组织功能和性能监视、分析功能等,这些功能通常是由一些实用程序完成的,它是数据库管理系统的一个重要组成部分。5.数据字典数据字典(datadictionary,缩写为DD)是存放数据库各级模式结构的描述,也是访问数据库的接口。在大型系统中,DD也可单独成为一个系统。6.数据通信功能包括与OS的联机处理、分时处理和远程作业传输的相应接口等,这一功能对分布式数据库系统尤为重要。1.2.3数据库系统数据库系统(databasesystem,缩写为DBS)通常是指带有数据库的计算机应用系统,因此,数据库系统不仅包括数据库本身,即实际存储在计算机中的数据,还包括相应的硬件、软件。1.硬件由于一般数据库系统数据量很大,加之DBMS丰富的强有力的功能使得自身的体积就很大,因此整个数据库系统对硬件资源提出了较高的要求,这些要求是:(1)有足够大的内存以存放操作系统、DBMS的核心模块,数据缓冲区和应用程序。(2)有足够大的直接存取设备存放数据(如磁盘),有足够的磁带或其它存储设备来进行数据备份。(3)要求计算机有较高的数据传输能力2.软件数据库系统的软件主要包括:(1)DBMS是数据库系统的核心软件,它实现数据库的建立、使用和维护。(2)支持DBMS运行的操作系统。通常,DBMS运行时都是基于某一操作系统并通过操作系统来实现对数据的存取。(3)一般来讲,数据库管理系统的数据处理能力较弱,所以需要提供与数据库接口的高级语言及其编译系统,以便于开发应用程序。这种高级语言称为“数据库的主语言”。(4)以DBMS为核心的应用开发工具。应用开发工具是系统为应用开发人员和最终用户提供的高效率,多功能的应用生成器、第四代语言等各种软件工具,如报表生成系统、表格软件,图形系统等。它们为数据库系统的开发和应用提供了有力的支持。当前开发工具已成为数据库软件的有机组成部分。
(5)为特定应用开发的数据库应用软件。数据库软件为数据的定义、存储、查询和修改提供支持,而数据库应用软件是对数据库中的数据进行处理和加工的软件,它面向特定应用,如基于数据库的各种管理软件、管理信息系统(MIS)、决策支持系统(DSS)和办公自动化(OA)等都属于数据库应用软件。3.数据数据是数据库基本组成内容,是对客观世界所存在事物的一种表征,也是数据库用户操作的对象。数据是数据库系统,也是企业或组织的真正的财富。数据应按照需求进行采集并有结构地存入数据库。由于数据类型多样性,数据的采集方式和存储方式也会不同。数据作为一种资源是数据库系统最稳定的成分,即硬件可能更新,甚至软件也可以更换,但只要企业或组织的性质不改变,数据将是可以长期使用的财富。2.仓库设备数据库方案设计2.1数据模型的确定数据模型(DataModel)以实际事物的数据特征的抽象来刻画事物,描述的是事物数据的表征及其特性。在数据库中是用数据模型对现实世界进行抽象的,现有的数据库系统均是基于某种数据模型的。仓库设备数据库是仓库设备所涉及的数据的提取和综合,它不仅反映数据本身,而且反映数据之间的联系,也是事物之间的联系的反映。如何在数据库系统的形式化结构中抽象表示和处理仓库中设备的数据是非常重要的问题。数据库领域中过去和现在最常见的数据模型有三种,它们是:层次模型(HierachicalModel),网状模型(NetworkModel)和关系模型(RelationalModel)。其中层次模型和网状模型统称为非关系模型,在关系模型出现以前,它们是常用的数据模型。关系模型是目前数据库领域所讨论的模型中最重要的模型。仓库设备数据库数据模型采用关系模型,既用二维表结构来表示实体及实体间的联系。 表1 实验室设备基本信息表(示意) yiqibianhaofenleihaoyiqimingchengxinghaoguigedanjiachangjia…2000223703190635多用信号发生器EE1641B*1500南京新联…2000224603190101频率计数器FC-7013*2500南韩…2000224703190207视频毫伏表DF2220*1250宁波中策电子有限公司…2000225605010601微型机算机开发系统SE-52*1140万利电子有限公司…2000225903190711频谱分析仪HM5110*19000德国惠美…2000226003190316计算机逻辑分析仪HP54620A*34000美国惠普…2000226103190301示波器V1565*15000日本日立公司…2000226305010601微型机算机开发系统LAB700L-48*5600台湾研仪…2000226605010601DSP实验购件TMD32005402*2200美国德洲仪器…
2000226705010601DSP通用仿真系统TDS510-ALL*15200北京闻亭科技公司…2000231304070704空气调节器(空调机)KCD-3122*1850珠海格力…2000231505010105微型电子计算机兼容机一型*9500新资风科技有限公司…2000232105010549激光打印机HP6L*3150惠普…2000232205010501打印机HP1120A3*3050惠普…2000232305010500刻录机HP8210E*3100惠普…2000232405010512集线器HVBSTAR100M/16口*2300实达电脑…2000232605010547扫描仪ACER640VT*2500ACER…2000232705010526数据采集系统DAZZLE*5450新加坡…2000232805020701彩色摄相机NV-DS11*9000日本松下…2000232905040201录放机YP-E32*1800南韩三星…2000235705010526数据采集系统DC10PLUS*2600新加坡……………………… 2.2运行环境和开发工具1.运行环境随着数据库应用的日益广泛,数据库产品市场呈现非常繁荣的景象。目前的关系数据库产品基本可分为桌面数据库和大型数据库应用系统两大类。本系统采用桌面数据库方式,利用学校现有软硬件资源,运行于PC机的windows98/2000/xp下,具有对硬件要求低、容易操作、开发成本低等特点。2.开发工具数据库应用程序开发工具可分为两类:一类是由数据库厂商提供的专用数据库开发工具;另一类是由第三方提供的通用数据库开发工具。通用数据库开发工具又分为两种:一种是通用程序开发工具,能够开发几乎所有的应用程序,比如Microsoft公司的VisualBasic、Borland公司的Delphi,另一种是和数据库产品无关的专用数据库开发工具,如Powersoft公司的PowerBuilder。本系统使用VisualBasic6.0和Access作为开发工具。VisualBasic是一个通用程序开发工具,但具有强大的数据库访问能力,可以通过Microsoft数据库访问对象ADO访问数据库对象,而且由于其本身的优点(如可视化编程、面向对象、事件驱动、结构化程序设计、集成的开发环境),常常被用于数据库应用程序的开发。VisualBasic提供了管理数据库对象和创建报表的工具,并且使用简单方便。随着Microsoft不断地推出VisualBasic的新版本,VisualBasic对数据库的访问和编程也变得越来越容易,而且支持多种数据库系统的访问,是一个很好的数据库应用程序开发工具。Access是Microsoft公司另一个成功的数据库产品。其核心是Microsoft Jet数据库引擎。Access本身是一个可视化的数据库管理系统,提供了很多非常实用的向导,初学者也很容易学会如何用Access建立数据库的各种对象,如创建表、查询和报表等。Access使用内嵌VisualBasic语言作为开发工具,完全面向对象编程,可以可视化地创建数据库应用程序。Access
数据库是目前应用十分广泛的桌面型关系数据库,它主要应用于各种中小型的管理信息系统中,虽然它无法支持较大数据量,不支持数据库的高级特性(并发访问、事务处理等),但是它快速、小巧、灵活,经常被小型信息管理系统作为后台数据库。 2.3基本组成仓库设备数据库应用程序的主要作用是存放数据、从数据库中检索和统计数据,以得到各种各样的信息。本系统完整的数据库应用程序按照功能可分为四个部分的内容:数据库(单表);应用程序窗体;查询和更新;报表和图表(仪器领用单)。数据库是数据库应用程序的基础,主要用来存放原始数据。一般来说。用户不直接对原始数据进行操作。如果需要检索和更新数据,先用查询将数据检索出来放在缓冲区或临时表中,用户对缓冲区和临时表中的数据进行操作,在所有的操作完成后,再将数据的更改更新到数据库中。窗体用来完成用户和数据库之间、与程序之间交互。报表和图表的数据来自查询和统计,是定制的。它们之间的相互作用如图1所示。 报表和图表 查询和统计 图1数据库应用程序的基本组成3. 仓库设备数据库管理系统设计3.1设计方法和步骤数据库设计是开发数据库及其应用系统的技术,也是本系统
开发和建设的重要组成部分。具体说,数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。这里从数据库应用系统和开发的全过程来考虑,根据本系统的实际情况,将数据库及其应用系统的设计分为以下几个阶段:需求分析,功能模块设计,创建数据库,创建应用工程文件,创建应用窗体文件,创建应用文件包。3.2需求分析在设计一个数据库之前,首先要对数据库的设计目的和应用背景进行分析。在进行设计目的分析时,应搞清楚该数据库要解决一个什么样的问题、需要存储哪些数据、能够提供哪些信息、完成哪些自动化功能等。应用背景指数据库应用于一个什么样场合。在对本系统应用环境和需求进行收集和分析后所形成的抽象的系统概貌图如图2。 数据存储处理数据输出数据来源数据流 图2系统概貌图 本系统是为仓库开发的设备管理系统,根据任务书的要求,应设计一个可行的数据库结构和数据库管理系统。该数据库管理系统应具有:1. 数据查询功能(多种关键词查询);2. 数据更新功能(修改, 增加,删除等);3. 数据安全性设计。概括层的数据流图如图3采购部门 仪器管理系统
领用人1领用人2领用人n 图3数据流图采购部门:负责采购仪器设备,将仪器设备的相关信息提供给实验室。仪器管理系统:负责仪器的统一管理。通过该系统可以直接对数据库进行操作,进行业务处理,以记录每套仪器设备的相关信息;负责仪器设备的配入与发放,并记录仪器的发放与归还。领用人(1、2、3……n):领用人领用设备时要作相应记录,以便管理部门可以查询每套仪器的情况。3.3功能模块设计在软件设计中,程序设计分为两个阶段完成,首先进行结构设计,以确定程序由那些模块组成,然后进行过程设计,过程设计是确定每个模块的处理过程。本系统共有两个数据库,一个是仪器性能指标数据库,另一个是用户标识和鉴定数据库。设计中规定了数据库的结构(表、记录、字段、关键字)、制订了数据所应满足的条件、规定了用户的使用密码和用户名,帮助用户方便地对数据库中数据进行操作。以下是本系统的功能模块图。(如图4) 仓库设备数据库管理系统密码数据库仪器数据库 工程文件系统信息界面 查询信息界面修改信息界面添加信息界面删除信息界面修改用户界面
添加用户界面删除用户界面用户登录界面功能管理主界面 图4系统功能模块图在数据库管理系统的应用程序中有十一个应用窗体文件,分别是:1、系统信息应用窗体文件,使用户了解系统摘要、硬件资源、系统组件、软件环境、InternetExplorer和office2003应用程序等信息;2、登录初始化应用窗体;3、用户登陆应用窗体文件,完成用户登录进入管理系统的功能;4、信息管理和用户管理的主窗体,完成用户对系统功能的全局控制;5、查询信息应用窗体文件,完成通过仪器编号和名称对仪器进行查询的功能;6、修改信息应用窗体文件,完成修改仪器设备信息的功能;
7、添加信息应用窗体文件,完成信息的添加功能;8、删除信息应用窗体文件,完成删除仪器设备信息的功能;9、添加用户应用窗体文件,完成添加用户信息功能,记录用户名和用户密码;10、删除用户应用窗体文件,完成删除用户信息功能;11、修改密码应用窗体文件,完成对已有记载的用户进行密码重新设定的功能。3.4创建数据库在使用VisualBasic开发数据库应用程序时,其后台数据库可以选用多种格式,本系统使用MicrosoftAccess的数据库格式,因为Access数据库和VisualBasic数据库都是MicrosoftJet数据库,其数据库对象的层次结构和编程方法是完全相同的,用Access创建的数据库可以原封不动地用到VisualBasic应用程序中。Access数据库表的建立方法是:准备好设计资料,先在纸上设计好数据库的结构,即由哪几个表组成,每个表包含哪几个字段,各个字段的属性如何,哪个字段是关键字,共有多少个记录。下面介绍本系统中两个数据库的创建方法。3.4.1创建仪器数据库本系统的仪器数据库是用MicrosoftAccess中文版创建的。下面示例的表中主关键字是“yiqibianhao”,共有12个字段。创建步骤如下:1. 创建一个新的空数据库,确定数据库的名称及数据库的保存类型;2. 向空数据库添加表,将数据进行分类和量化,并设置表单的主键;使数据便于计算机处理。列出每一个表所包含的数据字段名称,确定每个字段的数据类型和字段大小;3. 在表单中输入和修改数据;4. 保存数据库。如图所示: 3.4.2创建密码数据库安全性问题是所有计算机系统都有的问题,只是在数据库系统中大量数据集中存放,而且是多用户共享,使安全性问题更为突出。数据库安全与恢复是数据库保护的组成部分,数据库保护一般包括四个方面的内容,其中安全性主要是对用户的存取数据库中数据权限的控制,以保证数据库的安全和保密。本系统根据任务书的要求,主要是对数据库的安全性进行了设计。在计算机系统中,一般说来安全措施是分级设置的,本系统安全性设计中采用的是用户标识和鉴定。用户标识和鉴定是系统提供的最外层的安全保护措施,其方法是由系统提供一定的方式让用户标识自己的名字或身份,每次用户要进入系统
时,系统对用户身份进行核实,通过鉴定后才提供系统使用权。本系统采用的方法具体是:用一个用户名来标明用户身份,系统鉴别此用户是否是合法的用户,若是,则可进入下一步的核实;若不是,则不能使用系统。为了进一步核实用户,系统要求用户输入密码,为保密起见,用户在终端上输入的口令不显示在屏幕上,系统核定密码以鉴别用户身份。创建方法和步骤同3.4.1,示例如下图 3.5创建应用工程文件本系统的应用工程文件是用VisualBasic6.0创建的,选定“标准的可执行文件”单击“打开”进入工程的窗体文件设计。 3.6创建应用窗体文件本工程文件中有十一个应用窗体文件,下面分别是应用窗体文件的窗体格式和程序代码文本。 3.6.1创建关于仓库管理程序窗体(formabout.frm) 在visualbasic中新建一个form,保存为formabout.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的关于仓库管理程序窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:PrivateSubCommandOK_Click() Me.Hide LoadFormstart Formstart.ShowEndSub PrivateSubForm_Load() Me.Caption="关于仓库管理程序" Picture1.Appearance=0 Labelbiaoti.Caption="仓库管理程序"EndSub3.6.2创建程序初始化窗体(start.frm)
在visualbasic中新建一个form,保存为start.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的程序初始化窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:PrivateSubForm_Load() Label2.FontSize=20 Label2.Caption="欢迎登录仓库管理程序" Label2.ForeColor=vbRed Timer2.Interval=50 Timer2.Enabled=True Label2.Top=1665 Label2.Left=Formstart.Width/2-Label1.Width/2 Timer1.Interval=50EndSub PrivateSubTimer1_Timer() Bar.Value=Bar.Value+4 IfBar.Value=98Then Bar.Value=100 EndIf IfBar.Value=100Then IfTimer1.Interval>=1Then UnloadFormstart LoadFormdenglu Formdenglu.Show EndIf EndIfEndSub PrivateSubTimer2_Timer() Label2.Left=Formstart.Width/2-Label2.Width/2 Label2.FontSize=Label2.FontSize+1 IfLabel2.FontSize>=36Then Timer2.Enabled=False EndIfEndSub3.6.3创建用户登录窗体(formdenglu.frm)在visualbasic中新建一个form,保存为formdenglu.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的用户登录窗体如图所示。
将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimdengluAsNewADODB.ConnectionDimrstdengluAsNewADODB.Recordset PrivateSubCommand1_Click() IfText1.Text=""Then MsgBox"请输入用户名",vbOKOnly,"警告" Text1.SetFocus EndIf IfText2.Text=""Then MsgBox"请输入密码",vbOKOnly,"警告" Text2.SetFocus EndIf rstdenglu.MoveFirst rstdenglu.Find("yonghuming="""+Text1.Text+"""") IfNotrstdenglu.EOFThen IfText2.Text=rstdenglu.Fields("mima")Then Me.Visible=False mainForm.Show Else i=MsgBox("请输入正确的密码!",vbOKOnly,"密码错误") EndIf Else MsgBox"用户名不正确!" EndIfEndSub PrivateSubCommand2_Click() DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThen End EndIfEndSub PrivateSubForm_Load() Setdenglu=NewADODB.Connection denglu.CursorLocation=adUseClient denglu.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统yonghuxinxi.mdb;PersistSecurityInfo=False" Setrstdenglu=NewADODB.Recordset Setrstdenglu.ActiveConnection=denglu rstdenglu.Open"select*fromyonghuxinxi",denglu,adOpenStatic,adLockOptimistic
EndSub 3.6.4创建仓库管理系统主窗体(mainform.frm)在visualbasic中新建一个form,保存为mainform.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的仓库管理程序主窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下: PrivateSubCommandsc_Click() LoadFormshanchuyh Formshanchuyh.ShowEndSub PrivateSubCommandtc_Click() DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThen Mydb.Close Myws.Close UnloadMe EndIfEndSub PrivateSubCommandtj_Click() LoadFormtianjiayh Formtianjiayh.ShowEndSub PrivateSubCommandxg_Click() LoadFormxiugaiyh Formxiugaiyh.ShowEndSub PrivateSubCommandxxcx_Click() LoadFormchaxun Formchaxun.ShowEndSub
PrivateSubCommandxxsc_Click() LoadFormshanchu Formshanchu.ShowEndSub PrivateSubCommandxxtj_Click() LoadFormtianjia Formtianjia.ShowEndSub PrivateSubCommandxxxg_Click() LoadFormxiugai Formxiugai.ShowEndSub PrivateSubf11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadmainForm mainForm.Show Case2 DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThenEnd EndIf EndSelectEndSub PrivateSubs11_Click(IndexAsInteger) SelectCaseIndex Case0 LoadFormchaxun Formchaxun.Show EndSelectEndSub PrivateSuba11_Click(IndexAsInteger) SelectCaseIndex Case0 LoadFormtianjia Formtianjia.Show Case2 LoadFormxiugai
Formxiugai.Show Case3 LoadFormshanchu Formshanchu.Show EndSelectEndSub PrivateSubTimer1_Timer() Labelsj.Caption=NowEndSub3.6.5创建窗体菜单 在窗体设计界面中,右键单击窗体,从右键菜单中选择【menueditor…】命令,选择【menueditor…】命令将会打开【menueditor】对话框,在菜单编辑器中编辑窗体菜单。各菜单项的单击事件处理函数如下所示:PrivateSubf11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadmainForm mainForm.Show Case2 DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThenEnd EndIf EndSelectEndSubPrivateSubs11_Click(IndexAsInteger) SelectCaseIndex Case0 LoadFormchaxun Formchaxun.Show EndSelectEndSubPrivateSuba11_Click(IndexAsInteger) SelectCaseIndex Case0 LoadFormtianjia Formtianjia.Show Case2 LoadFormxiugai
Formxiugai.Show Case3 LoadFormshanchu Formshanchu.Show EndSelectEndSub菜单编辑如图所示 3.6.6创建查询信息窗体(formchaxun.frm)在visualbasic中新建一个form,保存为formchaxun.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的查询信息窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimxinxiAsNewADODB.ConnectionDimrstxinxiAsNewADODB.Recordset PrivateSuba11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormtianjia Formtianjia.Show Case2 UnloadMe LoadFormxiugai Formxiugai.Show Case3 UnloadMe LoadFormshanchu Formshanchu.Show EndSelectEndSub PrivateSubCommand2_Click() Option1.Value=False Option2.Value=False Text1.Text="" Text2.Text="" txtyqbh.Text=""
txtflh.Text="" txtyqmc.Text="" txtxh.Text="" txtgg.Text="" txtdj.Text="" txtcj.Text="" txtgzrq.Text="" txtxz.Text="" txtjsr.Text="" txtlyr.Text="" txtrksj.Text=""EndSub PrivateSubf11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadmainForm mainForm.Show Case2 DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThen End EndIf EndSelectEndSub PrivateSubs11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormchaxun Formchaxun.Show EndSelectEndSub PrivateSubTimer1_Timer() Labelsj.Caption=NowEndSub PrivateSubForm_Load() Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient
xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimisticEndSub PrivateSubCommand1_Click() IfOption1.Value=TrueThen Option2.Value=False Text1.SetFocus Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfText1.Text=""Then MsgBox"请输入仪器编号",vbOKOnly,"警告" Text1.SetFocus Else rstxinxi.Find("yiqibianhao="""+Text1.Text+"""") Ifrstxinxi.EOFThen MsgBox"此仪器编号不存在,请重新输入!",vbOKOnly,"警告" Text1.Text="" Else txtyqbh.Text=rstxinxi.Fields("yiqibianhao") txtflh.Text=rstxinxi.Fields("fenleihao") txtyqmc.Text=rstxinxi.Fields("yiqimingcheng") txtxh.Text=rstxinxi.Fields("xinghao") txtgg.Text=rstxinxi.Fields("guige") txtdj.Text=rstxinxi.Fields("danjia") txtcj.Text=rstxinxi.Fields("changjia") txtgzrq.Text=rstxinxi.Fields("gouzhiriqi") txtxz.Text=rstxinxi.Fields("xianzhuang") txtlyr.Text=rstxinxi.Fields("lingyongren") txtjsr.Text=rstxinxi.Fields("jingshouren") txtrksj.Text=rstxinxi.Fields("rukushijian") rstxinxi.Close xinxi.Close Text1.Text="" Text1.SetFocus EndIf EndIf Else
IfOption2.Value=TrueThen Option1.Value=False Text2.SetFocus Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfText2.Text=""Then MsgBox"请输入仪器名称",vbOKOnly,"警告" Text2.SetFocus Else rstxinxi.Find("yiqimingcheng="""+Text2.Text+"""") Ifrstxinxi.EOFThen MsgBox"此仪器名称不存在,请重新输入!",vbOKOnly,"警告" Text2.Text="" Else txtyqbh.Text=rstxinxi.Fields("yiqibianhao") txtflh.Text=rstxinxi.Fields("fenleihao") txtyqmc.Text=rstxinxi.Fields("yiqimingcheng") txtxh.Text=rstxinxi.Fields("xinghao") txtgg.Text=rstxinxi.Fields("guige") txtdj.Text=rstxinxi.Fields("danjia") txtcj.Text=rstxinxi.Fields("changjia") txtgzrq.Text=rstxinxi.Fields("gouzhiriqi") txtxz.Text=rstxinxi.Fields("xianzhuang") txtlyr.Text=rstxinxi.Fields("lingyongren") txtjsr.Text=rstxinxi.Fields("jingshouren") txtrksj.Text=rstxinxi.Fields("rukushijian") rstxinxi.Close xinxi.Close Text2.Text="" Text2.SetFocus EndIf EndIf EndIf EndIfEndSub3.6.7创建修改信息窗体(formxiugai.frm)
在visualbasic中新建一个form,保存为formxiugai.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的修改信息窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimxinxiAsNewADODB.ConnectionDimrstxinxiAsNewADODB.Recordset PrivateSubCommand1_Click() IfOption1.Value=TrueThen Option2.Value=False Text1.SetFocus Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfText1.Text=""Then MsgBox"请输入仪器编号",vbOKOnly,"警告" Text1.SetFocus Else rstxinxi.Find("yiqibianhao="""+Text1.Text+"""") Ifrstxinxi.EOFThen MsgBox"此仪器编号不存在,请重新输入!",vbOKOnly,"警告" Text1.Text="" Else txtyqbh.Text=rstxinxi.Fields("yiqibianhao") txtflh.Text=rstxinxi.Fields("fenleihao") txtyqmc.Text=rstxinxi.Fields("yiqimingcheng") txtxh.Text=rstxinxi.Fields("xinghao") txtgg.Text=rstxinxi.Fields("guige") txtdj.Text=rstxinxi.Fields("danjia") txtcj.Text=rstxinxi.Fields("changjia") txtgzrq.Text=rstxinxi.Fields("gouzhiriqi") txtxz.Text=rstxinxi.Fields("xianzhuang") txtlyr.Text=rstxinxi.Fields("lingyongren") txtjsr.Text=rstxinxi.Fields("jingshouren") txtrksj.Text=rstxinxi.Fields("rukushijian") rstxinxi.Close xinxi.Close Text1.Text=""
Text1.SetFocus EndIf EndIf Else IfOption2.Value=TrueThen Option1.Value=False Text2.SetFocus Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfText2.Text=""Then MsgBox"请输入仪器名称",vbOKOnly,"警告" Text2.SetFocus Else rstxinxi.Find("yiqimingcheng="""+Text2.Text+"""") Ifrstxinxi.EOFThen MsgBox"此仪器名称不存在,请重新输入!",vbOKOnly,"警告" Text2.Text="" Else txtyqbh.Text=rstxinxi.Fields("yiqibianhao") txtflh.Text=rstxinxi.Fields("fenleihao") txtyqmc.Text=rstxinxi.Fields("yiqimingcheng") txtxh.Text=rstxinxi.Fields("xinghao") txtgg.Text=rstxinxi.Fields("guige") txtdj.Text=rstxinxi.Fields("danjia") txtcj.Text=rstxinxi.Fields("changjia") txtgzrq.Text=rstxinxi.Fields("gouzhiriqi") txtxz.Text=rstxinxi.Fields("xianzhuang") txtlyr.Text=rstxinxi.Fields("lingyongren") txtjsr.Text=rstxinxi.Fields("jingshouren") txtrksj.Text=rstxinxi.Fields("rukushijian") rstxinxi.Close xinxi.Close Text2.Text="" Text2.SetFocus EndIf EndIf EndIf EndIfEndSub PrivateSubCommand2_Click()
Iftxtyqbh.Text=""Then MsgBox"请选择一条记录!",vbOKOnly+vbExclamation,"信息提示" Else Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic rstxinxi.Find("yiqibianhao="""+txtyqbh.Text+"""") rstxinxi.Delete rstxinxi.Close xinxi.Close Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfTrim(txtyqbh.Text)=""Then MsgBox"请输入仪器编号!",vbOKOnly+vbExclamation,"信息提示" txtyqbh.SetFocus ExitSub EndIf IfTrim(txtflh.Text)=""Then MsgBox"请输入分类号!",vbOKOnly+vbExclamation,"信息提示" txtflh.SetFocus ExitSub EndIf IfTrim(txtyqmc.Text)=""Then MsgBox"请输入仪器名称!",vbOKOnly+vbExclamation,"信息提示" txtyqmc.SetFocus ExitSub EndIf IfTrim(txtxh.Text)=""Then MsgBox"请输入仪器型号!",vbOKOnly+vbExclamation,"信息提示" txtxh.SetFocus ExitSub EndIf IfTrim(txtgg.Text)=""Then
MsgBox"请输入规格!",vbOKOnly+vbExclamation,"信息提示" txtgg.SetFocus ExitSub EndIf IfTrim(txtdj.Text)=""Then MsgBox"请输入仪器单价!",vbOKOnly+vbExclamation,"信息提示" txtdj.SetFocus ExitSub EndIf IfTrim(txtcj.Text)=""Then MsgBox"请输入厂家!",vbOKOnly+vbExclamation,"信息提示" txtcj.SetFocus ExitSub EndIf IfTrim(txtgzrq.Text)=""Then MsgBox"请输入购置日期!",vbOKOnly+vbExclamation,"信息提示" txtgzrq.SetFocus ExitSub EndIf IfTrim(txtxz.Text)=""Then MsgBox"请输入现状!",vbOKOnly+vbExclamation,"信息提示" txtxz.SetFocus ExitSub EndIf IfTrim(txtlyr.Text)=""Then MsgBox"请输入领用人!",vbOKOnly+vbExclamation,"信息提示" txtlyr.SetFocus ExitSub EndIf IfTrim(txtjsr.Text)=""Then MsgBox"请输入经手人!",vbOKOnly+vbExclamation,"信息提示" txtjsr.SetFocus ExitSub EndIf IfTrim(txtrksj.Text)=""Then MsgBox"请输入rksj!",vbOKOnly+vbExclamation,"信息提示" txtrksj.SetFocus ExitSub EndIf rstxinxi.Find("yiqibianhao="""+txtyqbh.Text+"""") IfNotrstxinxi.EOFThen MsgBox"此仪器编号已经存在!",vbOKOnly+vbExclamation,"警告" txtyqbh.Text="" txtyqbh.SetFocus Else
rstxinxi.AddNew rstxinxi.Fields("yiqibianhao")=Trim(txtyqbh.Text) rstxinxi.Fields("fenleihao")=Trim(txtflh.Text) rstxinxi.Fields("xinghao")=Trim(txtxh.Text) rstxinxi.Fields("yiqimingcheng")=Trim(txtyqmc.Text) rstxinxi.Fields("guige")=Trim(txtgg.Text) rstxinxi.Fields("danjia")=Trim(txtdj.Text) rstxinxi.Fields("changjia")=Trim(txtcj.Text) rstxinxi.Fields("gouzhiriqi")=Trim(txtgzrq.Text) rstxinxi.Fields("xianzhuang")=Trim(txtxz.Text) rstxinxi.Fields("lingyongren")=Trim(txtlyr.Text) rstxinxi.Fields("jingshouren")=Trim(txtjsr.Text) rstxinxi.Fields("rukushijian")=Trim(txtrksj.Text) rstxinxi.Update MsgBox"添加信息成功",vbOKOnly+vbExclamation,"信息提示" CallCommand1_Click rstxinxi.Close xinxi.Close EndIf EndIfEndSub PrivateSubCommand3_Click() Option1.Value=False Option2.Value=False txtyqbh.Text="" txtflh.Text="" txtyqmc.Text="" txtxh.Text="" txtgg.Text="" txtdj.Text="" txtcj.Text="" txtgzrq.Text="" txtxz.Text="" txtjsr.Text="" txtlyr.Text="" txtrksj.Text=""EndSub PrivateSubForm_Load() Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi
rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimisticEndSub PrivateSuba11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormtianjia Formtianjia.Show Case2 UnloadMe LoadFormxiugai Formxiugai.Show Case3 UnloadMe LoadFormshanchu Formshanchu.Show EndSelectEndSub PrivateSubf11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadmainForm mainForm.Show Case2 DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThen End EndIf EndSelectEndSub PrivateSubs11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormchaxun Formchaxun.Show EndSelectEndSub PrivateSubTimer1_Timer()
Labelsj.Caption=NowEndSub 3.6.8创建删除信息窗体(formshanchu.frm)在visualbasic中新建一个form,保存为formshanchu.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的删除信息窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimxinxiAsNewADODB.ConnectionDimrstxinxiAsNewADODB.Recordset PrivateSubCommand3_Click() Option1.Value=False Option2.Value=False txtyqbh.Text="" txtflh.Text="" txtyqmc.Text="" txtxh.Text="" txtgg.Text="" txtdj.Text="" txtcj.Text="" txtgzrq.Text="" txtxz.Text="" txtjsr.Text="" txtlyr.Text="" txtrksj.Text=""EndSubPrivateSubForm_Load() Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimisticEndSubPrivateSubCommand1_Click() IfOption1.Value=TrueThen Option2.Value=False Text1.SetFocus Setxinxi=NewADODB.Connection
xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfText1.Text=""Then MsgBox"请输入仪器编号",vbOKOnly,"警告" Text1.SetFocus Else rstxinxi.Find("yiqibianhao="""+Text1.Text+"""") Ifrstxinxi.EOFThen MsgBox"此仪器编号不存在,请重新输入!",vbOKOnly,"警告" Text1.Text="" Else txtyqbh.Text=rstxinxi.Fields("yiqibianhao") txtflh.Text=rstxinxi.Fields("fenleihao") txtyqmc.Text=rstxinxi.Fields("yiqimingcheng") txtxh.Text=rstxinxi.Fields("xinghao") txtgg.Text=rstxinxi.Fields("guige") txtdj.Text=rstxinxi.Fields("danjia") txtcj.Text=rstxinxi.Fields("changjia") txtgzrq.Text=rstxinxi.Fields("gouzhiriqi") txtxz.Text=rstxinxi.Fields("xianzhuang") txtlyr.Text=rstxinxi.Fields("lingyongren") txtjsr.Text=rstxinxi.Fields("jingshouren") txtrksj.Text=rstxinxi.Fields("rukushijian") rstxinxi.Close xinxi.Close Text1.Text="" Text1.SetFocus EndIf EndIf Else IfOption2.Value=TrueThen Option1.Value=False Text2.SetFocus Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi
rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfText2.Text=""Then MsgBox"请输入仪器名称",vbOKOnly,"警告" Text2.SetFocus Else rstxinxi.Find("yiqimingcheng="""+Text2.Text+"""") Ifrstxinxi.EOFThen MsgBox"此仪器名称不存在,请重新输入!",vbOKOnly,"警告" Text2.Text="" Else txtyqbh.Text=rstxinxi.Fields("yiqibianhao") txtflh.Text=rstxinxi.Fields("fenleihao") txtyqmc.Text=rstxinxi.Fields("yiqimingcheng") txtxh.Text=rstxinxi.Fields("xinghao") txtgg.Text=rstxinxi.Fields("guige") txtdj.Text=rstxinxi.Fields("danjia") txtcj.Text=rstxinxi.Fields("changjia") txtgzrq.Text=rstxinxi.Fields("gouzhiriqi") txtxz.Text=rstxinxi.Fields("xianzhuang") txtlyr.Text=rstxinxi.Fields("lingyongren") txtjsr.Text=rstxinxi.Fields("jingshouren") txtrksj.Text=rstxinxi.Fields("rukushijian") rstxinxi.Close xinxi.Close Text2.Text="" Text2.SetFocus EndIf EndIf EndIf EndIfEndSub PrivateSubCommand2_Click() Iftxtyqbh.Text=""Then MsgBox"请选择一条记录!",vbOKOnly+vbExclamation,"信息提示" Else Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic rstxinxi.Find("yiqibianhao="""+txtyqbh.Text+"""") If(vbYes=MsgBox("您确定要删除该纪录吗?,这可能回导致数据的丢失",vbYesNo+vbQuestion,"信息提示"))Then
rstxinxi.Delete CallCommand3_Click MsgBox"删除信息成功!",vbOKOnly+vbExclamation,"信息提示" rstxinxi.Close xinxi.Close EndIf EndIfEndSubPrivateSuba11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormtianjia Formtianjia.Show Case2 UnloadMe LoadFormxiugai Formxiugai.Show Case3 UnloadMe LoadFormshanchu Formshanchu.Show EndSelectEndSubPrivateSubf11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadmainForm mainForm.Show Case2 DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThen End EndIf EndSelectEndSubPrivateSubs11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormchaxun Formchaxun.Show EndSelect
EndSubPrivateSubTimer1_Timer() Labelsj.Caption=NowEndSub3.6.9创建添加信息窗体(formtianjia.frm)在visualbasic中新建一个form,保存为formtianjia.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的添加信息窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimxinxiAsNewADODB.ConnectionDimrstxinxiAsNewADODB.Recordset PrivateSubForm_Load() Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimisticEndSubPrivateSuba11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormtianjia Formtianjia.Show Case2 UnloadMe LoadFormxiugai Formxiugai.Show Case3 UnloadMe LoadFormshanchu Formshanchu.Show EndSelectEndSubPrivateSubCommand1_Click() txtyqbh.Text="" txtflh.Text="" txtyqmc.Text=""
txtxh.Text="" txtgg.Text="" txtdj.Text="" txtcj.Text="" txtgzrq.Text="" txtxz.Text="" txtjsr.Text="" txtlyr.Text="" txtrksj.Text=""EndSubPrivateSubCommand2_Click() Setxinxi=NewADODB.Connection xinxi.CursorLocation=adUseClient xinxi.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统cangkuzl.mdb;PersistSecurityInfo=False" Setrstxinxi=NewADODB.Recordset Setrstxinxi.ActiveConnection=xinxi rstxinxi.Open"select*fromyiqixinxi",xinxi,adOpenStatic,adLockOptimistic IfTrim(txtyqbh.Text)=""Then MsgBox"请输入仪器编号!",vbOKOnly+vbExclamation,"信息提示" txtyqbh.SetFocus ExitSub EndIf IfTrim(txtyqmc.Text)=""Then MsgBox"请输入仪器名称!",vbOKOnly+vbExclamation,"信息提示" txtyqmc.SetFocus ExitSub EndIf IfTrim(txtxh.Text)=""Then MsgBox"请输入仪器型号!",vbOKOnly+vbExclamation,"信息提示" txtxh.SetFocus ExitSub EndIf IfTrim(txtdj.Text)=""Then MsgBox"请输入仪器单价!",vbOKOnly+vbExclamation,"信息提示" txtdj.SetFocus ExitSub EndIf IfTrim(txtgzrq.Text)=""Then MsgBox"请输入购置日期!",vbOKOnly+vbExclamation,"信息提示" txtgzrq.SetFocus ExitSub EndIf IfTrim(txtdj.Text)=""Then MsgBox"请输入领用单位号!",vbOKOnly+vbExclamation,"信息提示"
txtdj.SetFocus ExitSub EndIf IfTrim(txtlyr.Text)=""Then MsgBox"请输入领用人!",vbOKOnly+vbExclamation,"信息提示" txtlyr.SetFocus ExitSub EndIf IfTrim(txtjsr.Text)=""Then MsgBox"请输入经手人!",vbOKOnly+vbExclamation,"信息提示" txtjsr.SetFocus ExitSub EndIf rstxinxi.MoveFirst rstxinxi.Find("yiqibianhao="""+txtyqbh.Text+"""") Ifrstxinxi.Fields("yiqibianhao")=Trim(txtyqbh.Text)Then MsgBox"此仪器编号已经存在!",vbOKOnly+vbExclamation,"警告" txtyqbh.Text="" txtyqbh.SetFocus Else rstxinxi.MoveLast rstxinxi.AddNew rstxinxi.Fields("yiqibianhao")=Trim(txtyqbh.Text) rstxinxi.Fields("fenleihao")=Trim(txtflh.Text) rstxinxi.Fields("xinghao")=Trim(txtxh.Text) rstxinxi.Fields("yiqimingcheng")=Trim(txtyqmc.Text) rstxinxi.Fields("guige")=Trim(txtgg.Text) rstxinxi.Fields("danjia")=Trim(txtdj.Text) rstxinxi.Fields("changjia")=Trim(txtcj.Text) rstxinxi.Fields("gouzhiriqi")=Trim(txtgzrq.Text) rstxinxi.Fields("xianzhuang")=Trim(txtxz.Text) rstxinxi.Fields("lingyongren")=Trim(txtlyr.Text) rstxinxi.Fields("jingshouren")=Trim(txtjsr.Text) rstxinxi.Fields("rukushijian")=Trim(txtrksj.Text) rstxinxi.Update MsgBox"添加信息成功",vbOKOnly+vbExclamation,"信息提示" CallCommand1_Click rstxinxi.Close xinxi.Close EndIfEndSubPrivateSubCommand3_Click() CallCommand1_ClickEndSubPrivateSubf11_Click(IndexAsInteger) SelectCaseIndex
Case0 UnloadMe LoadmainForm mainForm.Show Case2 DimiAsByte Beep i=MsgBox("你确定要退出仓库管理系统吗?",vbYesNo,"退出系统") Ifi=vbYesThen End EndIf EndSelectEndSubPrivateSubs11_Click(IndexAsInteger) SelectCaseIndex Case0 UnloadMe LoadFormchaxun Formchaxun.Show EndSelectEndSubPrivateSubTimer1_Timer() Labelsj.Caption=Now EndSub3.6.10 创建修改用户密码窗体(formxiugaiyh.frm)在visualbasic中新建一个form,保存为formxiugaiyh.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的修改用户密码窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimdengluAsNewADODB.ConnectionDimrstdengluAsNewADODB.Recordset PrivateSubCommand1_Click() IfText1.Text=""Then MsgBox"请输入用户名",vbOKOnly,"警告" Text1.SetFocus EndIf IfText2.Text=""Then
MsgBox"请输入密码",vbOKOnly,"警告" Text2.SetFocus EndIf IfText3.Text=""Then MsgBox"请输入新密码",vbOKOnly,"警告" Text3.SetFocus EndIf IfText4.Text=""Then MsgBox"请输入确认密码",vbOKOnly,"警告" Text4.SetFocus EndIf rstdenglu.MoveFirst rstdenglu.Find("yonghuming="""+Text1.Text+"""") Ifrstdenglu.EOFThen MsgBox"用户名不存在,请重新输入用户名",vbOKOnly,"警告" Text1.SetFocus Else Ifrstdenglu.Fields("mima")<>Trim(Text2.Text)Then Text2.Text="" MsgBox"请输入正确的密码!",vbOKOnly,"警告" Else IfTrim(Text3.Text)<>Trim(Text4.Text)Then Text3.Text="" Text4.Text="" MsgBox"新密码和确认密码不相同,请重新输入新密码和确认密码!",vbOKOnly,"警告" Else rstdenglu.Delete rstdenglu.AddNew rstdenglu.Fields("yonghuming")=Text1.Text rstdenglu.Fields("mima")=Text3.Text rstdenglu.Update MsgBox"修改成功!",vbOKOnly,"警告" CallCommand2_Click rstdenglu.Close denglu.Close EndIf EndIf EndIfEndSubPrivateSubCommand2_Click() Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text=""
EndSubPrivateSubForm_Load() Setdenglu=NewADODB.Connection denglu.CursorLocation=adUseClient denglu.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统yonghuxinxi.mdb;PersistSecurityInfo=False" Setrstdenglu=NewADODB.Recordset Setrstdenglu.ActiveConnection=denglu rstdenglu.Open"select*fromyonghuxinxi",denglu,adOpenStatic,adLockOptimisticEndSub3.6.11 创建添加用户窗体(formtianjiayh.frm)在visualbasic中新建一个form,保存为formtianjiayh.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的添加用户窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimdengluAsNewADODB.ConnectionDimrstdengluAsNewADODB.Recordset PrivateSubCommand1_Click() IfText1.Text=""Then MsgBox"请输入新用户名",vbOKOnly,"警告" Text1.SetFocus EndIf IfText2.Text=""Then MsgBox"请输入密码",vbOKOnly,"警告" Text2.SetFocus EndIf IfText3.Text=""Then MsgBox"请输入确认密码",vbOKOnly,"警告" Text3.SetFocus EndIf rstdenglu.Find("yonghuming="""+Text1.Text+"""") IfNotrstdenglu.EOFThen MsgBox"用户名已存在,请重新输入新用户名",vbOKOnly,"警告" Text1.SetFocus Else IfTrim(Text2.Text)<>Trim(Text3.Text)Then Text2.Text="" Text3.Text="" MsgBox"密码和确认密码不相同,请重新输入密码和确认密码!",vbOKOnly,"警告"
Else rstdenglu.AddNew rstdenglu.Fields("yonghuming")=Text1.Text rstdenglu.Fields("mima")=Text2.Text rstdenglu.Update MsgBox"添加成功!",vbOKOnly,"警告" CallCommand2_Click rstdenglu.Close denglu.Close EndIf EndIfEndSub PrivateSubCommand2_Click() Text1.Text="" Text2.Text="" Text3.Text=""EndSub PrivateSubForm_Load() Setdenglu=NewADODB.Connection denglu.CursorLocation=adUseClient denglu.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统yonghuxinxi.mdb;PersistSecurityInfo=False" Setrstdenglu=NewADODB.Recordset Setrstdenglu.ActiveConnection=denglu rstdenglu.Open"select*fromyonghuxinxi",denglu,adOpenStatic,adLockOptimisticEndSub 3.6.12创建删除用户窗体(formshanchuyh.frm)在visualbasic中新建一个form,保存为formshanchuyh.frm。从工具箱中选择相应控件将其添加到窗体中,根据需要设置其各项属性,最后的删除用户窗体如图所示。 将窗体及其各控件的属性设置完毕后,根据需要为窗体及控件添加事件处理函数,程序如下:DimdengluAsNewADODB.ConnectionDimrstdengluAsNewADODB.Recordset PrivateSubCommand1_Click() IfText1.Text=""Then MsgBox"请输入用户名",vbOKOnly,"警告" Text1.SetFocus
EndIf IfText2.Text=""Then MsgBox"请输入密码",vbOKOnly,"警告" Text2.SetFocus EndIf rstdenglu.MoveFirst rstdenglu.Find("yonghuming="""+Text1.Text+"""") Ifrstdenglu.EOFThen MsgBox"用户名不存在,请重新输入用户名",vbOKOnly,"警告" Text1.SetFocus Else Ifrstdenglu.Fields("mima")<>Trim(Text2.Text)Then Text2.Text="" MsgBox"请输入正确的密码!",vbOKOnly,"警告" Else If(vbYes=MsgBox("您确定要删除该用户吗?",vbYesNo+vbQuestion,"信息提示"))Then rstdenglu.Delete CallCommand2_Click MsgBox"删除信息成功!",vbOKOnly+vbExclamation,"信息提示" rstdenglu.Close denglu.Close EndIf EndIf EndIfEndSub PrivateSubCommand2_Click() Text1.Text="" Text2.Text=""EndSub PrivateSubForm_Load() Setdenglu=NewADODB.Connection denglu.CursorLocation=adUseClient denglu.Open"Provider=Microsoft.Jet.OLEDB.4.0;UserID=admin;DataSource=F:仓库管理系统yonghuxinxi.mdb;PersistSecurityInfo=False" Setrstdenglu=NewADODB.Recordset Setrstdenglu.ActiveConnection=denglu rstdenglu.Open"select*fromyonghuxinxi",denglu,adOpenStatic,adLockOptimisticEndSub 3.7创建应用文件包
由于“仓库设备管理系统”运行需要VisualBasic和microsoftAccess等软件的支持,为了使得没有安装vb和microsoftAccess支持软件的用户也可以使用“实验室设备管理系统”,故用WiseInstallationSystem9.0版(专业级)安装程序制作软件,将所设计的软件,以及软件运行所需要的支持软件进行打包,做成安装包。这个安装包在pc机上直接安装后就可以正常运行使用。使用WiseInstallationSystem9.0版(专业级)安装程序制作软件,操作简单明了。本系统所使用的是汉化后的软件,根据提示进行一步步操作,将所有软件依次打包,最终生成可独立安装运行及卸载的应用文件包。 4.仓库设备数据库管理系统使用说明4.1.软件的安装和卸载用户打开应用文件包“Store”后,单击“Setup”文件包,然后直接双击运行“仪器查询系统.exe”文件,即进入安装页面,安装时根据提示操作,点击“下一步”后,进入目标目录选择窗口。用户可以使用默认安装路径,也可自己点击“浏览”选择合适的安装路径,然后依提示进行下一步安装,当系统提示输入安装密码时,在文本框中输入密码“123”,然后点击“确定”继续安装。安装系统会弹出提示窗口,询问用户是否同意许可协议,若不同意则无法进行安装,故点击“是”继续安装。安装过程将提示用户进入控制面板安装和配置系统组件,用户不需要进入控制面板设置,点击“确定”,软件即可自行继续安装直至安装完成,最后点击“完成”结束整个安装过程。显示屏自动恢复安装前页面,并不产生桌面快捷图标。安装完成后,在“开始”菜单的程序一项中自动产生仪器查询系统目录,目录包含两个子目录,分别进入软件运行系统和卸载系统。进入软件运行系统时用户单击“store”即弹出用户登录窗口,用户输入用户名“admin”和密码“admin”即进入管理系统使用软件。进入卸载系统时单击“Unwise”并依据提示选择卸载方式,然后根据提示进行卸载工作即可。4.2软件的使用4.2.1系统1.添加用户:此功能可以添加此系统的用户,首先在用户栏输入要添加的用户的用户名,然后输入用户的密码,然后再次输入相同的密码,两次输入的密码必须相同。点击“确定”就会提示添加用户成功。2.删除用户:此功能可以删除此系统的用户,首先选择要删除的用户名,然后在密码输入框里输入选中用户的密码,点击“确定”就会提示删除用户成功。
3.修改密码:此功能可以修改此系统用户的登录密码,首先选择要修改的用户名,输入原始密码,然后再次输入新密码,点击“确定”就会提示修改密码成功,则该用户下次登录此系统时就要输入修改后的新密码。4.退出:退出本系统。4.2.2信息查询此功能可以根据用户需求查找用户需要的资料。此功能有两个选项:一是根据仪器编号查询,首先选择仪器编号单选框,在文本框里面输入要查找仪器的编号,然后点击“确定”即可找到要找的仪器的信息。二是根据仪器名称查找,选择仪器名称单选框,在文本框里面输入要查找仪器的名称,然后点击“确定”即可找到要找的仪器的信息。4.2.3信息管理1.增加信息:此功能可以增加资料信息.在各文本框中输入信息,然后点击“确定”即可。如果加入信息的仪器编号已经在数据库中存在,则系统会提示信息编号已经存在,则要另外选择添加仪器的仪器编号。有些项目为必填项,如果为空,则系统会提示用户输入信息。2.修改信息:此功能可以修改资料信息。首先如4.2.2找到所要修改的信息,然后直接在各个项目后面的文本框中修改相对应的信息,修改完后点击“修改”,系统则会提示修改成功。3.删除信息:此功能可以删除数据库中存在的信息。首先如4.2.2找到所要修改的信息,然后点击“删除”按钮,系统则会提示您是否要删除信息,如果选择确定,则系统会提示删除信息成功,并且删除选中的信息。如果选择“取消”,则系统不会删除信息。4.关于:可以显示系统环境。5.其它:安装完成后,开始菜单的程序选项里面会生成一个选项“仪器管理系统”,后面的子菜单有运行程序。5.结论1.本系统运行于PC机的windows98/2000/xp下,具有对硬件要求低、容易操作、开发成本低等特点;2.本系统使用VisualBasic6.0和Access作为开发工具。完全面向对象可视化编程,其方法简便、直观、快捷;3.系统经过试运行,稳定可靠、操作方便、用户界面美观、各项功能满足设计任务书的要求。
感谢导师谈国珍女士的细心指导和不倦教诲,无论是论文的选题还是文章的结构无不凝结着老师的心血。论文的顺利完成离不开老师的支持和帮助。导师严谨的治学态度让我深深的敬佩和感动。 感谢母校对我的培养和所有授课老师对我的教育。 感谢一直给我鼓励和帮助的同学们,是他们给了我很多动力和支持。 再一次感谢我的导师谈国珍女士!参考文献1.龚 波:《SQLServer2000教程》.北京希望电子出版社,2002.2.苏 俊:《数据库基础知识》.中国人民大学出版社,2002.3.何玉洁:《数据库原理与应用教程》.机械工业出版社,2003.4.刘 军:《数据库应用系统开发技术》.机械工业出版社,20035.申莉莉:《数据库系统与Access教程》.清华大学出版社,2003.6.彭 珲、罗 强:《VisualBasic程序设计教程》.清华大学出版社,2004.7.马 威:《Access2003实用培训教程》.清华大学出版社,2003.8.王 栋:《VisualBasic课程设计》.清华大学出版社,2004.9.王兴晶、伊立宏:《VisualBasic6.0应用编程150例》.电子工业出版社,2004.10.杨开英:《数据库系统概论》.武汉理工大学出版社2003.11.沈炜、杨世锡:《VisualBasic编程从基础到实践》.电子工业出版社,200612.卜玉坤:《大学计算机专业英语》.外语教学与研究出版社.2004