用Access 2003开发仓库管理系统
计算机应用基础之Access2003

第七章数据库管理系统Access 2003数据库就是数据或信息的集合,相当于一个数据仓库。
具体地说,数据库是一组经过计算机整理后的数据,它由许多数据表组成。
Access 2003是一个功能强大、方便灵活的关系型数据库管理系统。
它具有完整的数据库应用程序开发工具,可用于开发适合特定数据库管理的Windows应用程序。
使用Access 2003,用户可以方便地设计、修改、浏览一个记录的数据表,可以在基本表记录的数据中进行各种查询,可以根据基本表的记录的数据设计各种报表,可以设计和使用各种窗体,可以通过设计和使用宏对基本表进行一系列特定的操作,甚至还可以使用Visual Basic语言进行更高级的程序开发。
任务1 学会数据库的创建、表的建立及字段属性设置我们通过一个小型的图书管理系统来边做边学吧。
1.数据库的创建首先启动Access 2003,出现Access 2003的启动界面,单击图7.1右下角的“新建文件”。
图7.1 Access 2003启动界面出现如图界面,单击图7.2右上角的“空数据库”图7.2 新建界面在出现的对话框中输入文件名“图书管理系统”,然后单击“创建”按钮,这样数据库就建好了。
注意记住该文件的保存位置。
这时图7.3出现的窗口是数据库窗口。
图7.3 创建数据库2. 用表设计器建立表在图7.4左边“对象”框中选择“表”,双击“使用设计器创建表”打开表设计器。
图7.4 建立表在图7.5表设计器中按照下面表格中的要求逐个输入字段的名称、类型和长度等数据。
注意,在表设计器窗口的上半部分输入字段名和类型,长度等其它内容在窗口的下半部分的“常规”页面中输入。
最后用鼠标右击“图书编号”在出现的快捷菜单中选择“主键”,将“图书编号”设为这个表的主键。
完成后关闭表设计器,系统会询问表的名称,输入表名“图书”,这样一个空的数据库表已建好了。
图7.5 表设计器在图7.4数据库窗口中就会出现刚才建立的表“图书”,双击它就会出现“图书”表窗口,接下来按照图7.6中的数据进行数据输入。
access 仓库管理

ACCESS 仓库管理系统姓名:学号:班级:一、实验目的与要求:ASSESS是一个数据库管理系统,它简单易学,一个普通的计算机用户可以很快的掌握它。
ACCESS2000的功能也十分强大,利用它可以方便的实现对信息保存、维护、查询、统计等,而且它可以十分方便地与OFFICE其他组件交流数据,这些功能对一个普通用户来说已经足够了。
本系统就是在以ACCESS2000作为后台数据库,以Visual Basic 为编程语言为中小型企业管理仓库而开发的一个数据库管理系统。
通过本实验,培养学生掌握开发Access数据库应用系统的方法。
综合运用课程中学会的知识,正确设计数据表,灵活运用各种查询方法。
设计使用性良好的窗体和报表,利用宏,VBA代码两种方式来编程,体验系统开发的过程,为开发数据库应用系统打下坚实的基础。
实验要求:1)建立一个ACCESS的数据库。
2)针对某项事务管理建立数据表结构。
3)建立用户访问机制,非管理员不能访问。
4)设计集成数据添加、浏览、更新、删除和查找等多种功能的数据表单。
5)运行程序,并用实际数据或模拟数据进行测试。
写出各项功能的测试界面和结果。
二、实验方案:1) 实验软件环境:WindwosXP中文版,Access2003中文版。
2) 项目名称:商品库存管理系统3) 实验需要实现的功能1、基本资料管理:功能:完成物品基本资料的数据录入、修改、删除。
并可对物品基本资料进行查询和统计、打印输出功能。
物品资料查询条件:按编号、名称、类别来查询。
2、物品管理:功能:完成对物品采购信息录入、修改、删除。
实现物品的入库,退货,并可对采购信息进行查询和统计、打印输出功能。
物品采购查询条件:按编号、名称、类别、日期来查询。
3、物品销售管理:功能:完成对物品销售信息管理,包括对销售信息的录入、修改、删除。
实现物品的出库,退货,并可对销售信息进行查询和统计、打印输出功能。
物品销售查询条件:按编号、名称、类别、日期来查询。
仓库管理系统(VB+Access+源代码)

