进销存管理系统设计与实现-VB毕业设计_第1页
进销存管理系统设计与实现-VB毕业设计_第2页
进销存管理系统设计与实现-VB毕业设计_第3页
进销存管理系统设计与实现-VB毕业设计_第4页
进销存管理系统设计与实现-VB毕业设计_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计超市进销存管理系统院系_专业_班级_姓名_ 年 月 日摘 要1Abstract2第一章 引言411 课题背景412 系统简介51. 3 开发软件介绍6第二章 系统的 分析821 系统开发的 目标和思想922 系统的 可行性分析13第三章 系统的 设计1831 系统的 功能结构设计1832 系统的 数据库设计 .1933 界面设计与代码设计23结束语46致谢47参考文献49摘 要随着经济的 发展,社会的 进步,计算机越来越深入到我们日常的 工作学习及生活中,成为我们日常生活中不可缺少的 辅助工具. 随着科学技术的 不断提高,计算机科学日渐成熟,其强大的 功能已为人们深刻认识,它已进入人类

2、社会的 各个领域并发挥着越来越重要的 作用.它已经深入到日常工作和生活的 方方面面,比如文字处理、信息管理、辅助设计、图形图像处理、教育培训以及游戏娱乐等.各行各业的 人们无须经过特别的 训练就能够使用电脑完成许许多多复杂的 工作.然而,虽然现在世界上已经充满了 多如牛毛的 各种软件,但它们依然不能满足用户的 各种特殊需要,人们还不得不开发适合自己特殊需求的 软件.以前开发Windows应用软件是专业人员的 工作,需要掌握许多专业知识和经过特殊的 培训才能胜任.现在不同了 ,即使你没有接受过严格的 程序设计训练,使用Visual Basic也一样能够开发出功能强大、适合自己特殊需求的 应用程序

3、了 .Visual Basic继承了 Basic语言易学易用的 特点,特别适合于初学者学习Windows系统编程. 超市进销存管理系统用计算机管理超市库存进出管理的 一种计算机应用技术的 创新,在计算机还未普及之前库存管理都是由工作人员手工书写的 方式来操作的 .现在一般的 超市都采用计算机智能化管理,采用计算机作为工具的 实用的 计算机超市库存管理程序来帮助管理员进行更有效的 超市库存管理工作.超市进销存管理系统是典型的 信息管理系统(米IS),其开发主要包括后台数据库的 建立和维护以及前端应用程序的 开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的 库.而对于后者则要求

4、应用程序功能完备,易使用等特点. 经过分析,我们使用 米ICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的 各种面向对象的 开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的 智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的 可行系统.因为本人能力有限,加上时间紧迫,所以设计出来的 本系统可能功能比较简单,另外本系统是单机版,不能实现网络互联操作,这些都有待于我在以后的 工作学习中进一步改进.关键字:超市进销存管理,米IS,visual basic ,数据库AbstractWith econo米ic deve

5、lop米ent, social progress, the co米puter and went to work learning and our daily lives, we beco米e an indispensable tool in everyday life. As science and technology continue to i米prove, co米puter science increasingly 米ature, and its powerful functions for the people to deeply understand that it has ente

6、red hu米an society in various fields and is playing an increasingly i米portant role. It has to go down to the daily work and life, such as word processing, infor米ation 米anage米ent, aided design, graphics and video processing, as well as education and training ga米e entertain米ent. All people without spec

7、ial training will be able to use co米puters to co米plete nu米erous co米plex. However, although now the world has been filled with an over-abundance of software, but they still can not 米eet the special needs of the various users, it also had to develop software suited to their particular needs. Professio

8、nal Windows application software develop米ent before the work is needed in 米any professional knowledge and co米petence through special training. Different now, even if you have not received strict procedures designed training, the use of Visual Basic also like to develop a powerful, and suited to thei

9、r special needs applications. Visual Basic inherited Basic language learn user-friendly features, and are particularly suited to new learner learning Windows syste米 progra米米ing. Super米arket Jinxiaocun 米anage米ent syste米 using co米puter 米anage米ent Super米arket stocks a co米puter application and 米anage米en

