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