《数据库应用》案例教学教案.doc_第1页
《数据库应用》案例教学教案.doc_第2页
《数据库应用》案例教学教案.doc_第3页
《数据库应用》案例教学教案.doc_第4页
《数据库应用》案例教学教案.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

数据库应用案例简易教案本案例以商品的入库及销售为主要操作内容,旨在通过案例的制作,使学生对ACCESS的菜单功能有一个更深刻的理解并能系统掌握利用ACCESS开发应用小程序的目的。案例名称商品入库及销售管理系统一、 所使用的数据表及其结构1、表名:“商品表”,用于存放商品的基本信息,结构如下要求:字段名数据类型字段大小小数编号文本10注:设为主键商品名文本60规格文本20单位文本10零售价数字单精度2库存量数字长整型自动2、表名:“入库表”,用于存放商品入库的基本信息,结构如下要求:字段名数据类型字段大小小数输入法模式入库单号文本10注:设为主键编号文本10注:设为主键入库日期日期/时间长日期输入法关闭数量数字整型自动进货价数字单精度2供应商文本50操作员文本103、表名:“销售表”,用于存放商品销售的基本信息,结构如下要求:字段名数据类型字段大小小数输入法模式编号文本10销售日期日期/时间长日期输入法关闭数量数字整型自动零售价数字单精度2操作员文本104、表名:“操作员表”,用以存放操作员的基本信息:结构如下要求:字段名数据类型字段大小小数输入法模式操作员文本10注:设为主键密码文本12二、窗体的建立:1、窗体名:“商品管理”,用以商品基本信息的新增、编辑等功能。具体实现后的窗体视图如下:2、窗体名:“商品浏览”,该窗体主要用于实现对整个商品信息的浏览作用,并不具备新增、编辑等功能,因此在其窗体属性中应设置“新增、删除、编辑”属性为“否”。具体实现后的窗体视图如下:3、窗体名:“主窗体”,其作用是为实现整个系统中各个功能正常调用,在该主窗体中建立相关的调用按钮,以便用户通过点击主窗体中的相关按钮来实现相应功能的调用,由于该窗体是主窗体,是系统运行后出现的第一个人机交互界面,因此对该窗体进行一些修饰,如设置相关的字体、背景图、且不允许用户修改边框大小、不存在滚动条、记录定位器及浏览器等,这些相关属性应在窗体的属性窗口中进行设置。具体实现后的窗体视图如下:4、窗体名:“商品名查询”,该窗体主要用于实现用户按商品名对商品信息的查询浏览作用。为了实现按商品名查询,首先应充分利用ACCESS提供的参数查询功能,建立一个名为“按商品名查询”的查询。由于按商品名查询后的信息只在查询窗体中显示,而对于ACCESS而言,可以先建立一个窗体,设置该窗体的数据来源于“按商品名查询”这一查询,因此,只要建立一名为“商品名查询”的窗体,设置该窗体的数据来源于“按商品名查询”这一查询,由于是查询,并不提供新增及、编辑功能,故应对该窗体的有关属性进行相应的设置,设置方法同“商品浏览”窗体的建立相似。具体实现后的窗体视图如下:5、窗体名:“商品查询条件”,如下图所示:若要利用查询条件的选择方式(如编号,或商品名),则可利用选项组方式来进行,在对选项组进行判断时,可以利用如下编码:Dim stDocName As String Dim stLinkCriteria As String If Me!框架20.Value = 1 Then stDocName = 商品表编号查询 DoCmd.OpenForm stDocName Else stDocName = 商品表商品名查询 DoCmd.OpenForm stDocName End If 同时,为了使查询中得到用户输入的查询内容,务必在查询设计窗口的准则中输入查询内容,若设计窗口及编码格式如:“准则”中的代码如下:forms!商品查询条件!文本8 6、窗体名:“商品入库”,本窗体主要用于商品入库时的信息录入,其窗体视图如下:说明一:为了使用户在操作时可以通过点取商品编号来显示相应的商品名,因此在窗体中设计了一个下拉组合框,当用户点取该对象时,商品名应在对应的文本框中显示,因此应在下拉组合框对象的change事件中加上如下代码:Private Sub 组合17_Change() Set rs = New ADODB.Recordset rs.Open select * from 商品表 where 编号= + 组合17.Text + , CurrentProject.Connection, adOpenKeyset, adLockOptimistic If Not rs.EOF Then 文本20 = rs(商品名) End IfEnd Sub说明二:在窗体被加载到内存中时,对变量进行初始化、设置控件的一些初始属性,应在“窗体”中的“加载”事件中加代码如下:Private Sub Form_Load() 文本15 = 组合17 = 文本22 = 文本24 = 文本26 = 组合28 = 文本20 = 文本30 = CStr(Date)End Sub说明三:为了将用户输入的商品入库信息存放到入库表中,应在“保存”按钮中的“单击”事件中加如下代码:Private Sub 命令33_Click() If 文本15 = Then MsgBox (入库单号不能为空!) Exit Sub End If If 组合17 = Then MsgBox (编号不能为空!) Exit Sub End If If 文本22 = Then MsgBox (数量不能为空!) Exit Sub End If If 文本24 = Then MsgBox (进货价不能为空!) Exit Sub End If If 文本26 = Then MsgBox (供应商不能为空!) Exit Sub End If If 组合28 = Then MsgBox (操作员不能为空!) Exit Sub End If If 文本30 = Then MsgBox (入库日期不能为空!) Exit Sub End If Set rs = New ADODB.Recordset rs.Open select * from 入库表, CurrentProject.Connection, adOpenKeyset, adLockOptimistic(注:也可以直接写成:s.Open select * from 入库表, CurrentProject.Connection,3,3) rs.AddNew rs(入库单号) = 文本15 rs(编号) = 组合17 rs(数量) = CInt(文本22) rs(进货价) = 文本24 rs(供应商) = 文本26 rs(操作员) = 组合28 rs(入库日期) = 文本30 rs.Update Set curdb = CurrentDb curdb.Execute update 商品表 set 库存量 = 库存量+ + 文本22 + where 编号= + 组合17 + MsgBox (商品已入库成功!) 文本15 = 组合17 = 文本22 = 文本24 = 文本26 = 组合28 = 文本20 = End Sub说明四:由于操作员一般为常用的几位数据选项,故利用下拉组合框,其设置过程可直接利用ACCESS的操作向导来完成,具体步骤本处略。7、窗体名:“查询入库商品的条件”,用于设置查询入库商品信息的条件设置,具体窗体视图如下所示:说明一:该窗体中的“查询”按钮的“单击”事件代码段如下:Dim stDocName As String If 框架4.Value = 1 Then stDocName = 按编号查询入库信息 DoCmd.OpenForm stDocName Else stDocName = 按时间段查询入库信息 DoCmd.OpenForm stDocName End If说明二:实现按编号查询入库商品的信息,其方法及代码参照第5小点说明。若要实现按时间段进行查询,则在“查询”设计窗体中,对“按时间段查询入库商品表”的设计视图中,在“入库时间”字段的准则中加如下代码:Between forms!查询入库商品的条件!文本13 And forms!查询入库商品的条件!文本178、窗体名:“商品销售”,本窗体主要用于商品销售后的记录情况,其窗体视图如下:说明一:为了使用户在操作时可以通过点取商品编号来显示相应的商品名及其它相关信息,因此在窗体中设计了一个下拉组合框,当用户点取该对象时,商品名应在对应的文本框中显示,因此应在下拉组合框对象的change事件中加上如下代码:Private Sub 组合17_Change() Set rs = New ADODB.Recordset rs.Open select * from 商品表 where 编号= + 组合17 + , CurrentProject.Connection, 3, 3 If Not rs.EOF Then 文本19 = rs(商品名) 文本21 = rs(规格) 文本23 = rs(单位) 文本25 = rs(零售价) 文本27 = rs(库存量) kcl = rs(库存量) End IfEnd Sub说明二:在窗体被加载到内存中时,对变量进行初始化、设置控件的一些初始属性,应在“窗体”中的“加载”事件中加代码如下:Private Sub Form_Load() 组合17 = 文本19 = 文本21 = 文本23 = 文本25 = 文本27 = 组合29 = 文本31 = CStr(Date)End Sub说明三:在商品销售完毕后,应在“确定”按钮中的“单击”事件中加如下代码:Private Sub 命令33_Click() If 组合17 = Then MsgBox (编号不能为空!) Exit Sub End If If 文本19 = Then MsgBox (商品名不能为空!) Exit Sub End If If 文本25 = Then MsgBox (零售价不能为空!) Exit Sub End If If 文本27 = Then MsgBox (数量不能为空!) Exit Sub End If If 组合29 = Then MsgBox (操作员不能为空!) Exit Sub End If Set rs = New ADODB.Recordset rs.Open select * from 销售表, CurrentProject.Connection, 3, 3 rs.AddNew rs(编号) = 组合17 rs(销售日期) = 文本31 rs(数量) = 文本27 rs(零售价) = 文本25 rs(操作员) = 组合29 rs.Update Set curdb = CurrentDb curdb.Execute update 商品表 set 库存量=库存量- + 文本27 + where 编号= + 组合17 + MsgBox (销售信息已保存) Set rs = New ADODB.Recordset rs.Open select * from 商品表 where 编号= + 组合17 + , CurrentProject.Connection, 3, 3 If rs(库存量) = 5 Then MsgBox (友情提示,该商品库存量不多,应提前进货!) End If 组合17 = 文本19 = 文本21 = 文本23 = 文本25 = 文本27 = 组合29 = 文本31 = CStr(Date) 标签41.Caption = CStr(0)End Sub总结1、窗体“商品管理”涉及“商品表”,即数据源为“商品表”; 2、窗体“商品浏览”涉及“商品表”,即数据源为“商品表”;注意不可修改; 3、主窗体是“商品管理”、“商品浏览”、“商品查询”、“商品入库”、“入库商品查询”及“商品销售”的集合体; 商品查询(窗体)商品名查询浏览(窗体)商品编号查询浏览(窗体)商品名查询(查询)商品编号查询(查询)4、窗体“商品查询”涉及的窗体及查询如下:注:(1) 窗体“商品名查询浏览”的数据源来自查询“商品名查询”; (2) 窗体“商品编号查询浏览”的数据源来自查询“商品编号查询”; (3) 查询“商品名查询”的数据源来自“商品表”; (4) 查询“商品编号查询”的数据源来自“商品表”;(5) 本窗体难点在“查询”按钮的代码编写。5、窗体“商品入库”没有直接来自数据源,但其涉及两个表“商品表”和“入库表”,字段分别是“入库单号、编号、商品名、数量、进货价、供应商、操作员、入库日期”,因为涉及两个表,所以“入库表”和“商品表”通过关键字“编号”进行关联,这是在建表初期要做的; 注:本窗体中“编号”的下拉列表框及“保存”按钮的代码是一个难点; 入库商品查询(窗体)按编号查询入库信息(窗体)按时间段查询入库信息(窗体)按编号查询入库表(查询)按时间段查询入库表(查询)6、窗体“入库商品查询”涉及的窗体及查询如下:注:(1)窗体“按编号查询入库信息”的数据源来自查询“按编号查询入库表”; (2)窗体“按时间段查询入库信息”的数据源来自查询“按时间段查询入库表”; (3)查询“商品名查询”的数据源来自“商品表”及“入库表”; (4)查询“商品编号查询”的数据源来自“商品表”及“入库表”;(5)本窗体难点在“查询”按钮的代码编写。7、窗体“商品销售”有以下字段:“入库单号、编号、商品名、数量、进货价、供应商、操作员、入库日期”,故其涉及3个表:“商品表”、“入库表”及“销售表”。本窗体的难点在于“编号”下拉列表的代码及“确定”按钮的代码编写。附录(商品入库更改后的代码)If 入库单号 = Then Ms

温馨提示

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

评论

0/150

提交评论