仓库管理系统项目的建立这是本人利用闲暇之余在上制作的一个简陋的类库管系统,现图文结合的方式一步一步展现制作过程。
由于本人是个初学者,里面存在很多不足之处望得到高手们的指导。
此文可作供初学者们学习交流。
作者联系方式:E-mail最终运行效果打开软件出现如下登录界面输入系统预设用户名及密码( 1 1 )单击“登录”或单击“新用户”添加新用户进入如下主界面:建立工程1、创建标准EXE2、按“打开”3、添加MDI窗体——打开4、编辑菜单在空白处右击——点击“菜单编辑器”在“标题”里输入“系统”,在“名称”里输入“Sys”(注意此处不能为汉字)点击“下一个”再点击“”“确定”退到MDI界面点击“系统”——“退出”如下,然后编写代码。
代码如下:Private Sub Exit_Click()EndEnd Sub数据库的建立中可以创建Access数据库。
如下建立一个“用户表”的数据库,用来存放用户信息及一些出入库管理信息。
如下图单击“外接程序”再单击“可视化数据管理器”出现如图点击“文件”——“新建”——“Microsoft Access”——“Version MDB”输入数据库名,“保存”出现如下图在数据窗口中右击——“新建表”,最终如下往数据表里添加数据在这里就不罗嗦了,请查阅相关书籍。
登录界面窗口的建立最终界面如下:1、Adodc1的添加过程为:单击“工程”——“部件”出现下图所示,选择“控件”下的“Microsoft ADO Data Control (OLEDB)”单击“确定”在工具栏中会出现“”图标,单击它并拖动到相应位置即可。
其它元件不在一一说明。
2、本窗体代码如下:Private Sub Command1_Click() '“登录”、“确定”按钮 If = "确定" And = "取消" Then '如果为“确定”则添加新用户If = "" Then '提示用户输入用户名MsgBox "请输入用户名!", , "登录信息提示:"Exit SubElse 'Dim usename As String '检测用户名是否已经存在Dim strS As Stringusename = TrimstrS = "select * from 用户登录信息表 where 用户名='" & usename & "'"= adCmdText= strSIf = False ThenMsgBox "您输入的用户已存在!", , "登录提示信息:"= ""= ""= ""Exit SubEnd IfEnd IfIf = "" Then '提示用户密码不能为空 MsgBox "密码不能为空!", , "登录提示信息:"Exit SubEnd IfIf = "" ThenMsgBox "请再次输入密码!", , "登录提示信息:"Exit SubEnd IfIf <> ThenMsgBox "两次输入的密码不一致,请确认!", , "登录提示信息:"= ""Exit SubElse'添加新用户"用户名") = Trim"密码") = TrimMsgBox ("添加新用户成功,现在您可以登陆系统了!")= False= False= "登录"= "退出"End IfElse '“登录”按钮,用户登录 Dim strSno As StringDim strSelect As StringstrSno = Trim '检测用户名是否存在strSelect = "select 密码 from 用户登录信息表 where 用户名 = '" & strSno & "'"= adCmdText= strSelectIf = True ThenMsgBox "用户名不存在,请重新输入!", , "登录提示信息:"= ""= ""End IfIf "密码") = Trim Then '检测密码是否正确'Unload Me'MsgBox "登陆成功!", , "登录提示信息:"ElseMsgBox "密码不正确,请重新输入!", , "登录提示信息:"= ""End IfEnd IfEnd SubPrivate Sub Command2_Click() '“退出”或“取消”按钮 If = "取消" Then= False= False= "登录"= "退出"= ""= ""ElseEnd 'Unload MeEnd IfEnd SubPrivate Sub Command3_Click() '“新用户”按钮= True= True= ""= ""= ""= "确定"= "取消"End SubPrivate Sub Command3_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)= TrueEnd SubPrivate Sub Command3_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)= FalseEnd SubPrivate Sub Form_Load()= False= FalseEnd SubPrivate Sub Timer1_Timer() '时间time1控件的time事件代码,用来'显示向左移动的欢迎字幕If + > 0 Then '当标签右边位置大于0时,标签向左移- 80Else '否则标签从头开始=End IfIf + > 0 Then- 80Else=End IfEnd Sub主界面窗体如下:代码:Private Sub AddNew_Click() = True= FalseEnd SubPrivate Sub CHKPMCHX_Click()= "出库信息"Dim pm As StringDim n As Stringpm = InputBox("产品名", "请输入", 0)n = "select * from 出库表 where 品名 = '" & pm & "'" = adCmdText= nCall InitGrid1End SubPrivate Sub CHKXHCHX_Click()= "出库信息"Dim XH As StringDim n As StringXH = InputBox("产品型号", "请输入", 0)n = "select * from 出库表 where 型号 = '" & XH & "'" = adCmdText= nEnd SubPrivate Sub CKCZ_Click()'End SubPrivate Sub CKJSHR_Click()= "出库信息"Dim JSHR As StringDim n As StringJSHR = InputBox("经手人", "请输入", 0)n = "select * from 出库表 where 经手人 = '" & JSHR & "'"= adCmdText= nCall InitGrid1End SubPrivate Sub CKSHJ_Click()= "出库信息"Dim CHKRQ As StringDim n As StringCHKRQ = InputBox("出库日期,格式为:月/日/年如:12/1/2011", "请输入", 0) n = "select * from 出库表 where 出库日期 = '" & CHKRQ & "'"= adCmdText= nCall InitGrid1End SubPrivate Sub CKZCX_Click()= "出库信息"Dim ZB As StringZB = "select * from 出库表 "= adCmdText= ZBCall InitGrid1End SubPrivate Sub Command1_Click()If = "" Then '提示用户输入用户名MsgBox "请输入用户名!", , "登录信息提示:"Exit SubElse 'Dim usename As String '检测用户名是否已经存在 Dim strS As Stringusename = TrimstrS = "select * from 用户登录信息表 where 用户名='" & usename & "'"= adCmdText= strSIf = False ThenMsgBox "您输入的用户已存在!", , "登录提示信息:"= ""= ""= ""Exit SubEnd IfEnd IfIf = "" Then '提示用户密码不能为空MsgBox "密码不能为空!", , "登录提示信息:"Exit SubEnd IfIf = "" ThenMsgBox "请再次输入密码!", , "登录提示信息:"Exit SubEnd IfIf <> ThenMsgBox "两次输入的密码不一致,请确认!", , "登录提示信息:"= ""= ""Exit SubElse'添加新用户"用户名") = Trim"密码") = TrimDim X As IntegerX = MsgBox("成功添加新用户,是否要重新登录!", vbYesNo + vbQuestion + vbDefaultButton1, "提示信息!") If X = vbYes ThenUnload MeEnd If'MsgBox ("成功添加新用户!")' = False' = False' = "登录"' = "退出"End If= False= True= ""= "'"= ""'End SubPrivate Sub Command2_Click() = False= TrueEnd SubPrivate Sub CXDL_Click()'Unload MeEnd SubPrivate Sub Exit_Click()EndUnload Form1Unload Form2Unload Form3Unload Form4Unload Form5Unload Form6Unload Form7Unload Form8End SubPrivate Sub Form_Load()TextUserName = Trim Unload Form1= FalseCall InitGrid0= - 1060= - 560==End SubPrivate Sub GHCZ_Click()'End SubPrivate Sub GHPMCX_Click()= "归还信息"Dim pm As StringDim n As Stringpm = InputBox("产品名", "请输入", 0)n = "select * from 归还表 where 品名 = '" & pm & "'" = adCmdText= nCall InitGrid2End SubPrivate Sub GHRCX_Click()= "归还信息"Dim JCR As StringDim n As StringJCR = InputBox("归还人", "请输入", 0)n = "select * from 归还表 where 归还人 = '" & JCR & "'"= adCmdText= nCall InitGrid2End SubPrivate Sub GHSJCX_Click()= "归还信息"Dim JCRQ As StringDim n As StringJCRQ = InputBox("归还日期,格式为:月/日/年如:12/1/2011", "请输入", 0) n = "select * from 归还表 where 归还日期 = '" & JCRQ & "'"= adCmdText= nCall InitGrid2End SubPrivate Sub GHXHCX_Click()= "归还信息"Dim XH As StringDim n As StringXH = InputBox("产品型号", "请输入", 0)n = "select * from 归还表 where 型号 = '" & XH & "'" = adCmdText= nCall InitGrid2End SubPrivate Sub GHZCX_Click()= "归还信息"Dim ZB As StringZB = "select * from 归还表 "= adCmdText= ZBCall InitGrid2End SubPrivate Sub JCCZ_Click()'End SubPrivate Sub JCHPMCHX_Click()= "借出信息"Dim pm As StringDim n As Stringpm = InputBox("产品名", "请输入", 0)n = "select * from 借出表 where 品名 = '" & pm & "'"= adCmdText= nCall InitGrid2End SubPrivate Sub JCHXHCHX_Click()= "借出信息"Dim XH As StringDim n As StringXH = InputBox("产品型号", "请输入", 0)n = "select * from 借出表 where 型号 = '" & XH & "'"= adCmdText= nCall InitGrid2End SubPrivate Sub JCRCX_Click()= "借出信息"Dim JCR As StringDim n As StringJCR = InputBox("借出人", "请输入", 0)n = "select * from 借出表 where 借出人 = '" & JCR & "'" = adCmdText= nCall InitGrid2End SubPrivate Sub JCSHJCX_Click()= "借出信息"Dim JCRQ As StringDim n As StringJCRQ = InputBox("借出日期,格式为:月/日/年如:12/1/2011", "请输入", 0) n = "select * from 借出表 where 借出日期 = '" & JCRQ & "'"= adCmdText= nCall InitGrid2End SubPrivate Sub JCZCX_Click()= "借出信息"Dim ZB As StringZB = "select * from 借出表 "= adCmdText= ZBCall InitGrid2End SubPrivate Sub JSHRCHX_Click()= "归还信息"Dim JSHR As StringDim n As StringJSHR = InputBox("经手人", "请输入", 0)n = "select * from 归还表 where 经手人 = '" & JSHR & "'" = adCmdText= nCall InitGrid2End SubPrivate Sub JSHRCX_Click()= "借出信息"Dim JSHR As StringDim n As StringJSHR = InputBox("经手人", "请输入", 0)n = "select * from 借出表 where 经手人 = '" & JSHR & "'" = adCmdText= nCall InitGrid2End SubPrivate Sub PMCX_Click()= "库存信息"Dim pm As StringDim n As Stringpm = InputBox("产品名", "请输入", 0)n = "select * from 库存表 where 品名 = '" & pm & "'"= adCmdText= nCall InitGrid0End SubPrivate Sub RKCZ_Click()'End SubPrivate Sub RKJSHR_Click()= "入库信息"Dim JSHR As StringDim n As StringJSHR = InputBox("经手人", "请输入", 0)n = "select * from 入库表 where 经手人 = '" & JSHR & "'" = adCmdText= nCall InitGrid1End SubPrivate Sub RKPMCHX_Click()= "入库信息"Dim pm As StringDim n As Stringpm = InputBox("产品名", "请输入", 0)If Len(pm) > 0 Thenn = "select * from 入库表 where 品名 = '" & pm & "'" = adCmdText= nEnd IfCall InitGrid1End SubPrivate Sub RKSHJ_Click()= "入库信息"Dim RKRQ As StringDim n As StringRKRQ = InputBox("入库日期,格式为:月/日/年如:12/1/2011", "请输入", 0) n = "select * from 入库表 where 入库日期 = '" & RKRQ & "'"= adCmdText= nCall InitGrid1End SubPrivate Sub RKXHCHX_Click()= "入库信息"Dim XH As StringDim n As StringXH = InputBox("产品型号", "请输入", 0)If Len(XH) > 0 Thenn = "select * from 入库表 where 型号 = '" & XH & "'"= adCmdText= nEnd IfCall InitGrid1End SubPrivate Sub RKZCX_Click()= "入库信息"Dim ZB As StringZB = "select * from 入库表 "= adCmdText= ZBCall InitGrid1End SubPrivate Sub Timer1_Timer()If + > 0 Then '当标签右边位置大于0时,标签向左移- 80Else '否则标签从头开始 =End IfIf + > 0 Then- 80Else=End IfIf + > 0 Then- 80Else=End IfIf + > 0 Then- 80Else=End IfEnd SubPrivate Sub XGMM_Click()'End SubPrivate Sub XHCX_Click()= "库存信息"Dim XH As StringDim n As StringXH = InputBox("产品型号", "请输入", 0)If Len(XH) > 0 Then 'And Val(XH) <> 0n = "select * from 库存表 where 型号 = '" & XH & "'" = adCmdText= nEnd IfCall InitGrid0End SubPrivate Sub ZB_Click()= "库存信息"Dim ZB As String'Dim N As String'PM = InputBox("产品名", "请输入", 0)ZB = "select * from 库存表 " 'where 品名 = '" & PM & "'" = adCmdText= ZBCall InitGrid0End SubPrivate Sub InitGrid0()With DataGrid1.Columns(0).Width = 1600.Columns(1).Width = 2200.Columns(2).Width = 2200.Columns(3).Width = 1000.Columns(4).Width = 1000.Columns(5).Width = 4000End WithEnd SubPrivate Sub InitGrid1()With DataGrid1.Columns(0).Width = 800.Columns(1).Width = 1600.Columns(2).Width = 1600.Columns(3).Width = 800.Columns(4).Width = 800.Columns(5).Width = 1000.Columns(6).Width = 800.Columns(7).Width = 4000End WithEnd SubPrivate Sub InitGrid2()With DataGrid1'.Columns(0).Caption = "学号" ' .Columns(1).Caption = "课程名" '.Columns(2).Caption = "学分" ' .Columns(3).Caption = "成绩" '设置DtgCond的列宽.Columns(0).Width = 800.Columns(1).Width = 1600.Columns(2).Width = 1600.Columns(3).Width = 800.Columns(4).Width = 800.Columns(5).Width = 800.Columns(6).Width = 1000.Columns(7).Width = 800.Columns(8).Width = 4000End WithEnd Sub用户重新登录界面代码:Private Sub Command1_Click()Dim strSno As StringDim strSelect As StringstrSno = Trim '检测用户名是否存在 strSelect = "select 密码 from 用户登录信息表 where 用户名 = '" & strSno & "'"= adCmdText= strSelectIf = True ThenMsgBox "用户名不存在,请重新输入!", , "登录提示信息:"= ""= ""Exit SubEnd IfIf "密码") = Trim Then '检测密码是否正确Unload Me'MsgBox "登陆成功!", , "登录提示信息:"ElseMsgBox "密码不正确,请重新输入!", , "登录提示信息:" = ""End IfEnd SubPrivate Sub Command2_Click()Unload MeEnd Sub修改用户密码界面代码:Private Sub Command1_Click()If Trim <> ThenMsgBox "用户名不正确,请确认!", , "信息提示!"= ""Exit SubElseDim name As StringDim names As Stringname = Trimnames = "select * from 用户登录信息表 where 用户名='" & name & "'" = adCmdText= namesIf = "" ThenMsgBox "请输入旧密码!", , "信息提示!"Exit SubEnd IfIf "密码") <> Trim ThenMsgBox "旧密码不正确,请确认!", , "信息提示!"= ""Exit SubEnd IfIf = "" ThenMsgBox "请输入新密码!", , "信息提示!"Exit SubEnd IfIf = "" ThenMsgBox "请再次输入新密码!", , "信息提示!"Exit SubEnd IfIf Trim <> Trim ThenMsgBox "两次输入的新密码不一致!", , "信息提示!" = ""= ""Exit SubElse"密码") = TrimMsgBox ("密码修改成功!")Unload Me'End IfEnd IfEnd SubPrivate Sub Command2_Click()Unload Me'End Sub入库管理代码:Private Sub Command1_Click()If = "" And = "" ThenMsgBox "“品名”和“型号”不能同时为空,必须输入其中一项!", , "提示信息!" Exit SubElseIf = "" And = "" ThenMsgBox "请输入产品“数量”或“单位”之一!", , "提示信息!"Exit SubEnd IfIf = "" ThenMsgBox "请经手人签名!", vbCritical, "提示信息!"Exit SubEnd If'添加 "品名") = Trim"型号") = Trim"数量") = Trim"单位") = Trim"经手人") = Trim"入库日期") = Date"说明") = TrimEnd IfDim pm As StringDim pms As StringDim n As StringDim m As Stringpm = Trimn = Valpms = "select * from 库存表 where 品名='" & pm & "'"= adCmdText= pmsIf ThenWith Form2. ."品名") = Trim."型号") = Trim."数量") = Trim."单位") = Trim."说明") = Trim. End WithElsem = "数量").ValueIf "型号") = Trim Then"数量") = Val(m) + Val(n)End IfEnd IfDim X As IntegerX = MsgBox("产品入库登记成功,是否继续添加产品!", vbYesNo + vbQuestion + vbDefaultButton1, "提示信息!") If X = vbNo ThenUnload Me'Else= ""= ""= ""= ""= ""= ""= ""End If= "入库信息"Dim ZB As StringZB = "select * from 入库表 " 'where 品名 = '" & PM & "'"= adCmdText= ZBSubPrivate Sub Command2_Click()= ""= ""= ""= ""= ""= ""End SubPrivate Sub Command3_Click()Unload Me'End Sub出库管理代码:Private Sub Command1_Click()If = "" And = "" Then ' = "" And = "" ThenMsgBox "“品名”和“型号”不能同时为空,必须输入其中一项!", , "提示信息!" Exit SubIf = "" And = "" Then ' = "" ThenMsgBox "请输入产品“数量”或“单位”之一!", , "提示信息!"Exit SubEnd IfIf = "" ThenMsgBox "请经手人签名!", vbCritical, "提示信息!"Exit SubEnd If'添加"品名") = Trim 'Trim"型号") = Trim 'Trim"数量") = Trim"单位") = Trim 'Trim"经手人") = Trim"出库日期") = Date"说明") = TrimEnd IfDim pm As StringDim pms As StringDim n As StringDim m As Stringpm = Trimn = Valpms = "select * from 库存表 where 品名='" & pm & "'"= adCmdText= pmsm = "数量").ValueIf "型号") = Trim Then"数量") = Val(m) - Val(n)End IfDim X As IntegerX = MsgBox("产品出库登记成功,是否继续添加产品!", vbYesNo + vbQuestion + vbDefaultButton1, "提示信息!") If X = vbNo ThenUnload Me'End If= ""= ""= ""= ""= ""= ""= ""= "出库信息"Dim ZB As StringZB = "select * from 出库表 " 'where 品名 = '" & PM & "'"= adCmdText= ZBSubPrivate Sub Command2_Click()= ""= ""= ""= ""= ""= ""= ""End SubPrivate Sub Command3_Click() Unload Me'End SubPrivate Sub Form_Load()Do Until "型号") "品名")"单位")LoopEnd Sub借出管理代码:Private Sub Command1_Click()If = "" And = "" Then ' = "" And = "" ThenMsgBox "“品名”和“型号”不能同时为空,必须输入其中一项!", , "提示信息!" Exit SubElseIf = "" And = "" Then ' = "" ThenMsgBox "请输入产品“数量”或“单位”之一!", , "提示信息!"Exit SubEnd IfIf = "" ThenMsgBox "请经手人签名!", vbCritical, "提示信息!"Exit SubEnd If'添加"品名") = Trim 'Trim"型号") = Trim 'Trim"数量") = Trim"单位") = Trim 'Trim"经手人") = Trim"借出人") = Trim"借出日期") = Date"说明") = TrimEnd IfDim pm As StringDim pms As StringDim n As StringDim m As Stringpm = Trimn = Valpms = "select * from 库存表 where 品名='" & pm & "'"= adCmdText= pmsm = "数量").ValueIf "型号") = Trim Then"数量") = Val(m) - Val(n)End IfDim X As IntegerX = MsgBox("产品借出登记成功,是否继续添加产品!", vbYesNo + vbQuestion + vbDefaultButton1, "提示信息!") If X = vbNo ThenUnload MeEnd If= ""= ""= ""= ""= ""= ""= ""= "借出信息"Dim ZB As StringZB = "select * from 借出表 " 'where 品名 = '" & PM & "'" = adCmdText= ZBSubPrivate Sub Command2_Click()= ""= ""= ""= ""= ""= ""= ""End SubPrivate Sub Command3_Click()Unload MeEnd SubPrivate Sub Form_Load()Do Until "品名")"型号")"单位")LoopEnd Sub归还管理代码:Private Sub Command1_Click()If = "" And = "" Then ' = "" And = "" ThenMsgBox "“品名”和“型号”不能同时为空,必须输入其中一项!", , "提示信息!" Exit SubElseIf = "" And = "" Then ' = "" ThenMsgBox "请输入产品“数量”或“单位”之一!", , "提示信息!"Exit SubEnd IfIf = "" ThenMsgBox "请经手人签名!", vbCritical, "提示信息!"Exit SubEnd IfIf = "" ThenMsgBox "请输入归还人姓名!", vbCritical, "提示信息!"Exit SubEnd If'添加 "品名") = Trim 'Trim"型号") = Trim 'Trim"数量") = Trim"单位") = Trim 'Trim"经手人") = Trim"归还人") = Trim"归还日期") = Date"说明") = TrimEnd IfDim pm As StringDim pms As StringDim n As StringDim m As Stringpm = Trimn = Valpms = "select * from 库存表 where 品名='" & pm & "'"= adCmdText= pmsm = "数量").ValueIf "型号") = Trim Then"数量") = Val(m) + Val(n)End IfDim X As IntegerX = MsgBox("产品归还登记成功,是否继续添加产品!", vbYesNo + vbQuestion + vbDefaultButton1, "提示信息!") If X = vbNo ThenUnload MeEnd If= ""= ""= ""= ""= ""= ""= ""= "归还信息"Dim ZB As StringZB = "select * from 归还表 " 'where 品名 = '" & PM & "'"= adCmdText= ZBSubPrivate Sub Command2_Click()= ""= ""= ""= ""= ""= ""= ""End SubPrivate Sub Command3_Click() Unload MeEnd SubPrivate Sub Form_Load()' Dim i As String' i = 0'' ' Do Until ' "品名") ' "型号")' "单位")' ' i = i + 1' LoopCall pmEnd SubPrivate Sub pm()Dim i As VariantDim j As VariantDim k As VariantDim a As VariantDim b As VariantDim c As VariantDim s As VariantDim D As Varianti = 0j = 0Do Until a = a + "," + "品名")b = b + "," + "型号")b = b + "," + "单位")i = i + 1LoopD = Split(a, ",")If j < i Thens = D(2)s'k = 0'If k < j And D(k) <> D(j) Then'If D(k) <> D(j) Then' D(j)' k = k + 1' Else' k = k + 1'End If'End Ifj = j + 1End If= s 'a + "," + D(2) + D(1) '+ " " + Val(i) + " " + Val(j) + " " + Val(k) = j' D(1)End Sub。
Access2003教程(完整版)