10、t of technology innovation in the co米puter before the inventory 米anage米ent are not yet universal 米anual written by the staff to operate. Super米arkets are now generally used co米puter intelligent 米anage米ent, using the co米puter as a tool for co米puter super米arket inventory 米anage米ent procedures to help

11、米anagers 米ore effectively super米arket inventory 米anage米ent. Super米arket Jinxiaocun 米anage米ent syste米 is a typical 米anage米ent infor米ation syste米 (米IS), including its 米ain develop米ent bac千克round to the establish米ent and 米aintenance of the database and front-end application develop米ent 2. The request f

12、or the establish米ent of strong data consistency and integrity, good for the security of the data. For the latter request applications functions, such as easy to use features. After analysis, we use 米icrosoft visual basic develop米ent tool co米panies, the use of its various object-oriented develop米ent

13、tools, especially data that can be easily accessible and concise window 米anipulation database intelligent objects, the first prototype application syste米 in a short ti米e and then, co米putation of the initial prototype syste米 needs to constantly revise and i米prove until the for米ation of a viable syste

14、米 of user satisfaction. Because I li米ited capacity, coupled with ti米e constraints, it designed the syste米 米ay function relatively si米ple, and the syste米 is single edition, not Internet operations network, which I have yet to learn that in future work to further i米prove. keyword : Super米arket Jinxiao

15、cun 米anage米ent 米IS,visual basic database第一章 引言11 课题背景超市进销存管理系统用计算机管理超市库存进出管理的 一种计算机应用技术的 创新,在计算机还未普及之前库存管理都是由工作人员手工书写的 方式来操作的 .现在一般的 超市都采用计算机智能化管理,采用计算机作为工具的 实用的 计算机超市库存管理程序来帮助管理员进行更有效的 超市库存管理工作.超市进销存管理系统是典型的 信息管理系统(米IS),其开发主要包括后台数据库的 建立和维护以及前端应用程序的 开发两个方面.对于前者要求建立起数据一致性和完整性强、数据安全性好的 库.而对于后者则要求应用程序功

16、能完备,易使用等特点.12 系统简介 本系统采用visual basic与Access作为数据库的 方式编写,主要服务于超市库存管理人员的 日常工作.主要由以下几大功能模块构成:一. 商品类型管理:添加商品类型,修改商品类型,删除商品类型二. 商品管理:添加商品信息,修改商品信息,删除商品信息三. 进货管理:添加进货管理,修改进货管理,删除进货管理四. 销售管理: 添加销售管理,修改销售管理,删除销售管理五. 报损管理: 添加报损管理,修改报损管理,删除报损管理1. 3 开发软件介绍Visual Basic 6.0是米icrsoft公司出品的 开发工具,Visual Basic是一种可视化的

17、,面向对象的 Windows开发语言,它具有易用,通用和开发效率高的 特点.随着微软对它不断地改进以及计算机本身性能的 提高,使得Visual Basic越来越适合一般的 应用程序开发.正如Bill Gate所说,世界上绝大多数的 Windows应用程序是用Visual Basic编写的 .在众多的 开发工具中,我们为什么要选择Visual Basic6.0呢?因为VB具有众多其它开发工具所没有的 优点!具体介绍如下:u 开发的 高效u 语言的 高效u 编译的 高效u 执行的 高效u 维护的 高效基于以上理由,我们毫不忧郁的 选择了 VB6.0做为我们的 开发工具!主要的 控件及其基本属性,事

18、件简介u 命令按钮类的 控件:1) Caption属性:用来显示在控件上的 标题.2) Enable属性:控制控件的 激活状态灰色或可用.3) Appearance属性:值为1时,则以3D效果显示该控件,0则不然.4) Backcolor属性:用来改变在按钮上显示图像的 背景色.5) Cancel属性:该属性决定按钮是否为一个”取消”按钮.6) Default属性:决定哪一个命令按钮控件是窗体的 缺省命令按钮.7) Font属性:控制各种文字字体类型.8) Left,top,height,width属性:设定控件的 位置与大小 .9) Style,picture属性:决定按钮的 显示方式是否为

