公司仓库管理系统_第1页
公司仓库管理系统_第2页
公司仓库管理系统_第3页
公司仓库管理系统_第4页
公司仓库管理系统_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

公司仓库管理系统

第一章公司介绍与系统的需求分析

1.1公司简介

佳雪公司是一个专销电动机的公司,主要业务是进行电动机的进货与分销,作为一个销售的中介公司,

其要求有入库与出库的主要数据库,可以简单的记录数据■,并且可以进行多方面的查询,使得公司有较详细

的数据统计与分析。

其主要业务如以下图所示:

2.查询功能

1)按型号查询

有两个结果:A生成入库量、出库量、节余量

B生成两个数据来源表,包括出库来源与入库来源;

2)按单位查询

结果:生成型号、产品名称、时间(入/出库)、单价

再生成出入库的两个基本情况表,包括供应商和顾客的基本情况,如型号、出/入库时间,单价,

发票编号、结帐情况;

3.本系统主要运用VisualBasic的内嵌数据库Access来记录数据;

4.产品信息:

序号(自动生成)、型号(文本)、入库时间(日期)、出库时间(日期)、数量(数字)、发票

编号(文本)、单价(货币)、厂商名称(文本)、供应商名称(文本)、厂商与供应商的电话(数字)、结帐情

况(是/否)[是为0,否为-1]

1.2分析与描述

一.根据1.1章节的具体要求,总结出以下的数据流程:

图121数据流程

第1页共17页

二.根据以上情况,按要求设计了几个相关的数据库

表:出库、入库

查询:查询结余、出库查询、入库查询、型号出库查询、型号入库查询

•主要的出库表属性如以下表所示:

字段名属性字段大小

序号自动生成长整型

型号文本50

产品名称文本50

出库数最数字K整型

单价货币自动小数

出库时间日期年-月-日

发票编号文本50

顾客电话文本50

结帐情况是/否2

表1.2.1

•由于入库表与出库想类似,所以在此不做详细介绍。

•为了方便查询,因此在出库与入库的基础上增加了几个查询表,具体字段如下:

1.查询结余:型号、产品名称、出库数量、入库数量

2.出库查询:顾客名称、型号、出库时间、单价、出库数量OFSUM、发票编号、结帐情况

3.入库查询:供应商名称、型号、入库时间、单价、入库数量OFSUM、发票编号、结帐情况

4.出库型号查询:型号、产品名称、顾客名称、单价、发票编号、结帐情况

入库型号查询:型号、产品名称、供应商名称、单价、发票编号、结帐情况

1.3数据库的主要特点

♦数据库中的每一个表都必须符合下面几个特征:

*表中的每一个单元的内容只有一个值

*所有字段的名称都不相同

*记录的前后次序和字段的左石次序可以变化,不受限制

*数据库中的表的上下次序不受限制

*表中不应有内容完全相同的记录

辛表中的每一个字段都必须有相同的数据类型

使用VisualBasic开发应用程序的两个主要思想:

*可视设计

*事件驱动编程

VisualBasic应用程序不同于其他语言开发的单一性程序。使用VisualBasic编程时,必须首先确定应用

第2页共17页

程序如何与用户交互,如鼠标单击,用户必须编写代码控制这些事件的响应方法。

使用VisualBasic开发数据库应用程序的一般步骤如下所示:

(1)建立数据库

(2)建立用户界面

(3)编写代码

(4)调试运行

(5)编译应用程序

(6)发布应用程序

界面设计

(1)控件的位置

(2)界面元素的一致性

(3)保持界面的简明

(4)使用颜色和图象:增加视觉的感染力

(5)图象和图标:增加应用程序的视觉上的趣味

(6)选取字体

VisualBasic应用程序的结构:

由于VisualBasic应用程序是基于对象的,所以应用程序的代码结构就是该程序在屏幕上物理表示的模型。

根据定义,对象包含数据和代码。在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内在特性。

本设计主要是运用Data控件。

Data控件主要是打开、访问并操作已有的数据库,它是VisualBasic访问数据库的最常用的工具之一。

由于Data控件使用Microsoft的Jet引擎来实现数据访问(与MicrosoftAccess所用的数据库引擎相同),使用

户可以无缝地访问很多标准的数据库格式,而且无需编写任何代码就可以创建数据应用程序,因此这种Visual

Basic内部的Data控件最合适小的(桌面)数据库,诸如Access和ISAM数据库等。