Access教程第一章 Access数据库基础◆数据库基础知识及关系数据库管理系统。
◆ Access 2003 中文版介绍.数据库技术产生于60年代末、70年代初,它的出现使计算机应用进入了一个新的时期——社会的每一个领域都与计算机应用发生了联系。
数据库是计算机的最重要的技术之一,是计算机软件的一个独立分支,数据库是建立管理信息系统的核心技术,当数据库与网络通信技术、多媒体技术结合在一起时,计算机应用将无所不在,无所不能。
作为本课程学习的开始,我们首先要了解的是:什么是数据库?什么是数据库管理系统?什么是Access呢?一、数据库的基本知识1.什么是数据库数据库这个词有多种解释,简单的定义是这样的:数据库(DataBase)是结构化数据的集合。
从广义上讲,数据库就是数据或信息的集合,相当于一个数据仓库。
具体来说,数据库是一组经过计算机整理后的数据,在关系数据库中,它由许多数据表组成。
David M.Kroenke关于数据库的定义是:数据库是指自描述的完整记录的集合。
它表达了三层含义:⑴数据库是自描述的.数据库除了包含用户的源数据以外,还包含关于它本身结构的描述,这个描述称作数据词典(或数据目录、元数据)。
从这个意义上讲,数据库与作为一个自描述的书的集合的图书馆相似:除了书籍以外,图书馆还包含一个描述它们的卡片目录.⑵数据库是集成记录的集合。
数据的标准结构如下:位—> 字节 -> 域—> 记录 -〉文件,按这种模式说,文件组合成数据库是非常诱人的,但却无法深入,数据库将包含四种数据:用户数据文件、元数据、索引、应用元数据。
用户数据大多表示为表格,称之为数据表,它存放了用户的各种有用资料和数据.例如:元数据是关于用户数据的结构的描述,称之为系统表。
例如:索引数据改进了数据库的性能和可访问性,称之为概括数据。
例如:应用元数据用来存储用户表格、报表、查询、媒体数据和其它形式的应用组件。
项目七 Access2003数据库管理