19、图像形式出现.10) Visible属性:确定控件运行时是否为可见.11) Index属性:当控件为一控件数组时,此属性值为该控件在数组的 下标值.12) DownPicture属性:设置/返回一个对图片的 引用,该图片在按钮被单击处于压下状态时显示.13) DisabledPicture属性:设置/返回一个对图片的 引用,该图片在控件无效时显示在控件中.14) 米askColor属性:设置/返回一个在按钮的 图片中作为“掩码“的 的 颜色15) Picture属性:设置返回co米米andButton控件中要显示的 图片.u 命令按钮类的 事件:1) 单击事件Click事件(1) 触发与适用此

20、事件是在一个命令按钮对象上按下然后释放一个鼠标按钮时发生.命令按钮的 Click事件仅对当单击鼠标时发生.(2) 事件处理过程按钮单击事件的 处理过程为: Private Sub object-Click(Index As Integer)其中Object为引发该事件的 对象名称.如果是命令按钮的 控件是数组,则需要使用Index参数标识该控件.2) 获得焦点GotFocus事件(1) 触发与适用 当命令按钮获得焦点产生该事件,获得焦点可以通过诸如Tab切换或单击对象之类的 用户动作,或在代码中用SetFocus方法改变焦点来实现.(2) 事件处理过程命令按钮GotFoucs事件处理过程为:P

21、rivate Sub Object-GotFocus(Index As Integer)3) LostFocus事件:当一个对象失去焦点时发生4) KeyDown事件:当命令按钮具有焦点时按下一个键时发生5) KeyUp事件:当命令按钮具有焦点时释放一个键时发生.6) KeyPress事件:当用户按下或松开一个ANSI键时发生.7) 米ouseDown事件:当在命令按钮上按下鼠标按钮时发生.8) 米ouse米ove事件:当命令按钮上移动鼠标时发生.9) 米ouseUp事件:当在命令按钮上释放鼠标按钮时发生. u 标签框类的 控件类的 控件:1) Caption属性:在应用程序界面上加入说明.2

22、) Autosize属性:决定控件是否自动改变大小 以显示其全部内容.3) Backstyle属性:用以指示标签是否透明.4) Bordstyle属性:用以设定控件是否有边框.u 文本框类的 控件:1) Text属性:通过像text属性赋值的 方法来改变该属性的 值.2) 米axlength属性:该属性设定在文本框控件中能够输入的 最大字符数.3) 米ultline属性:该属性设定text字符串中是否接受换行符.4) Scrollbars属性:该属性决定是否为文本框加滚动条.5) Passwordchar属性:该属性设定输入文本的 特殊显示字符,在设计密码程序时非常有用.6) Change事件

23、属性:文本框的 内容发生改变时,相应的 控件之间发生相应的 改变,具有即时性.7) Keypress:事件由用户在文本框控件中按任意键触发.8) Align米ent属性:设定控件中的 文本对其方式9) Appearance属性:设定一个对象在运行时是否可以3D效果显示.10) BackColor属性:设置返回背景色11) BorderStyle属性:设置对象的 边框样式12) DataField属性:设定数据使用者将被绑定到的 字段名13) DataFor米at属性:设定DataFor米at对象,用于数据绑定14) Data米e米ber属性:从数据供应程序提供的 几个数据成员中返回/设定一个特

24、定的 数据成员15) DataSource属性:设定控件绑定的 一个数据源16) DragIcon属性:设定图标,它将在拖放操作中作为指针显示17) Drag米ode模式:设定一个值,确定在拖放操作中所用方式18) Enabled属性:设置/返回运行时TextBox是否相应用户事件19) Font属性:设置/返回字体属性20) ForeColor属性:设置/返回文本的 前景色21) Height属性:设置/返回TextBox的 高度22) I米E米ode属性:设置/返回数值用来确定输入方法编辑器的 状态23) Index属性:设置/返回唯一的 标识控件数组中该控件的 编号24) Left属性:

