版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库原理与应用实训指导书交通信息学院2011.09 库存管理系统传统的库存管理,一批产品从入库到出库,要经过多个环节,而且具有如下几个弊端:手工处理入库、出库造成产品供应效率低,影响企业发展;手工完成大量的入库、出库和库存统计,造成库存产品汇总困难,使库存结构难以掌握;仓库与管理部门之间信息交流少,造成库存积压,使资金周转缓慢。建立计算机化的库存管理系统可以对解决这些问题提供有效地帮助。一、数据库设计根据库存管理系统分析,库存管理系统处理的数据涉及的表有入库表、出库表、库存表以及商品信息等。要使所有表既无数据冗余,又无传递依赖,可将库存管理系统数据库定义为5张表,分别为商品入库表、商品出库表
2、、库存表、商品信息表和仓库表。各表结构如下:表1 商品入库表字段名称字段类型长度允许空值备注入库ID数字长整型必填主键入库日期日期/时间长日期商品代码文本20必填入库数量数字长整型必填单位文本4组合框仓库文本10组合框标志文本1入库数量修改差数字长整型表2 商品出库表字 段 名 称字 段 类 型长 度允 许 空 值备 注出库ID数字长整型必填主键出库日期日期/时间长日期商品代码文本20必填出库数量数字长整型必填单位文本4组合框仓库文本10组合框标志文本1出库数量修改差数字长整型表3 库存表字 段 名 称字 段 类 型长 度必填备 注商品代码数字长整型主键商品名称文本50仓库文本10组合框单位文
3、本4必填组合框库存数量数字长整型必填默认值:0最高储备数字长整型必填最低储备数字长整型表4 商品信息表字 段 名 称字 段 类 型长 度允 许 空 值备 注商品代码文本20必填主键商品名称文本50必填条形码文本20必填商品拼音编码文本10必填单位文本4必填规格文本10必填产地文本20必填类别文本10必填进货价数字单精度必填仓库文本10必填表5 仓库表字 段 名 称字 段 类 型长 度允 许 空 值备 注仓库ID数字长整型必填主键仓库名称文本10仓库位置文本50仓库类型文本50安全等级文本50仓库用途文本50仓库容量数字长整型默认值:0二、模块设计根据前面的分析,并依据系统设计,对整个系统进行模
4、块设计,得到如图1所示功能模块。库存管理系统入库处理出库处理报表统计库存控制填写入库单维护入库单入库信息查询入库信息显示维护出库单填写出库单出库信息显示设置库存限量库存查询报警处理催货处理月入库统计月出库统计库存统计出库信息查询图1 库存管理系统功能模块三、 库存管理系统设计过程1创建新数据库启动Access 2003 创建“库存管理系统.mdb”空数据库。 2.创建表根据表1-表5的结构在“库存管理系统.mdb”中创建表。3设置各表间的关系按图2所示的关系创建表间关系。4填写入库/出库单入库/出库处理最基本的工作内容是填写入库/出库单,修改库存。根据仓库管理的要求,应在填写完入库/出库单后立
5、即修改库存,将入库数量加到库存量中,将出库数量从库存量中减去。要完成这样的计算操作可以使用更新查询。因此,在实现这个功能模块时,首先建立更新查询,然后创建填写入库/出库单窗体,并将更新查询与窗体连接起来,在关闭窗体时运行该查询,完成“库存表”的修改操作。(1)创建更新库存查询查询的功能是使用入库信息更新库存量和使用出库信息更新库存量。查询名称分别为“更新库存量(入库)”和“更新库存量(出库)”。创建“更新库存量(入库)”的步骤如下。 图2 表间关系在数据库窗口中单击“查询”容器,然后双击“在设计视图中创建查询”,调出“查询设计视图”窗口,并显示一个“显示表”对话框,在“显示表”对话框中,单击“
6、表”选项卡,然后分别双击“商品入库表”和 “库存表”,单击【关闭】按钮,关闭“显示表”对话框。如图3所示。图3 显示表对话框选择“查询”“更新查询”菜单命令,在查询“设计网格”中显示一个“更新到”行。将“库存表”中的“库存数量”字段拖动到“设计网格”的“字段”行的第1列中,将“商品入库表”中的“标志”字段拖动到“设计网格”的“字段”行的第2列中,再在“库存数量”字段的“更新到”单元格中输入更新表达式“库存表!库存数量+商品入库表!入库数量”。在“标志”字段的“更新到”单元格中输入“1”,在“条件”单元格中输入条件“0”,如图4所示。图4入库更新查询窗口为了能够区分已经处理的入库单,在“商品入库
7、表”中设置了一个“标志”字段,当该字段值为“0”时,表示该入库单的“入库数量”还未加到“库存表”中。所以,在建立更新查询时,应只对“标志”字段值为“0”的“库存量”字段值进行更新。更新后,应将“标志”字段值改为“1”,表示已经处理完毕。 单击工具栏的【保存】按钮或选择“文件”“保存”菜单命令保存该查询,并命名为“更新库存量(入库)”。“更新库存量(出库)”查询的创建步骤与上述步骤相同,结果如图5所示。图5 出库更新查询窗口(2)创建填写入库/出库单窗体 建立如图6所示的入库单窗体。方便输入操作,设置“日期”字段的“输入掩码”为“0000-99-99;0;_;”,“默认值”设置为“=date()
8、”。图6入库单窗体设置窗体的“格式”属性和“数据”属性,如图7所示。图7 设置窗体属性(3)入库单号查重:在“商品入库表”中,每个入库记录对应一个入库单号,即“入库ID”值。为了避免输入重复的入库单号,系统提供入库单号查重功能。将输入的入库单号与表中的“入库ID”进行比较,如果两值相同,则显示提示信息。在“入库单输入”窗体的设计视图中,单击选中“入库单号”文本框,右击调出快捷菜单,选择“属性”命令,在调出的“入库单号”文本框属性对话框中,选择“事件”选项卡,在“更新后”文本框中选中“事件过程”,如图8所示。 图8 创建“更新后”事件然后再单击其后的“”按钮,调出“Microsoft Visua
9、l编辑器”窗口,在光标处插入下列代码。 Private sub 入库单号_afterupdate() With CodeContextObject rrr="商品入库表!入库ID="&Me!入库单号 DoCmd.ApplyFilter "uuu",rrr If(.RecordestClone.RecordCount>0) Then MsgBox"入库单号已存在,请重新输入!",vbOKOnly,"提示框“ 入库单号.SetFocus End If End With End sub(4)入库单保存:输入入库单信息
10、后,单击【保存】按钮即可将输入的数据添加到“商品入库表”中。“保存”命令按钮的“单击”事件的代码如下。Private sub 保存r_click()DoCmd.GoToRecord , , acNewRecMe!入库ID=Me!入库单号Me!日期=Me!日期rMe!商品代码=Me!商品代码rMe!入库数量=Me!入库数量rMe!标志="0"DoCmd.DoMenuItem acFromBar,acRecordsMenu,acSaveRecord, ,acMenuVer70Me!入库单号=" "Me!日期r=DateMe!商品代码r=" &quo
11、t;Me!入库数量r=0Me.RefreshExit_保存r_click()(5)入库单重填:如果数据输入有误或希望放弃此次输入,可单击【重填】按钮。该命令按钮的“单击”事件代码如下。 Private sub重填r_click() Me!入库单号 = " " Me!日期r = Date Me!商品代码r = " " Me!入库数量r = 0 End sub(6)入库单取消:这里的取消操作实质上是退出输入操作,即关闭输入窗口。该命令按钮上的“单击”事件代码为: Private sub取消r_click()DoCmd.Close End sub(7)库存量修
12、改:本系统在输入完成所有入库单后,对“库存表”中的“库存数量”进行修改,即在关闭输入窗口时完成修改操作。因此,可设置窗口的“关闭”事件,当发生该事件时运行已建立的“更新库存量(入库)”更新查询。更新库存量代码如下:Private sub form_close() DoCmd.OpenQuery "更新库存量(入库)",acViewNormal,acEdit End sub 出库单输入窗体的建立内容和方法与入库单输入相似。 5维护入库/出库单信息有时,输入的入库单或出库单数据在存盘后才发现错误,就需要对其进行修改。修改数据与输入数据相似,修改完成后,应对“库存表”中“库存数量
13、”作相应更新。为了方便更新,在“商品入库表”和“商品出库表”中增加了一个记忆修改前和修改后差值的字段,分别是“入库数量修改差”和“出库数量修改差”,应用该字段来更新“库存数量”。要完成这样的操作,需要建立更新查询。(1)创建更新库存查询建立更新库存查询的方法与上述相同。当“商品入库表”或“商品出库表”中的“标志”字段值为“0”时,表示还未对“库存数量”进行修改,因此要用这些数量值更新“库存数量”值。但应注意,更新完成后应将相应的“标志”字段值由“0”改为“1”。“更新修改后的库存数量(入库)”的设计视图如图9所示。图9 更新修改后的库存数量(入库)”的设计视图(2)创建维护入库/出库窗体 商品
14、入库单维护窗体如图10所示。该窗体分为3个部分:上半部分为入库单信息显示区;中间部分为修改区,该区放置了3个文本框控件,用来修改制定的入库单;下半部分为查询区,该区有3个文本框和一个组合框,用来查找需要修改的入库单。窗体最下方有3个命令按钮,实现查询、保存和退出等功能。图10 商品入库单维护窗体 入库单保存:修改数据时,即可以在修改区直接输入要修改的数据,也可以先查找要修改的入库单,然后在显示区修改。当修改区输入了要修改的内容后,直接单击“保存”命令按钮,即可保存已输入的修改信息。“保存”命令按钮的“单击”事件代码如下。 Private sub命令1_click()Me!入库ID.SetFoc
15、us DoCmd.FindRecord Me!文本1, , True, , True Me!入库ID=Me!文本1 Me!入库日期=Me!文本2 Me!入库数量修改差=Me!文本3-Me!入库数量 Me!入库数量=Me!文本3 Me!标志="0" Me!文本1=" " Me!文本2=Date Me!文本3=0 Me.Refresh End sub入库单查询:在查询区输入查询内容,然后单击【查询】按钮查找相应的内容,如果找到,信息显示区指针定位到该记录,此时可对该记录进行修改。为了实现这样的查询,需要对每一输入框的“失去焦点”事件进行记录定位设置,然后通过
16、“查询”命令按钮的“单击”事件完成实际定位。4个输入控件的“失去焦点”事件的代码如下。入库单号“失去焦点”事件代码:Me!入库ID.SetFocusDoCmd.FindRecord Me!文本4, , True, , TrueMe!命令5.Visible=True入库日期“失去焦点”事件代码:Me!入库日期.SetFocusDoCmd.FindRecord Me!文本5, , True, , TrueMe!命令5.Visible=True入库数量“失去焦点”事件代码:Me!入库数量.SetFocusDoCmd.FindRecord Me!文本6, , True, , TrueMe!命令5.Vi
17、sible=True商品代码“失去焦点”事件代码:Me!商品代码.SetFocusDoCmd.FindRecord Me!组合1, , True, , TrueMe!命令5.Visible=True【查询】按钮的“单击”事件VBA代码:DoCmd.FindNext【退出】按钮的功能是关闭窗体(3)修改库存量:与入库输入设计一样,修改入库单后对“库存数量”的修改也是在关闭输入窗口时完成,即设置窗口的“关闭”事件,当发生该事件时运行已建立的“更新修改后的库存数量(入库)”更新查询。所设代码如下:DoCmd.OpenQuery "更新修改后的库存数量(入库)", acViewNo
18、rmal, acEdit6.查询入库/出库单信息对入库/出库信息的查询可按入库/出库单中的任意内容查询。无论是查询入库信息,还是查询出库信息,其设计方法相同,只是窗体所用数据源不同。因此,只介绍入库信息查询。入库信息查询控制窗体如图11所示。图11 入库信息查询窗体(1)高级查询单击【高级查询】按钮,调出“入库信息高级查询”窗体,如图12所示。在窗体中相应的文本框内输入要查询的内容,然后单击【查找记录】按钮,这时系统将在“商品入库表”中查找记录并显示在窗体中。使用向导创建以“商品入库表”为数据源的“表格”式窗体。调整窗体页眉区大小,并在页眉区上方放置1个标签、1个组合框和3个文本框。3个文本框
19、用来输入“入库单号”、“入库日期”、“入库数量”等内容,组合框用来选择“商品代码”。在窗体页脚区放置2个命令按钮,“查找记录”和“退出”。保存查询窗体,并命名为“入库信息高级查询”。图12 高级查询窗口编写查询代码,对每个文本框的“失去焦点”事件进行记录定位设置,然后通过“查找记录”命令按钮的“单击”事件完成实际定位。4个输入控件的“失去焦点”事件的代码如下。入库单号“失去焦点”事件代码: Private Sub 文本21_LostFocus() On Error GoTo Err_文本21_LostFocus Me!入库ID.SetFocusDoCmd.FindRecord Me!文本21,
20、 , True, , True Me!命令5.Visible = TrueExit_文本21_LostFocus: Exit SubErr_文本21_LostFocus: MsgBox Err.Description Resume Exit_文本21_LostFocusEnd Sub入库日期“失去焦点”事件代码: Private Sub 文本2_LostFocus() On Error GoTo Err_文本2_LostFocus Me!入库日期.SetFocusDoCmd.FindRecord Me!文本2, , True, , True Me!命令5.Visible = TrueExit_
21、文本2_LostFocus: Exit SubErr_文本2_LostFocus: MsgBox Err.Description Resume Exit_文本2_LostFocusEnd Sub商品代码“失去焦点”事件代码: Private Sub 组合25_LostFocus()On Error GoTo Err_组合25_LostFocus Me!商品代码.SetFocusDoCmd.FindRecord Me!组合25, , True, , True Me!命令5.Visible = TrueExit_组合25_LostFocus: Exit SubErr_组合25_LostFocus:
22、 MsgBox Err.Description Resume Exit_组合25_LostFocusEnd Sub入库数量“失去焦点”事件代码:Private Sub 文本27_LostFocus()On Error GoTo Err_文本27_LostFocus Me!入库数量.SetFocusDoCmd.FindRecord Me!文本27, , True, , True Me!命令5.Visible = TrueExit_文本27_LostFocus: Exit SubErr_文本27_LostFocus: MsgBox Err.Description Resume Exit_文本27_
23、LostFocusEnd Sub“查找记录”命令按钮的“单击”事件代码:Private Sub 命令5_Click() DoCmd.FindNextEnd Sub(2)按条件查询“按入库数量查询”和“按入库日期查询”,通过创建参数查询来实现查询。在建立这两个查询之前先建立“所有入库信息查询”。创建“所有入库信息查询”。可通过创建选择查询来完成该查询的创建。创建结果如图13所示。图13 按所有入库信息查询创建“按入库数量查询”。以“所有入库信息查询”为数据源,在设计视图中创建该查询,如图14所示。图14 按入库数量查询在“入库数量”字段的“条件”行中输入: >=请输入入库数量下限值 And
24、 <=请输入入库数量上限值 创建“按入库日期查询”。与上一个查询一样,通过创建参数查询来创建“按入库日期查询”,如图15所示。在设计视图中设置相应的“条件”行: >=请输入日期上限值(*-*-*) And <=请输入日期下限值(*-*-*)建立查询后,以所建查询为数据源,创建“按入库数量查询”和“按入库日期查询”窗体,以便更好显示查询结果 。图15 按日期查询窗口(3)创建查询控制窗体 创建如图16所示的“入库查询控制窗体”。该窗体主要有入库信息显示区和查询控制区。查询控制区共有3个命令按钮。图16 入库信息查询窗口创建入库查询宏组,创建后的宏组如图17所示。设置宏组中4个宏
25、打开相对应的4个窗体“入库单查询主窗体”、“入库单信息高级查询”、“按入库数量查询”和“按入库日期查询”。最后保存宏组为“查入库单”。图17 入库单查询宏窗口设置“入库单查询主窗体”窗体中命令按钮的“单击”事件,在设计视图中打开窗体“入库单查询主窗体”,如图17所示。单击选中“高级查询”命令按钮,调出“属性”对话框,单击“事件”选项卡,从“单击”下拉列表中选中“查入库单.打开入库信息高级查询窗体”,如图18所示。 用同样的方法,将“按入库数量查询”和“按入库日期查询”命令按钮的“单击”事件分别设置为“查入库单.打开入库数量查询”和“查入库单.打开入库日期查询”。图18 设置按钮单击事件 7报警
26、处理报警处理主要将“库存表”中的“库存数量”与“最高储备”进行比较,当“库存数量”高于“最高储备”时,显示这些需要报警商品的相关信息。(1)建立报警查询由于报警查询中需要计算“库存数量”与“最高储备”的差。因此,可通过创建计算查询来建立报警查询。在数据库窗口的“对象”列表框中选中“查询”选项,双击“使用向导创建查询”。在“表/查询”下拉列表框中选择“表:库存表”,选取除“最低储备”以外的全部字段,如图20所示。图20 建立报警查询单击【下一步】按钮两次,保存查询为“报警查询”,并选中“修改查询设计”单选按钮。 单击【完成】按钮,在调出的“报警查询”设计视图中,添加一个计算字段“表达式1: 库存
27、表!库存数量-库存表!最高储量”,在所加计算字段的“条件”行上输入条件“>0”,如图21 所示保存查询。图21 报警查询设计视图(2)创建报警报表创建了报警查询后,以此查询为数据源创建一个报警报表,使其显示需要报警的消息。使用向导创建报表,调出“报表向导”窗口。在“表/查询”下拉列表框中选择“报警查询”,选取全部字段。单击【下一步】按钮,确认是否添加分组级别,该报表不分组。单击【下一步】按钮,以“库存数量”降序排序。单击【下一步】按钮,确定布局及方向为“表格”、“纵向”。单击【下一步】按钮,确定报表采用的样式为“组织”。单击【下一步】按钮,指定报表的名称,并选中“修改报表设计”单选按钮,
28、单击【完成】按钮。 在“报警表”设计视图中,修改报表设计,如图22所示。图22 报警表设计视图(3)创建报警窗体报警处理只要打开报警表,显示相应的报警信息就可以了。在报警之前应判断查询结果是否有需要报警的商品。实现这一功能的代码如下:Private Sub Form_Open(Cancel As Integer)With CodeContextObject rrr = "报警查询!商品代码 <> Null" DoCmd.ApplyFilter "uuu", rrr If (.RecordsetClone.RecordCount > 0)
29、 Then MsgBox "有需要报警的产品!", vbOKOnly, "提示框" DoCmd.Close DoCmd.OpenReport "报警表", acViewPreview Else MsgBox "没有需要报警的产品!", vbOKOnly, "提示框" DoCmd.Close End IfEnd WithEnd Sub为了能够在打开报警表之前运行这一代码,建立一个报警临时窗体,将上述代码放到该窗体的“打开”事件中,如图23所示。这样当打开该窗体时,就可以运行这段代码。这里,报警临时
30、窗体的作用就是运行该代码,窗体中无任何设置。(4)催货处理与报警处理相似,催货处理是将“库存表”中的“库存数量”与“最低储备”进行比较,当“库存数量”低于“最低储备”时,显示这些需要催货商品的相关信息。实现催货处理功能的步骤如下。建立一个催货查询,设计结果如图24所示。 图23 报警临时窗体图24 崔货查询使用向导创建一个催货报表,报表数据源为“催货查询”,如图25所示。 图25 崔货表(3)建立一个催货临时窗体,设置窗体“打开”事件,事件代码为:Private Sub Form_Open(Cancel As Integer)With CodeContextObject rrr="催
31、货查询!商品代码 <> Null" DoCmd.ApplyFilter "uuu", rrr If(.RecordsetClone.RecordCount>0) Then MsgBox "有需要催货的产品!", vbOKOnly, "提示框" DoCmd.Close DoCmd.OpenReport "催货表", acViewPreview Else MsgBox "没有需要催货的产品!", vbOKOnly, "提示框" DoCmd.Close
32、End IfEnd WithEnd Sub8报表设计用户需要系统为其提供统计功能,使管理者随时了解和掌握某一时期入库、出库和库存信息。本文系统提供了统计功能,并以报表形式显示所有统计信息。(1)设计思路报表统计功能主要包括:库存统计、按月入库统计和按月出库统计。通过它们统计某年某月入库、出库和库存的汇总信息。由于需要对每种商品的入库数量和出库数量进行汇总,在报表输出之前应当进行计算。报表统计包括如下功能: 创建统计查询,计算出指定日期每种商品的入库总量和出库总量。以所建统计查询为数据源,使用向导创建相应的报表。设置报表的调用方式。(2)创建统计查询由于系统要求统计出指定日期的入库数量,因此,需
33、要创建具有统计功能的参数查询。 以“商品入库表”和“商品信息”为数据源创建查询“按月统计入库信息”。包含字段有“商品代码”、“商品名称”、“单位”、“规格”、“入库数量”和“入库日期”等。在查询的设计视图中,添加一个新字段,统计月份“Month(商品入库表.入库日期)”。在所加字段的“条件”行上输入条件“Month(请输入年月(××××-××)”。单击工具栏上的【合计】按钮,显示“总计”行,并把所有字段设置成“分组”。单击“入库数量”字段的“总计”行,从下拉列表中选中“总计”,单击“入库日期”字段列显示行上的复选框。设计结果如图26所
34、示。图26 统计入库查询保存该查询,并命名为“按月统计入库信息”。(3)创建显示报表完成统计查询的创建后,可以开始创建按月入库统计报表。先使用报表向导创建一个报表,然后再使用设计视图修改。单击数据库窗口对象列表框中的“报表”,双击“使用向导创建报表”,调出“报表向导”对话框。在“报表向导”对话框中,在“表/查询”下拉列表框中选择“按月统计入库信息”,选取全部字段。单击【下一步】按钮,在调出的对话框中确定是否添加分组级别,选择不分组。单击【下一步】按钮,在调出的对话框中确定排序次序,选择“入库数量之总计”作为排序字段。单击【下一步】按钮,在调出的对话框中确定布局方式,选择“表格”的布局方式。单击
35、【下一步】按钮,在调出的对话框中确定使用的样式,选择样式为“组织”。单击【下一步】按钮,在对话框的“请输入报表的标题:”文本框中输入报表的名字“月入库统计表”,并在窗口的下方选中“修改报表设计”单选按钮。单击【完成】按钮,进入设计窗口,调整各个部件的位置,使布局更加合理美观,如图27所示。图27 月入库统计表设计(4)编写调用模块为了方便报表使用,此处编写了调用模块,并通过系统主菜单上的3个命令按钮来调用该模块,打开不同报表。建立模块的方法如下。单击数据库窗口“对象”列表框中的“模块”,单击【新建】按钮,调出“模块编辑窗口”,如图28所示。图28 调用模块设计在“模块编辑窗口”输入下列代码。P
36、ublic Function onecheck(Strname) Select Case StrnameCase “月入库统计” stDocName=”月入库统计表”Case “月出库统计” stDocName=”月出库统计表”Case Else stDocName=”库存表” End SelectDoCmd.OpenReport stDocName, acPreviewEnd Function保存该模块,模块名为“模块1”。可通过主菜单中的“月入库统计”、“月初库统计”和“库存统计”等3个命令按钮的“单击”事件来调用该模块。四、库存管理系统的集成当用户需要的全部窗体、报表和查询都建好以后,就
37、应将它们集成在一起,形成完整的系统,才能方便用户使用。在“库存管理系统”实例中使用多页窗体来集成系统,实现功能选择。1.系统主控界面设计库存管理系统由4大功能模块组成,它们由主控窗体中的选项卡来实现。通过选择不同的选项卡进入不同的功能模块,再通过选项卡中的不同命令按钮进入下一级子模块。单击主控窗体的“入库处理”选项卡,进入“入库处理”子模块,包括“填写入库单”、“维护入库单”、“入库信息查询”和“入库信息显示”4个按钮,如图29所示。图29 入库处理选项卡单击主控窗体的“出库处理”选项卡,进入“出库处理”子模块,包括“填写出库单”、“维护出库单”、“出库信息查询”和“出库信息显示”4个按钮,如
38、图30所示。图30 “出库处理”选项卡单击主控窗体的“库存处理”选项卡,进入“库存处理”子模块,包括“设置库存限量”、“库存查询”、“报警处理”和“催货处理”4个按钮,如图31所示。单击主控窗体的“报表统计”选项卡,进入“报表统计”子模块,包括“月入库统计”、“月出库统计”、和“库存统计”3个按钮,如图32所示。图31 “库存处理”选项卡图32 “报表统计”选项卡(1)选项卡设置“选项卡”控件可以将不同集合的信息放在不同页面上,它是创建多页窗体最容易和最有效的方法。在主控窗体中设置选项卡的方法如下。打开窗体设计视图,单击“工具箱”中的【选项卡控件】按钮,在窗体上要放置选项卡的位置单击,Acce
39、ss将在窗体中自动添加有2页的选项卡。在选项卡上单击鼠标右键,在调出的快捷菜单中单击“插入页”命令,这时在选项卡上插入了一页,重复以上步骤再插入一页。 选中选项卡的“页1”,调出属性对话框,单击“格式”选项卡,并在“标题行”中输入“入库处理”,并使用同样的方法在“页2”、“页3”和“页4”的“标题行”输入“出库处理”、“库存控制”和“报表处理”。如图33所示。图33 选项卡设置 图34 选项卡属性设置选中选项卡控件,设置选项卡的属性值,如图34所示。单击第一页,在适当的位置放置“填写入库单”、“维护入库单”、“入库信息查询”和“入库信息显示”4个命令按钮,并设置它们相应的属性,如图35所示。用
40、同样的方法在第二页、第三页和第四页上放置相应的命令按钮。图35 添加命令按钮在选项卡控件的上方,添加标题“库存管理系统”,在选项卡控件的下方添加一个“返回”命令按钮,并设置它们的属性。(2)命令按钮事件设置在使用该系统时,主要是通过单击主控窗体上的命令按钮来选择相应的功能。因此,对每一个命令按钮的“单击”事件进行设置。在使用该系统时,主要是通过单击主控窗体上的命令按钮来选择相应的功能。因此,对每一个命令按钮的“单击”事件进行设置。本系统中有些命令按钮的“单击”事件是打开相应的窗体,如入库处理中的“填写入库单”、“维护入库单”,出库处理中的“填写出库单”、“维护出库单”,库存控制中的“催货处理”、“报警处理”等命令按钮;有些命令按钮则打开相应的宏,如入库处理的“入库信息查询”,出库处理中的“出库信息查询”,库存控制中的“库存信息查询”等命令按钮;有些命令按钮则是调用相应的模块,如库存控制中的“月入库统计”、“月出库统计”和“库存统计”等命令按钮。下面选择有代表性的命令按钮进行介绍,其余请参照自行设置。 “填写入库单”命令按钮上的“单击”事件:选中“填写入库单”命令按钮,调出属性设置对话框,在“事件”选项卡中选择“单击”下拉列表中的“事件过程”。调出代码编辑器,在光标处输入如下代码。 Dim stDocName As StringDim stLinkCriteria A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市更新多元化的实施路径概念
- 30MW分布式发电项目监控与评估
- 机械工程导论课程设计
- 八年级地理下册 第五章 第一节 四大地理区域的划分教案 (新版)湘教版
- 2024秋七年级数学上册 第2章 有理数及其运算2.6 有理数的加减混合运算教案(新版)北师大版
- 机械专科学生课程设计
- 机场跑道混凝土工程施工方案
- 2024年公寓附加设施使用权转让合同
- 2024年信息安全防护系统采购合同
- 30MW分布式发电项目实施方案
- 2024-2025学年高一上学期期中考试动员主题班会课件
- 2022-2023学年北京市海淀区七年级(上)期中数学试卷【含解析】
- 220kV架空送电线路铁塔拆除施工方案
- 施工现场环境因素清单(全)
- 县纪委监委2021年度保密工作情况总结报告
- 垂直循环立体车库设计
- 脑卒中的康复现状与进展
- 氢氧化钠标准溶液的配制和标定.
- 《Monsters怪兽》中英对照歌词
- 九年级英语补全对话专项训练题
- 金属构件失效分析精简版
评论
0/150
提交评论