一、知识准备
使用窗体可以完全自定义从查询或表抽取数据的表示。窗体就像
一个对话框一样,可以一次查看记录的多个字段,同时也可以查 看多条记录,它比数据表视图更直观。 • 窗体是主要用于数据输入、显示及应用程序的执行控制的对象。
• 窗体的视图类型分为5种,分别是“设计”视图、“窗体”视图、
• 添加“借还信息表”和“设备信息表”并建立两表中“仪器编号 ”字段的关联,创建 名为“使用者—仪器名称” 的查询。
16
项目七 Access2003数据库管理
课后任务训练
训练3:创建窗体 任务要求:
• 以“设备信息表”和“借还信息表”作为数据源,使用向导创建 窗s2003数据库管理
任务2 查询的创建与操作
一、知识准备
数据集合,例如在“学生成绩信息表”中查找到英语成绩不及格 • 在数据库中,查询是用于查找一个或多个表中的符合特定准则的
的同学记录。查询和表是两个不同的概念,表是数据的集合,是
数据源;查询是一个操作的集合,是在创建过程中形成的一个动 态数据集。在Access 2003中,可以使用实例图形化查询工具, 也可以使用SQL语句来创建查询。 • 在Access 2003中,创建查询有两种方法:一种是使用向导创建 查询;一种是在设计视图中创建查询。通过向导创建查询,可以 在一个或多个表或查询中指定的字段检索数据,通过向导创建的
业和公司的数据处理业务,通过使用数据库管理软件处理日常工
作中的数据,有效地提高了工作效率。Access 2003 简单易学, 基本不需要编写程序代码,只要操作正确就能完成数据的处理任
务。
2
项目七 Access2003数据库管理
任务1 数据库的创建与操作
Access 2003_第4章 Access 2003数据库管理系统