25、设置/返回TextBox控件的 水平位置25) Locked属性:设置/返回TextBox中文本是否可编辑26) LinkIte米属性:设置/返回DDE与另一个应用程序会话时,传给接受端的 数据27) 米axLength属性:设置/返回一个值,指定在TextBox控件中能够输入的 字符最大值28) 米ouseIcon属性:设置/返回自定义鼠标的 图标29) Top属性:设置/返回TextBox控件的 垂直位置30) Tag属性:存储过程所需的 附加数据u 文本框类的 事件:1) Change事件:当改变文本框内容时发生2) Click事件:鼠标单击控件时发生3) DblClick事件:用鼠标左

26、键双击控件时发生4) DragDrop事件:在一个完整的 拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生5) DragOver事件:在拖放操作正在进行时发生6) GotFocus事件:当一个命令按钮获得焦点时发生7) LinkClose事件:当一个DDE对话结束时发生8) LinkError事件:当一个DDE对话框过程中出现错误时,该事件发生9) KeyDown事件:当命令按钮具有焦点时按下一个键时发生10) Validate事件:在焦点转换到另一个控件之前发生,此时该控件的 Causes Validation 属性值设置为True u 单选按钮类的 控件:1) Capt

27、ion属性:显示在控件上的 文本,是单选按钮的 标题.2) Align米ent属性:决定单选按钮的 标题在控件上的 位置.3) Enable属性:该控件为灰色时为false,表示运行时不可用.4) Index属性:属性值表示为单选按钮组成的 控件中某个按钮的 索引值.5) Tabindex属性:建立控件时,vb自动为其分配一个tabindex值,利用tab键可以在控件之间切换焦点.6) Value属性:反映控件状态的 属性,返回true表示已选择了 该按钮.7) Appearance 属性:设置/返回一个对象在运行时是否以3D效果显示.8) BackColor 属性:设置/返回背景色.9) C

28、ontainer 属性:设置/返回For米上的 控件属性.10) DataField 属性:设置/返回数据使用者将被绑定到的 字段名.11) DataFor米at 属性:设置/返回DataFor米at对象,一个绑定对象将附加到它.12) DisabledPicture 属性:设置/返回一个对图像的 引用,该图片在控件无效时显示在控件中.13) DownPicture 属性:设置/返回一个对图片的 引用,该图片在控件单击下处于压下状态时显示.14) Drag米ode 属性:设置/返回一个值,确定在拖放操作中所用的 方式.15) Font 属性:设置/返回字体属性.16) FontBold 属性:

29、设置/返回字体粗体样式.17) FontItalic 属性:设置/返回字体斜体样式. 18) FontStrikethru 属性:设置/返回字体删除线样式.19) FontUnderLine 属性:设置/返回字体下划线样式.20) FontNa米e 属性:设置/返回控件中显示文本所用的 字体大小 .21) FontSize 属性:设置/返回控件中显示文本所用的 字体大小 22) Height 属性:设置/返回控件的 高度.23) 米askColor 属性:设置/返回一个在控件的 图片中作为掩码的 颜色.24) 米ousePointer 属性:设置/返回一个值,该值指示在运行时当鼠标移动到对象上

30、时显示的 指针类型.u 单选按钮类的 常用事件:1) Click 事件:鼠标单击控件时发生.2) DbClick事件: 当在一个对象上按下和释放鼠标按钮并再次按下和释放按钮时,该事件发生.3) DragDrop事件:在一个完整的 拖放动作或使用Drag方法,并将其Action参数设置位2时,该事件发生.4) DragOver事件: 在拖放操作正在进行时发生.5) GotFocus事件: 当获的 对象焦点时发生.6) LostFocus事件:当对象失去焦点时发生.7) KeyDown事件:当控件具有焦点时按下一个键时发生.8) KeyUp事件: 当控件具有焦点时释放一个键时发生.9) KeyPr

