数据库课程设计产品订单管理系统文档格式.docx
- 文档编号:21783130
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:27
- 大小:1.62MB
数据库课程设计产品订单管理系统文档格式.docx
《数据库课程设计产品订单管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《数据库课程设计产品订单管理系统文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
订单标识,职员标识,产品,单价,数量,折扣,总计等信息。
b.付费情况:
包括订单标识,付费方式,付费日期,付费金额,持卡人姓名,信用卡号等信息
c.预览发票:
包括订单标识,发票日期,发票金额,付款条款等信息。
3.2其他信息子系统
a.职员情况:
包括职员姓,名,职务,电话号,邮件地址等信息
b.公司信息:
包括公司全称,地址,邮编,营业税率,电话号,传真号等
c.产品情况:
包括产品标识,产品名称,产品单价等。
d.付费方式:
包括付费方式标识,付费方式,是否使用信用卡等。
e.装运方式:
包括装运方式标识,装运方式。
3.3预览报表子系统
a.按客户情况:
包括客户姓名,电话号,传真号,公司名称等
b.按应收账款:
包括客户姓名,当前应收账款,30-60天后应收账款,61-90天后应收账款,大于90天后应收账款,余额等信息。
c.按客户分类销售额:
包括公司名称,单位总计,总销售额,营业税,运费总计,发票上的金额等信息。
e.按职员分类销售额报表:
包括职员姓名,单位总数,总销售额等信息。
f.按产品分类销售额:
包括产品名称,单位总计,总销售额等信
四、概念结构设计定单
4.1整体ER模型图
4.2子系统ER模型图
4.21订单的职员实体——关系
4.22产品订单系统产品实体——关系
4.23产品订单系统订单实体——关系
4.24产品订单系统订单明细实体——关系
4.25产品订单系统付费实体——关系
4.26产品订单系统付费方式实体——关系
4.27产品订单系统客户实体——关系
4.28产品订单系统我的公司信息实体——关系
五、数据字典(比较多,不一一列出)
六、系统详细设计
6.1数据库表的设计
本系统表一共有十一张,分别为“SwitchboadItems”、“产品”、“订单”、“订单明细”、“付费”、“付费方式”、“客户”、“我的公司信息”、“职员”、“装运方式”。
表6-1
表6-2SwitchboadItems”
注:
表6-2“SwitchboardItems”主要用于对主界面的设置,包括“SwitchboardID”、“项目编号”、“项目文字”、“命令”,“参数”。
表6-3产品
表6-3“产品“主要用于储存产品信息包括产品标识、产品名称、单件等三项信息
表6-4订单
表6-5订单明细表
表6-4“订单”及表6-5“订单明细表”主要用于查看订单的基本内容。
“定单”主要包括“订单标识”、“客户标识”、“职员标识”、“订单编号”、“收货方名称”、“收货方地址”、“收货方城市”、“收货方省/自治区”、“收货方邮政编码”、“收货方国家”、“收货方电话”、“发货日期”、“装运方式标识”、“运费”、“营业税额”;
“订单明细”主要包括“订单明细标识”、“点单标识”、“产品标识”、“数量”“单价”、“折扣”等。
表6-6付费
表6-6“付费”只要用于查看付费方式、金额和日期。
只要包括“付费标识”、“订单标识”、“付费金额”、“付费日期”、“信用卡号”、“持卡人”、“信用卡到期日”、“信用卡权限”、“付费方式标识”。
表6-7付费方式
表6-7“付费方式”主要包括“付费方式标识”、“付费方式”、“是否使用信用卡”
表6-8客户
表6-8“客户”主要用于查看客户的基本信息。
表6-9我公司信息
表6-9“我的公司信息”主要用于查看公司的基本信息。
表6-10职员
表6-11装运方式
6.2由表生成各种窗口
图6—1主切换面板
图6-2按客户分类的订单
图6—3产品窗口
图6-4按客户分类的订单
图6-5打印发票窗口
图6-6订单分类窗口
图6-7订单明细窗口
图6-8付费窗口
图6-9付费方式窗口
图6-10我的公司信息窗口
图6-11职员窗口
图6—12装运方式
图6—13装运信息
6.3生成报表
按产品分类销售额生成的报表
注:
输入开始和结束日期点预览后
七、详细设计代表性的SQL语句及结果
7.1.按职员分类的销售额子查询
SELECTDISTINCTROW订单.EmployeeID,订单.OrderDate,订单.FreightCharge,订单.SalesTaxRate,Sum(CLng([Quantity]*[UnitPrice]*(1-[Discount])*100)/100)AS总销售额,Sum([订单明细表].Quantity)AS单位总数
FROM订单LEFTJOIN订单明细表ON订单.OrderID=[订单明细表].OrderID
GROUPBY订单.EmployeeID,订单.OrderDate,订单.FreightCharge,订单.SalesTaxRate;
7.2按客户分类的销售额子查询
SELECTDISTINCTROW订单.CustomerID,订单.OrderDate,订单.FreightCharge,订单.SalesTaxRate,Sum(CLng([Quantity]*[UnitPrice]*(1-[Discount])*100)/100)AS总销售额,Sum([订单明细表].Quantity)AS单位总计
GROUPBY订单.CustomerID,订单.OrderDate,订单.FreightCharge,订单.SalesTaxRate;
八、设计细节展示
8.1发票窗体设计
8.2结果展示
8.3按产品分类销售额窗体设计
8.4结果展示
九、关键技术及体会
本课程设计中主要用了表操作,查询操作,窗体设计,菜单与工具栏的使用等技术,开始只是模仿书上的例题进行练习,做了几次后,发现利用模板,或着使用数据导入导出,和word,excel等结合使用会更加方便,快捷。
十、课程设计总结
在这次数据库实习的过程中,我们利用课下时间进行学习,对数据库的基本操作和感念有了大体的了解。
能够用用access设计一个简单的订单管理系统,其主要功能是查询与管理。
同时,这次实习培养了我们对数据库的兴趣,有助于我们以后对数据库有进一步的了解和学习,也给了我们一个动手实践的机会,使我们在理论付诸于实践的过程中有了新的能力上的提升
参考文献
1.access2003自学教程中国经济出版社2001.8
2.access2003应用设计教程高等教育出版社2
附录:
主窗体代码:
OptionCompareDatabase
OptionExplicit
ConstconNumButtons=8
ConstconFontWeightBold=700
ConstconFontWeightNormal=400
PrivateSubBox23_Click()
EndSub
PrivateSubcmdExit_Click()
CloseCurrentDatabase
SubcmdExit_GotFocus()
DimintOptionAsInteger
'
IftheExitButtonhasreceivedthefocus,turnoffthefocusonallthemenuoptions
ForintOption=1ToconNumButtons
Me("
Option"
&
intOption).Visible=False
OptionLabel"
intOption).FontWeight=conFontWeightNormal
NextintOption
ExitLabel.FontUnderline=True
PrivateSubcmdExit_LostFocus()
ExitLabel.FontUnderline=False
PrivateSubcmdExit_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
ExitLabel.FontWeight=conFontWeightBold
PrivateSubcmdExit_MouseUp(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
ExitLabel.FontWeight=conFontWeightNormal
PrivateSubForm_Open(CancelAsInteger)
'
Minimizethedatabasewindowandinitializetheform.
OnErrorGoToForm_Open_Err
Minimizethedatabasewindow.
DoCmd.SelectObjectacForm,"
Switchboard"
True
DoCmd.Minimize
Movetotheswitchboardpagethatismarkedasthedefault.
Me.Filter="
[ItemNumber]=0AND[Argument]='
默认'
"
Me.FilterOn=True
Form_Open_Exit:
ExitSub
Form_Open_Err:
MsgBoxErr.Description
ResumeForm_Open_Exit
PrivateSubForm_Current()
Updatethecaptionandfillinthelistofoptions.
Me.Caption=Nz(Me!
[ItemText],"
"
)
FillOptions
PrivateSubFillOptions()
Fillintheoptionsforthisswitchboardpage.
Thenumberofbuttonsontheform.
DimdbsAsDatabase
DimrstAsRecordset
DimstrSQLAsString
Setthefocustothefirstbuttonontheform,
andthenhideallofthebuttonsontheform
butthefirst.Youcan'
thidethefieldwiththefocus.
Me!
[Option1].Visible=True
[Command1].Enabled=True
[Command1].SetFocus
WithMe!
[OptionLabel1]
.Visible=True
.FontWeight=conFontWeightBold
EndWith
ForintOption=2ToconNumButtons
Command"
intOption).Enabled=False
OpenthetableofSwitchboardItems,andfind
thefirstitemforthisSwitchboardPage.
Setdbs=CurrentDb()
strSQL="
SELECT*FROM[SwitchboardItems]"
strSQL=strSQL&
WHERE[ItemNumber]>
0AND[SwitchboardID]="
[SwitchboardID]
ORDERBY[ItemNumber];
Setrst=dbs.OpenRecordset(strSQL)
IftherearenooptionsforthisSwitchboardPage,
displayamessage.Otherwise,fillthepagewiththeitems.
If(rst.EOF)Then
[OptionLabel1].Caption="
Therearenoitemsforthisswitchboardpage"
Else
While(Not(rst.EOF))
rst!
[ItemNumber]).Visible=True
[ItemNumber]).Caption=rst!
[ItemText]
[ItemNumber]).Enabled=True
rst.MoveNext
Wend
EndIf
Closetherecordsetandthedatabase.
rst.Close
dbs.Close
PrivateFunctionHandleFocus(intBtnAsInteger)
Thisfunctioniscalledwhenamenuoptionreceivesthefocus.
intBtnindicateswhichbuttonwasclicked.
DimintOptionAsInteger
OnErrorGoToHandleMouseOver_Err
Showthatthismenuoptionhasthefocus...
IfintOption=intBtnThen
intOption).Visible=True
intOption).FontWeight=conFontWeightBold
command"
intBtn).SetFocus
...andturnoffthefocusontheotheroptions
HandleMouseOver_Exit:
ExitFunction
HandleMouseOver_Err:
MsgBox"
执行该命令时出错。
vbCritical
ResumeHandleMouseOver_Exit
EndFunction
PrivateFunctionHandleButtonClick(intBtnAsInteger)
Thisfunctioniscalledwhenabuttonisclicked.
Constantsforthecommandsthatcanbeexecuted.
ConstconCmdGotoSwitchboard=1
ConstconCmdOpenFormAdd=2
ConstconCmdOpenFormBrowse=3
ConstconCmdOpenReport=4
ConstconCmdCustomizeSwitchboard=5
ConstconCmdExitApplication=6
ConstconCmdRunMacro=7
ConstconCmdRunCode=8
Anerrorthatisspecialcased.
ConstconErrDoCmdCancelled=2501
OnErrorGoToHandleButtonClick_Err
FindtheitemintheSwitchboardItemstable
thatcorrespondstothebuttonthatwasclicked.
Setrst=dbs.OpenRecordset("
SwitchboardItems"
dbOpenDynaset)
rst.FindFirst"
[SwitchboardID]="
[SwitchboardID]&
AND[ItemNumber]="
intBtn
Ifnoitemmatches,reporttheerrorandexitthefunction.
If(rst.NoMatch)Then
读取SwitchboardItems表时出错。
SelectCaserst!
[Command]
Gotoanotherswitchboard.
CaseconCmdGotoSwitchboard
[ItemNumber]=0AND[SwitchboardID]="
[Argument]
OpenaforminAddmode.
CaseconCmdOpenFormAdd
DoCmd.OpenFormrst!
[Argument],,,,acAdd
Openaform.
CaseconCmdOpenFormBrowse
Openareport.
CaseconCmdOpenReport
DoCmd.OpenReportrst!
[Argument],acPreview
CustomizetheSwitchboard.
CaseconCmdCustomizeSwitchboard
HandlethecasewheretheSwitchboardManager
isnotinstalled(e.g.MinimalInstall).
OnErrorResumeNext
Application.Run"
ACWZMAIN.sbm_Entry"
If(Err<
>
0)ThenMsgBox"
命令不可用"
OnErrorGoTo0
Updatetheform.
Exittheapplication.
CaseconCmdExitApplication
Runamacro.
CaseconCmdRunMacro
DoCmd.RunMacrorst!
Runcode.
CaseconCmdRunCode
Application.Runrst!
Anyothercommandisunrecognized.
CaseElse
未知选项"
EndSelect
HandleButtonClick_Exit:
HandleButtonClick_Err:
Iftheactionwascancelledbytheuserfor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 产品 订单 管理 系统