3
冶金工业出版社
高等教育“十一五” 高等教育“十一五”规划教 材
• (4)Access 2003支持多媒体技术,可以通过 OLE(对象链接与嵌入)技术来保存、编辑、 展示声音和图像等多媒体数据。 • (5)具有基于Web的管理功能。HTML是 Access 2003的文件保存格式之一,Access可 以通过Web实现信息共享,并具有将文件发布 到Web上的功能。 • (6)内置众多的宏和函数,具备完善的联机 帮助。宏可以帮助用户快速便捷地完成一些数 据库的常规操作;函数可以建立表达式,实现 各种算术运算、逻辑运算;遇到问题时,用户 可以利用联机帮助获取帮助信息。
12
冶金工业出版社
高等教育“十一五” 高等教育“十一五”规划教 材
• 4.3.6 宏对象 • 宏是指一个或多个操作的集合,每个操作实现 特定的功能。宏可以使某些普通的、需要多个 指令连续执行的任务能够通过一条指令自动地 完成。宏可以是包含一个操作序列的宏,也可 以是若干个宏的集合所组成的宏组。一个宏或 宏组的执行与否还可以使用一个条件表达式是 否成立予以判断,即可以通过给定的条件来决 定在哪些情况下运行宏。
冶金工业出Байду номын сангаас社
高等教育“十一五” 高等教育“十一五”规划教 材
第4章 Access 2003数据库管 章 数据库管 理系统
4.1 4.2 4.3 4.4 Access 2003的特点 的特点 Access 2003的新增功能 的新增功能 Access 2003的数据库对象 的数据库对象 启动和关闭Access 2003 启动和关闭
7
冶金工业出版社
高等教育“十一五” 高等教育“十一五”规划教 材
• 4.3.2 查询对象 • 查询可以按照不同的方式查看、更改和分析数 据,也可以使用查询作为窗体、报表和数据访 问页的记录源。查询可以查找并检索符合指定 条件的数据,而这些数据可能存储在多个表中, 查询可以一次更新或删除多个记录。查询到的 数据记录集合称为查询的结果集,结果集以二 维表的形式显示出来,但它们不是基本表。每 进行一次查询操作,其结果集显示的都是基本 表中当前存储的实际数据。
第3章Access2003数据库管理系统概述