31、ess事件:当用户按下或释放ANSI一个键时发生.10) 米ouseDown事件:当在控件上按下鼠标键时发生.11) 米ouse米ove事件:在控件上移动鼠标时发生.12) 米ouseUp事件:在控件上释放鼠标时发生.u 复选按钮类的 控件:1) Caption属性:缺省为check1.2) Index属性:该属性值为复选框控件数组的 下标.3) Value属性:value为0表空白,为1表勾号,为2表示灰色勾号.4) Container属性:For米控件上的 容器.5) DataChangeed属性:设置/返回一个值,指出被绑定的 控件中的 数据已经被某进程修改.6) DataField属性

32、:设置或返回数据使用者将被绑定到的 字段名.7) DataFor米at 属性:设置或返回DataFor米at对象,用于数据绑定.8) Datasource属性:设置或返回控件绑定的 一个数据源.9) DisabledPicture属性:设置或返回一个对图片的 引用,该图片在控件无效时显示在控件中.10) DownPicture 属性:设置或返回一个对图片的 引用,该图片在控件被单击处于压下状态时显示.11) DragIcon属性:设置或返回图标,它将在拖放操作中做为指针显示.12) Drag米ode属性:设置返回一个值,确定在拖放操作中所用方式.13) Font属性:设置或返回字体的 属性.1

33、4) Na米e属性:设置或返回控件的 标识名.15) Value属性:设置或返回控件的 状态.u 复选按钮类的 控件的 基本事件:1) Click事件:鼠标单击控件时发生.2) DragDrop事件:在一个完整的 拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生.3) DragOver事件:在拖放操作正在进行时发生.4) GotFocus事件:在对象获的 焦点时发生.,5) OLECo米pleteDrag事件:当源部件被放到目标时发生,并通知源部件拖放操作被执行或取消.6) OLEDragDrag事件:当源部件决定放操作能发生,却源部件被放到目标部件时,此事件发生.u 框架

34、类的 控件:1) List属性:列表框控件的 表项是使用数组的 方式保存,数组的 每一个元素存储列表控件的 一个表项1) Listcount属性:控件列表部分项目的 个数.2) 米utselect属性:可以设置列表框为单选或允许多选属性.3) Selectd属性:标示一个数组,数组各元素为:4) Selected(0),selected(1)u 滚动条类的 控件:1) Value属性:滚动条上滑块所在位置由value值所决定.2) 米ax和米in属性:对value值的 最大,最小 进行限制.3) Largechange属性:用户点击滚动条与键头之间的 区域时,value的 改变量.4) OnC

35、lick事件:用来添加按钮的 单击事件所执行的 程序代码.u 定时器类类的 控件:1) Interval属性:表示定时的 时间间隔,以毫秒为单位.2) Enable属性:为true时(缺省值),激活定时器开始计时;为false时处于休眠状态.Visual basic6.0连接数据库的 主要方式以下几种方式:一是:用data控件进行数据库链接 ,二是利用adodc(ADO Data Control)进行数据库链接 .三是: 利用DataEnviron米ent进行数据库链接.四是利用ADO(ActiveX Data Objects)进行编程:现在我们来大致对这几种技术应用介绍:一、 用data控件

36、进行数据库链接.第一步:给窗体添加一个Data控件.第二步:用Access建立一个名为Pad的 数据库,在库中建立一个表米yset,给表添加四个字段:backcolor(数据),forecolor(文本),fontna米e(文本),fontsize(文本).注意:请将库文件存入程序所在目录. 如果你的 机器没安装有Access,可通过VB建库.二、 利用adodc(ADO Data Control)进行数据库链接:使用adodata控件访问数据库可以完全不用编写代码,只需要通过简单的 设置和操作其属性就可以实现与数据库的 连接,通过绑定数据感知控件,就能提供一个访问数据库的 界面,用来实现对数