由于Data控件是VisualBasic的内部控件,因此可以直接在标准工具箱中找到该控件。

在程序运行过程中,只要用鼠标单击控件上的箭头按钮,系统将自动修改Data控件指向的记录和显示

在约束控件中的数据,而不需要编写任何代码。

可以将多个Data控件同时添加到一个工程甚至是同一个窗体中。另外,每个控件可以连接到不同的数

据库或同一个数据库的不同表上,还可以和代码一起查询满足的语句的表的记录集。

使用Data控件可以显示、编辑和更新来字各种已有的数据库信息。此外,还可以访问和操作远程的开

放式数据库连接。

除了使用Da【a控件之外,还运用的VisualBasic6.0的新增控件功能,Dblistbox它不象标准的列表框或

组合框那样需要使用Additem方法添加列表项。另外,它们还可以有选择地把某个选定的字段传递给另一个

Data控件,使得它对于“查找表”应用程序很理想。

第3页共17页

与其他的约束控件不同,这些控件可以同时显示多个记录。约束数据列表控件类似于普通的列表框控件,

可以显示记录集中的数据,网格中的每一行代表记录集中的一个记录。

第二章管理系统的设计与分析

2.1进入界面

•由于系统的的界面比较单一,因此在设计过程中运用了许多网上下载的图片来增添界面的可观性。

・在考虑到操作员的技术水平有限,因此在控件方面只运,书了COMMAND,这样不仅能是界面清楚,更能

是操作者很快学会,简单易懂。

・图2.1.1是进入本系统的状态图,单击“确定”可以进入界面,如按“系统信息”的话,将显示本系统的具体

软硬件情况。

图2.1.1

当图2.1.1中的“确定”按钮被激活时,将进入图2.L3的屏幕,界面的图片是图片引入的,接着将进入正

式的编辑或查询状态。

具体的系统情况如图2.1.2所示:

第4页共17页

图2.1.2

图2.1.3

2.2入库界面

查询I

・当激活入库按钮时将出现以下的界面(图221)

第5页共17页

图2.2.1

序号入库时间

型号

发票编号|c0980

产品名称

供应商名称

数量

电话

单价

结帐情况|----1

iwa与।睚।

修改I取消I

删除IjkJ

・入库窗体(图2.2.1)及其各个控件的主要属性

控件类控件名主要属性

FormFrmrsglC叩tion="入庠情况”

DataDatalDatabasename-ldb2.mdbdb2.mdb,'

Recordsettype=l'Dynaset

Caption="入库情况”

CommandDialogCommand1Caption="上一个”

Command2Caption="下一个”

CommandsCaption="确定”

Command4Caption—取消”

Command5Caption="退出”

Conmand6Captioo="增加”

Command7Caption-'修改”

CommandsC叩tion="删除”

Lable1Caption="序号”

Lable2Caption="型号”

LableLable3Caption="产品名称”

Lable4Caption-'数量”

Lable5Caption="单价”

Lable6Caption="入库时间”

Lable7Caplion="发票名称”

Lab!e8Caption="供应商名称“

Lable9Caption—'电话”

Lable10Caption="结帐情况”

TextTextlCaption="序号"Datasource="dataV'

第6页共17页

Tcxt2Caption="型号”Datasource="data1”

Text3Caption="产品名称"Datasource="data1”

Text4Caption="数量"Datasource—data1”

Text5Caption-t$fO,,,Datasourcc-'data1”

Tcxt6Capt沁n="入库时间”Datasource="data1”

Text7C叩tion="发票名称"Datasource="data1”

Text8Caption="供应商名称"Datasource="data1”

Tcxt9Caption="电话"Datasource="data1”

Text10Caption="结帐情况"Datasource="data1',

表221

•控件说明

>增加新记录

当单击“确定”按钮后,“确定”和“取消”两个按钮显示,同时使其他的按钮不可见,

这样做是为了防止用户的误操作。

其主要程序如下:

PrivateSubCommand5click()

xg-True

’显示“确定”和“取消”两个按钮

Commands.Visible=True

Command4.Visible=True

,取消其他按钮功能

Command5.Enabled=False

Command6.Enablcd=False

Command?.Enabled=False

Commands.Enabled=False

Command1.Enabled=False

Command?.Enabled=False

Data1.Recordset.AddNcw,添加一个新记录

Textl.SetFocus,光标在TEXT1处

endsub

>修改记录

在调用EDIT方法之前,约束控件中的数据是只读的,用户无法对其进行修改。调用了EDIT方法后,用户可