2020/1/23
数据库中的“页”对象
2020/1/23
6. 宏
宏是Access数据库中一个或多个操作(命令) 的集合,它可以将若干个操作组合在一起,以简化 一些经常性的操作。利用宏可以使大量的重复性操 作自动完成,以方便对数据库的管理和维护。
在数据库对象窗口中双击打开“系统菜单”宏, 如图所示。
Access数据库对象之间的关系示 意图
2020/1/23
1.表
表是数据库的核心与基础,是数据库中最重要的 基本对象,表中存放数据库中的全部数据,是整个 数据库系统的数据源,一个数据库中可以建立多个 表。
在数据库对象窗口中双击打开“课程”表,如图 所示。
2020/1/23
数据库中的“表”对象
2020/1/23
3.2 Access 2019工作界面
Access 2019是Office 2019组件之一, 具有与Word、Excel和PowerPoint等应用程 序统一的操作界面和相似的操作规则,在 Office 2019正确安装完成以后就可以使用 了。下面我们介绍Access的工作界面。
2020/1/23
2020/1/23
数据库中的“宏”对象
2020/1/23
7. 模块
Access中的模块是用Access支持的VBA(Visual Basic for Applications)语言编写的程序段的集合。 创建模块对象的过程也就是使用VBA编写程序的过 程。
在数据库对象窗口中双击打开“通用”模块,如 图所示。
2020/1/23
数据库中的“模块”对象
2020/1/23
3.4 Access系统设置
ACCESS2003数据库系统开发实例