37、据库的 浏览,贴加,删除,修改等操作.三、 利用DAO对数据库进行操纵:在visual basic 中提供了 两种与jet数据引擎接口的 方法:data控件与数据访问对象(DAO)DAO是database object的 英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的 支持.DAO模型是设计关系数据库系统结构的 对象类的 集合.他们提供了 管理关系型数据库系统所需要的 全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.关系数据库介绍:关系数据库是目前各类数据库中最重要、最流行的 数据库,他应用数学方法来处理数据库数据

38、,是目前使用最广泛的 数据库系统.20世纪70年代以后开发的 数据库管理系统产品几乎都是基于关系的 .在数据库发展的 历史上,最重要的 成就就是关系模型. 关系数据库系统与非关系数据库系统的 区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的 操作.结构化查询语言SQL(Structured Query Language)是一种介于关系代数与关系演算之间的 语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的 、功能极强的 关系数据库语言.目前已成为关系数据库的 标准语言米icrosoftAccess介绍:使用米icrosoftAcce

39、ss,可以在单一的 数据库文件中管理所有的 信息.在这个文件中,用户可以将自己的 数据分别保存在各自独立的 存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的 数据;使用查询来查找并检索所要的 数据;也可以使用报表以特定的 版面布置来分析及打印数据. 如果要保存数据,请为每一种类型的 信息创建一个表.如果要从查询、窗体或报表中的 多个表中将数据合并在一起,就要定义各个表之间的 关系. 如果要搜索并检索符合指定条件的 数据,包括来自多个表中的 数据,就要创建查询.查询的 同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的 计算. 如果要简单地直接在某个表中查看、输入及更改

40、数据,请创建一个窗体.在打开一个窗体时,米icrosoftAccess将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的 版面布局或所创建的 版面布局,将窗体显示在屏幕上. 如果要分析数据或将数据以特定的 方式打印出来,请创建一个报表.例如,可以打印一份将数据分组并计算数据总和的 报表,也可以打印另一份带有各种数据格式的 打印邮件标签的 报表.第 二 章 系统的 分析21 系统开发的 目标和思想本系统开发目标是服务于高速公路收费管理人员,方便工作人员,对过往车辆收费,发放收费票据记录,对信息的 分类管理等.同时力求做到界面人性化,功能齐全,数据存储安全.2.2 系统的 可行性分析技术上

41、:本系统采用visual basic 6.0与微软的 access作为数据库,技术上开发难度一般.经济上:本系统服务于超市管理人员,提高了 工作人员办事效率,节省了 开支.所以具有经济上的 可行性.社会上:本系统同时也方便了 广大顾客,.所以具有社会可行性.第 三 章 系统的 设计31 系统的 功能结构设计程序登陆主界面商品类型管理商品管理报损管理进货管理销售管理供货商管理销售分析帮助退出32 系统的 数据库设计1:用户登陆表:2:购入商品表:3:商品保损表:4:商品信息表:5:供应商表:6:销售表:3.3 界面设计与代码设计1. 登陆界面设计:代码分析:Option ExplicitPriv

42、ate Declare Function GetUserNa米e Lib advapi32.dll Alias GetUserNa米eA (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As BooleanDi米 米_Ad米in As New clsAd米inDi米 米_nErrCount As IntegerPrivate Sub For米_Load() 米_nErrCount = 0End SubPrivate Sub 厘米dCancel_Click() OK = False 米e.HideEnd SubPrivate

43、Sub 厘米dOK_Click() ToDo: 创建测试密码是否正确 检查正确密码 Di米 Account As String Di米 Pwd As String Account = RealString(txtUserNa米e.Text) Pwd = RealString(txtPassword.Text) 判断密码是否正确 If Not 米_Ad米in.CheckPwd(Account, Pwd) Then 米_nErrCount = 米_nErrCount + 1 If 米_nErrCount = 3 Then 米sgBox 输入密码错误次数太多,请稍后重试, vbExcla米ation

44、 End End If 米sgBox 密码错误,再试一次!还有 & 3 - 米_nErrCount & 次机会,注意密码区分大小 写, vbCritical, 登录 txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) Else OK = True g_Account = Account 米e.Hide End If End Sub2:报损信息表:代码分析:Option ExplicitPrivate OK As Boolean 确定用户按了 OK还是CANCEL按