以在约束控件中修改记录的值。如果在对当前记录进行修改之前修改,未使用EDIT方法,将发生运行时错

误。

其主要程序如下:

PrivateSubCommand6click()

xg=True

Command3.Enabled=True

Command4Enabled=Tme

第7页共17页

,取消其他按钮功能

Command5,Enabled=False

Command6.Enabled=False

Command?.Enabled=False

Commands.Enabled=False

Command1.Enabled=False

Command?.Enabled=False

对记录进行编辑

Datal.Recordset.Edit

Text!.SetFocus

EndSub

>删除记录

当用户单击“删除''命令按钮时,为了防止用户误删除数据,程序将调用Msgbox()函数以弹出对话框,询问

用户是否真的要删除该记录。如果用户单击对话框上的“确定”按钮,程序调用记录集的Delete方法,将记录

集的当前记录设置为空,并从原始的表中删掉当前记录。但是删除的记录仍然是当前记录,只是将其变为了

无效的记录,任何对其的引用都会产生错误。

其主要程序如下:

PrivateSubCommand6_Click()

xg-True

Command3,Enabled=True

Command4.Enabled=True

’取消其他按钮功能

Command5.Enabled=False

Command6.Enabled=False

Command?.Enabled=False

Commands.Enabled=False

Command1,Enabled=False

Command?.Enabled=False

'对记录进行编辑

Data1.Recordset.Edit

Text1.SetFocus

EndSub

PrivateSubCommand7_Click()

ss=MsgBox("真的要删除吗?",vbYesNo+vblnfbrmation,"删除记录")

,如果要删除

If(ss=vbYes)Then

Data1.Recordset.Delete

Data1.Recordset.MoveNext

IfDatal.Rccordsct.EOFThen

Data!.Recordset.MoveLast

Command2.Enabled=False

EndIf

EndIf

EndSub

第8页共17页

>移动数据

当用户单击“上一个”和“下一个‘按钮是,系统将自动转换数据,但注意,当移至第一个记录时,“下一个”按钮

将失效;移至最后一个记录是,“上一个”按钮也将失效。

其中在设计程序时,为了防止“NOCurrentRecord”这样的错误,在移动记录指针时测试记录集的BOF和EOF

属性。如果单击“上一个”和“下一个”命令按钮将导致记录指针指向空指针,则分别调用Movefirst^11Movelast

方法,这是防止"NOCurrentRecord”错误出现的最简单和最有效的方法。与此同时,如果记录集的BOF属性

为True,则置“上一个”命令按钮为非激活状态,是用户无法再单击该按钮。同样,当记录集的BOF属性为True

时,置“下一个”命令按钮为非激活状态。

其主要程序如下:

PrivateSubCommand1_Click()

xg=False

Datal.Recordset.MovePrevious

'如果是第一个记录,BOF属性为TRUE

IfDatal.Recordset.BOFThen

Datal.Recordset.MoveFirst

Command1.Enabled=False

Else

Command2.Enabled=Tnic

Command1.Enabled=True

EndIf

EndSub

PrivateSubCommand2_Click()

xg=False

Datal.Recordset.MovePrevious

'如果当前记录是记录集中最后一个记录,EOF属性为TRUE

IfDataI.Recordset.BOFThen

Data1.Recordset.MoveLast

Command?.Enabled=False

Else

Command2.Enabled=True

Command1.Enabled=True

EndIf

EndSub

A用Updata方法确认增加和修改

当用户修改和增加完一个记录的数据后,需要将数据保存到数据库中。可以通过调用记录集的Updata方法把

数据保存到数据库中。单击“确定”按钮时,记录将被记如数据库。

其主要程序如下:

PrivateSubCommand3_Click()

OnErrorGoToerror1

xg=True

Datal.Recordset.Update

Commands.Enabled=False

Command4.Enabled=False

第9页共17页

Command?.Enabled=True

Command1.Enabled=Tnie

Command4.Enabled=True

Command5,Enabled=Tnie

Command6.Enabled=True

Command?.Enabled=True

Commands.Enabled=True

ExitSub

error1:MsgBoxErr.Description.vbOKOnly,"错误提示"

EndSub

A用CancclUpdata方法放弃增加和修改

如果用户修改了约束控件里的数据后,在没有单击“确定”命令按钮之前,想放弃刚才的增加或修改,则可以

单击“取消”命令。

由于•其程序与Updata方法相似,因此不做重复解释。