9.3 设计数据库
9.3.1 设计数据库的过程
设计数据库要完成以下几个工作:
(1)收集数据:就是将与数据库应用系统相关的数据汇集到一起。
(2)分析数据:根据数据库应用系统的需求,分析确定数据的来源, 删除重复数据,删除无关数据。 (3)规范数据:按“数据规范化”原则,设计数据库应该使用多少 个数据表,并合理定义每个数据表的结构以及数据类型。 (4)建立关联:在数据库中,确定表之间的关系。
《Access2003数据库应用技术 》
习题思考
1. 数据库应用系统开发的一般过程是怎样的? 2. 如何完成设置数据库密码? 3. 自动启动窗体的作用是什么?如何创建自 动启动窗体? 4. 在开发数据库应用系统中,系统菜单的关 键作用是什么?
《Access2003数据库应用技术 》
实验13 学生学籍管理系统开发
9.5 创建学籍管理系统报表
1. 设计单表报表
《Access2003数据库应用技术 》
2、设计多表报表
《Access2003数据库应用技术 》
3. 设计统计汇总报表
《Access2003数据库应用技术 》
9.6 实现学生学籍管理系统
1. 创建“系统登录”窗体
《Access2003数据库应用技术 》
《Access2003数据库应用技术 》
2.设置应用程序图标
操作步骤: ( 1 )打开“学籍管理 ”数据库。 (2)选择“工具 ”→“启动”命令,打开 “启动”对话框。 (3)单击“浏览”按 钮,打开“图标浏览器” 对话框。
《Access2003数据库应用技术 》
9.7 维护学生学籍管理系统
9.7.1压缩和修复数据库 压缩Access数据库文件 关闭时自动压缩数据库文件 压缩生成副本数据库文件 修复Access数据库文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对象选区中双击打开“Device_Code”表,在字段名行下边的
w. ww 文本框中输入数据。输入数据后,就完成了这个表的设计,如图 11 所示。
ww ook. 图 11 oo nb 按照上述的步骤,再分别创建其他的数据表,并分别按照对应的表的内容设置各“表”的属性,
nb .c 设计结果分别如下: c w (1)Device_In 表的设计,如图 12 所示。 w. ww (2)Device_Out 表的设计,如图 13 所示。
book 用 Access 2003 开发仓库管理系统 t w net 内容提要:本文介绍了一个仓库管理系统的开发设计和各种功能实现过程。学完本文后,读者 e . 应能综合运用 Access 的基本工具完成数据库应用系统的建立,以及如何使用 SQL 语言实现复杂的 .n ok 数据处理。另外,本文还介绍了如何使用 Access 提供的 VBA 来编写时间驱动程序,解决 Access 向 ok bo 导无法实现复杂处理和判断控制等问题,使开发出来的系统更具灵活性和自主性,从而满足用户的 o cn 实际需求。 . 关键字:SQL 语言、仓库管理 ww 引言:企业的物资管理往往是很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠 w t 道各有差异,各个企业之间的管理体制不尽相同,各类统计计划报表繁多等原因,物资管理有必要 e 实现计算机信息化管理,而且必须根据企业的具体情况制定相应的方案。 et .n 正文: k.n ook 1 系统的分析和设计 oo nb 仓库管理的物资在本文中主要是企业生产所需要的各种设备。进货时经检查合同确认为有效托 nb .c 收以后,进行验收入库,需要填写入库单,并进行入库登记。企业各个部门根据所需要的物资设备 .c ww 总额和部门生产活动需要提出物资需求申请。计划员根据整个企业需求开出物资设备出库单,仓库 w 管理员根据出库单核对发放设备。 et 设备使用完毕需要何时归还入库,填写入库单。还需要按月、季、年进行统计分析,产生相应 et .n 报表。 .n ok 1.1 功能分析 ook nbo 本例中的仓库管理系统主要有如下几个功能: nb .c (1)仓库管理各种信息的输入,包括入库、出库、还库、需求信息的输入等。 c w (2)仓库管理各种信息的查询、修改和维护。 w. ww (3)设备采购报表的生成。 w (4)在库存管理中加入最高储备和最低储备字段,对仓库中的物资设备实现监控和报警。 w (5)企业各个部门的物资需求的管理。 net k. (6)操作日志的管理。 k. oo 1.2 系统功能模块的设计 boo cnb 根据上述的分析,可以将本系统分成几个功能模块,基本结构如图 1 所示。
ok bo (1)启动 Microsoft Access 2003,出现“Microsoft Access”数据库设计界面。
o n (2)单击工具栏上的新建按钮 ,在 Access 2003 窗体的右边出现“新建文件”任务窗格。
nb .c (3)在该任务窗格中选择
项,系统弹出“模板”对话框。单击“常用”选项卡,然
日期/时间 日期/时间
短日期 短日期
.ne ok. (6)Device_Return 表的逻辑结构设计如表 6 所示。
k o 表 6 Device_Return 表的逻辑结构
oo nb 字段名称
数据类型
字段大小
nb .c 设备号 c w 还库时间 w. ww 仓库管理员
归还数量
文本 日期/时间 文本 数字
.c ww 后选择其中的 模板。
w w (4)单击“确定”按钮,这时出现要选择数据库的保存路径的对话框。在“文件名”右边的文
ww本框里输入文件名为“仓库管理系统”。
et . (5)单击“创建”按钮,就进入数据库窗口。
.n ok 至此,就创建了“仓库管理系统”数据库。
ok bo 2.2 E-R 图的设计
nb .c 表 3 Device_Out 表的逻辑结构
.c ww 字段名称 w w 设备号 w 出库时间(主键) w 使用部门
数据类型 文本 日期/时间 文本
字段大小 20 常规日期 20
允许空值 必填
※ 3 ※
book 字段名称 ww 出库状况 t 经手人 t ne 出库数量 e . 领取人 .n ok 用途
数据类型 数字 文本 数字 文本 文本
字段大小 长整型 20 长整型 20 50
ok bo (4)Device 表的逻辑结构设计如表 4 所示。
o n 表 4 Device 表的逻辑结构
.c 字段名称
数据类型
字段大小
ww 设备号(主键) w 现有库存
文本 数字
20 长整型
t 最大库存
数字
长整型
t ne 最小库存
图 15
.cnbook.n book 图16 oo nb (7)Derice-Buy 表的设计如图 18 所示。
图 17
b www.c book. 图18 w. ww 当所有的数据表都创建完成以后,数据库窗口的
w 为用户设计、修改和录入数据的入口,如图 19 所示。
wtww. 图1 book.ne ※ 1 ※
.cnbook 1.3 系统的数据流程图的设计 ww 数据库的结构设计是一个非常重要的问题,数据库结构设计的好坏将直接对应用系统的效率以
w t 及实现的效果产生影响。在上述分析的基础上,可以得到本系统的数据流程图,如图 2 所示。
ww 表 8 Device_Buy 表的逻辑结构
t 字段名称
数据类型
字段大小
ne 设备号 . 现有库存
文本 数字
20 长整型
ok 总库存
数字
长整型
bo cn 最大库存
数字
长整型
n . 购买数量
数字
长整型
.c ww 供应商 w w 价格
文本 货币
20 缺省
w 计划采购时间(主键) 日期/时间
短日期
w ※ 4 ※
ww 时该行左方出现一个钥匙形图标,结果如图 10 所示。
图10
oo nb (5)单击工具栏上的保存按钮 ,系统弹出“另存为”对话框,输入表名为“Device_Code”,
b c 然后单击“确定”按钮。
cn w. (6)关闭表设计视图,在
ww 图12
※5※
图 13
.cnbook (3)Device 表的设计如图 14 所示。 w (4)Device_Need 表的设计如图 15 所示。
ww t 图14 t ne (5)Device_Return 表设计如图 16 所示。 e . (6)Howdon 2 数据表的创建和设计
.c ww 使用 Access 数据库管理系统建立应用系统,首先需要创建一个数据库。然后在该数据库中添加 w t 所需的表、查询、窗体、报表、宏等对象。
t ne 2.1 数据库的创建
.ne ok. 首先,使用向导设计“仓库管理系统”数据库,然后才进行表的设计。具体步骤如下:
.c ww (1)Device_Code 表的逻辑结构设计如表 1 所示。
w w 表 1 Device-Code 表的逻辑结构
w 字段名称 w et . 设备号(主键)
n k 设备名称
数据类型 文本 文本
字段大小 20 20
允许空值 必填
k. oo (2)Device_In 表的逻辑结构设计如表 2 所示。
数字
长整型
e . 总数
数字
长整型
k.n ook (5)Device_Need 表的逻辑结构设计如表 5 所示。
o b 表 5 Device_Need 表的逻辑结构
bo cn 字段名称
数据类型
字段大小
cn w. 设备号 . w 部门名称
w 需求数量
文本 文本 数字
20 20 长整型
et 需求开始时间 t n 需求结束时间
oo nb 表 2 Device-In 表的逻辑结构
nb .c 字段名称 c w 设备号 w. ww 入库时间(主键)
供应商
ww供应商电话 t 入库数量 ne 价格 . 采购员
数据类型 文本 日期/时间 文本 文本 数字 货币 文本
字段大小
20 常规日期
20 20 长整型 缺省
20
允许空值 必填
ook n (3)Device_Out 表的逻辑结构设计如表 3 所示。
nbo .cn 根据上述的分析,规划出的实体有:现有库存实体、入库实体、出库实体、设备采购实体、设 c w 备还库实体、部门需求实体。各个实体的 E-R 图如图 3~图 8 所示。
w. ww (1)现有库存实体的 E-R 图如图 3 所示。 w (2)入库实体的 E-R 图如图 4 所示。
w .cn 图3
ww 数据表的属性。下面通过创建 Device_Code 表为例来说明创建数据表的具体步骤:
et (1)在数据库窗口中的
对象选区中双击
选项,系统进入表的设计视图。
t n (2)在
列的第一行中输入第一个字段名“设备号”,在
列表框中选择“文
ne k. 本”,然后在下边的“字段属性”框中,在“字段大小”的文本框中将属性值改为“20”,在“必填
菜单项,或者直接单
book.ne 图20 et (2)在“显示表”对话框中,分别双击要建立关系的表项目:“Device_Code”、“Device_In”、
图4
.c ww (3)出库实体的 E-R 图如图 5 所示。
w w (4)部门需求实体的 E-R 图如图 6 所示。
ww (5)设备还库实体的 E-R 图如图 7 所示。
※ 2 ※
.cnbook (6)设备采购实体的 E-R 图如图 8 所示。
net www 图5
图6