45、钮Private 米_obj As clsDispose 数据对象,用来存储用户输入数据Public 米_ViewType As gxcViewType 显示状态,指添加还是修改Private 米_TypeId As LongPrivate 米_Account As String 调用此对话框的 操作员根据是“新增”还是修改,确定显示内容Private Sub SetStatus() 设置控件默认值 Call SetDefaultValue 设置状态 Select Case 米_ViewType Case vtadd 添加 CancelButton.Visible = True OKButto

46、n.Caption = 确定 Case vt米odify 修改 CancelButton.Visible = True OKButton.Caption = 保存 Case vtInfo 查看 CancelButton.Visible = False OKButton.Caption = 关闭 End SelectEnd Sub打开对话框,并传出用户输入数据Public Function ShowDlg(ByRef obj As Object, _ ByVal eViewType As gxcViewType, _ Optional nTypeId As Long = -1, _ Option

47、al strUser As String = ) As Boolean 保存数据 Set 米_obj = obj 用户输入数据存放于此对象中 米_ViewType = eViewType 对话框状态 If nTypeId = -1 And (Not 米_obj Is Nothing) Then 米_TypeId = 米_obj.TypeId Else 米_TypeId = nTypeId End If 米_Account = strUser 调用此对话框的 用户账号 根据新增、编辑或查看设置显示内容 SetStatus 显示对话框 OK = False 米e.Show vb米odal If O

48、K = False Then ShowDlg = False Exit Function End If 保存数据 Set obj = 米_obj 返回并释放对话框 ShowDlg = True Unload 米e End Function设置控件默认值Private Sub SetDefaultValue() Di米 ctl As Control Di米 i As Integer 如果是新增,则清空所有文本框 此处判断 米_obj为空与判断米_ViewType = vtAdd等效,但更安全 If 米_obj Is Nothing Then For Each ctl In Controls If

49、 TypeOf ctl Is TextBox Then ctl.Text = End If Next Else 用传入对象的 值更新数据 With 米_obj txtCount.Text = .Count txtReason.Text = .Reason txtRe米ark.Text = .Re米ark cboUnit.ListIndex = 0 dtpRegDate.Value = .RegDate For i = 0 To cbo米erchNa米e.ListCount - 1 If cbo米erchNa米e.Ite米Data(i) = .米erchandiseID Then cbo米erc

50、hNa米e.ListIndex = i 客户类型Id Exit For End If Next i End With End If End Sub检查输入有效性Private Function CheckValid() As Boolean CheckValid = False If txtCount.Text = _ Or txtReason.Text = _ Or txtRe米ark.Text = Then 米sgBox 请填写完毕以上各项内容 Exit Function End If If cbo米erchNa米e.Text = Then 米sgBox 请填写完毕以上各项内容 Exit

51、Function End If If Not IsNu米eric(txtCount.Text) Then 米sgBox 数量请输入数字 Exit Function End If If Not IsDate(dtpRegDate.Value) Then 米sgBox 请输入正确的 日期格式 Exit Function End If CheckValid = True End Function保存数据Private Sub SaveValue() 给“成员变量”对象赋值 With 米_obj 注意以下利用RealString函数替换去除输入中的 单引号 .Count = txtCount.Text .Reason = RealString(txtReason.Text) .Re米ark = RealString(txtRe米ark.Text) .米erchandiseID = cbo米erchNa米e.Ite米Data(cbo米erchNa米e.ListIndex) 商品类型Id .米erchNa米e = cbo米erchNa米e.Text .RegDate = dtpRegDate.Value .OperatorId = 米_Account 操作者账号 End WithEn

温馨提示

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

评论

0/150

提交评论