A定义Data_Validata事件过程

对于一个新记录或编辑的记录,如果不能维护引用完整性或不能反映该旧路的实体原型,那么它就是无效的,

并且破坏了数据库的完整性。为了在“入库情况”表中建立一个有效的记录,就必须要有主关键字段“型号”的

值。因此,对已经存在和新增加的旧路都要先测试其“型号”字段之后才可以执行更新操作。

其主要程序如下:

当约束控件中内容改变时

IfText2.DataChangedThen

Save=Tnie

IfDataI.Recordset.RecordCount>IThen

Command1.Enabled=True

Command?.Enabled=True

EndIf

Else

IfText2.Text=H"Andxg=TrueThen

ss=MsgBox("必须要有,型号,!”,vbOKOnly+vblnfbrmation,”提示”)

Action=False

Command3.Visible=True

Command4.Visible=True

Command1.Visible=Tnie

Coimnand2.Visible=True

Command?.Visible=True

Commands.Visible=Tnie

Commands.Visible=Tnie

Command6.Visible=True

EndIf

EndIf

IfAction=dataactionunloadOrAction=dataactioncloseThen

Save=True

EndIf

第10页共17页

EndSub

2.3出库界面

当单击“出库”按钮的时候,系统将进入出库信息输入界面,如(图231)所示,其基本情况与入库相类似,

依次不做具体介绍。

图2.3.1

2.4查询界面

序号[1----------出库时间

型号|yy636.单价

产品名际|小电动顾客名称|上海电动机

数量|小电动’电话

发票编号忸丽------结帐情况

二:想加二二I上一个|

修改|

删除|下一个|

•当用户单击“查询”按钮时,系统将出现密码登陆框,因为查询的是内部资料r因此,需身份验证,如图

2.4.1

图241

•随后将进入查询功能,如图242

图2.4.2

・用户可根据不同需要进行“按型号”和“按单位”的查询。

单击“按型号”,系统将进入以型号为关键字段的查询,如图243。其中根据5QL语句的查询,选出出库型号

第11页共17页

与入库型号相同的记录,统计出入库与出库的总数量,然后可按“上一个〃和“下一个''进行杳询,也可按出库与

入库分别查询记录。

图2.4.3

>当用户单击“查询出库''按钮是,系统进入界面,如图244

退出|

图2.4.4

•图244窗体及其上面控件的属性设置

控件类型控件名主要属性

FormfrmdblistCaption="查询出库”

DataDatalDatabascNamc="a:\db2.mdb”

RecordsetType=1

RccordSourcc-u出库型号”

FrameFrame1Caption="具体情况”

LableLable1Cqption=”产品名称”

Lable2Cqption="单价”

Lable?Cqption="发票编号”

Lable4Cqption="顾客名称”

Lable5Cqption="结帐情况”

TextTextlDatafield="具体情况”

Datasource-4Data1”

第12页共17页

Text2Datafield="具体情况”

Datasource-*Data1”

Tcxt3Dataficld="具体情况”

Datasource=**Data1”

Text4Data行eld廿具体情况”

Datasourcc-4Data1”

Text5Datafield="具体情况”

Datasource-*Data1”

DBlistDblistlListfield="型号”

Rowsource=',Data1”

表2.4.1

>单击Dblist框中的型号,Frame中将自动显示记录,以供用户查询。

・当用户单击“杳询入库”按钮时,将出现图245的界面。

图245

清选接型W

退出|

再回到查询界面,单击"按单位"按钮,此时系统将进入按单位查询的截面,如图2.4.6

r-…一嘘―――

退出|________供应商________

图2.4.6

>分别按“顾客”和“供应商”按钮,系统将分别进入不同的查询界面,如图2.4.7和图248

第13页共17页

由于以下两个窗口的属性以及其设计方法类似与图4.3,因此也不做详细介绍。

图247

图2.4.8

话选择顾客名称

杭州电动广

苧波电动机厂

宁波电动机厂

上海电动机厂

上海电动机厂

浙江电动机厂

浙江电动机厂

退出

2.5退出程序

话选择供应商名称型号

入库时间

香岛电动机厂

厦门电动机厂

单价

厦门电动机厂

入库数量

发票编号

结帐情况

退出1

・再回到登陆主窗口,(图2.1.3),单击“退出”按钮,系统将退出程序,显示以下窗口(图251),单击图

中的“再见”,此程序也将结束。

温馨提示

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

最新文档

评论

0/150

提交评论