1、Access 难点第一章 数据表操作一、数字型字段大小的属性取值类型 作用 小数位 占用空间字节 0255(无小数位)的数字 1 个字节整型 -3276832767(无小数位)的数字 2 个字节长整型 -21474836482147483647(无小数位)的数字4 个字节单精度型 负值:-3.4X10 38-1.4X1045的数字正值:1.4X10 453.4X1038的数字7 4 个字节双精度型 负值:-1.8X10 308-4.9X10-324的数字正值:4.9X10 -3243.4X10308的数字15 8 个字节二、输入掩码属性所使用字符的含义字符 说明0 必须输入数字(09)9 可以
2、选择输入数字或空格# 可以选择输入数据或空格(在“编辑”模式下空格以空白显示,但是在保存数据时将空白删除,允许输入加号或减号)L 必须输入字母(AZ)? 可以选择输入字母(AZ)A 必须输入字母或数字a 可以选择输入字母或数字& 必须输入一个任意的字符或一个空格C 可以选择输入一个任意的字符或一个空格将所有字符转换为大写! 使输入掩码从右到左显示,而不是从左到右显示。输入掩码中的字符始终是从左到右填入。可以在输入掩码中的任何地方输入。 使接下来的字符以原意字符显示(例如,A 只显示 A)三、有效性规则中使用的运算符运算符 意义小于 大于= 小于等于 大于等于= #1981-01-01# And
3、 as , as From 子句:数据来源,即从哪些表或视图中查询。Where 子句:查询条件,即选择满足条件的记录Group by 子句:对查询结果进行分组Having 子句:限定分组的条件,必须在 Group by 子句后用Order by 子句:对查询结果进行排序,ASC 表示升序, DESC 表示降序七、Insert 语句(插入操作)格式:Insert Into (,)Values(,)例:向图书表中插入一个元组的部分属性:Insert Into 图书(总编号,书名,单价) Values(“ 1234”,“计算机应用基础”,46.50)八、Delete 语句(删除记录)格式:Delet
4、e From Where 例:删除借书证号为 0001 所借总编号为 1234 的借阅登记Delete From 借阅 Where 借书证号=“0001” And 总编号=“1234”九、Update 语句(更新操作)格式:Update Set = ,=, Where 例:将总编号为 1234 的图书填上作者和出版单位Update 图书 Set 作者=“张三” ,出版单位=“ 新华社” Where 总编号=“1234”将所有图书的单价上调 5%Update 图书 Set 单价=单价 *1.05第三章 报表一、报表的功能定制数据的输出格式 分组组织与汇总数据 多样的输出内容二、报表的结构结构组成
5、 作用报表页眉 用来显示整个报表的标题、徽标、制作单位、日期及说明性文字等信息。每份报表输出一次该节中的内容,常使用分页控件将报表页眉打印在单独页上作为报表的封面页面页眉 位于每一页的顶部,用来显示列标题、页码、日期、时间等信息主体 报表的主要组成部分,用来显示报表数据源中记录的详细内容,是数据的明细部分。对应于数据源中的每个记录,该节中的内容都将输出一次。页面页脚 位于每一页的底部,用来显示页面摘要、页码、本页汇总数据等信息。报表页脚 用来显示整个报表的统计、日期和总结性文字等信息。每份报表输出一次该节中的内容,输出到报表的末尾。组页眉 用来显示分组字段标题、说明性文字等分组信息。输出到每一
6、个新记录祖的开始处、记录明细部分之前。组页脚 用来显示分组计算和汇总数据等内容。输出到每一个记录组的末尾、记录明细部分之后。三、报表的视图设计视图 打印预览视图 版面预览视图 四、报表的类型纵栏式报表(明细报表) 表格式报表 图表报表 标签报表 五、报表分组字段的数据类型与分组形式选项(书 P125)六、子报表子报表是插入到主报表中的报表,常用来输出具有“一对多”关系的数据源中的数据。主报表中显示“一”端表中的记录,子报表则显示与“一”端当前记录相对应的“多”端报表中的记录。子报表中还可包含子报表,也可以包含子窗体,最多可以嵌套两层。 第四章 数据访问页一、数据访问页概念及功能数据访问页也简称
7、为页,是直接联系到数据库数据上的一种 Web 页。用户可以在Internet 或 Intranet 上通过浏览器对数据库中的实时数据进行查看、编辑、更新、删除、筛选、分组和排序。二、数据访问页的结构数据访问页以独立的 HTML 文件的形式存在,其文件扩展名为.htm。数据访问页由标题节、页眉节、导航节三部分组成。三、数据访问页的视图设计视图 页面视图 Web 页预览视图四、数据访问页的类型交互式报表型 数据输入型 数据分析型五、数据访问页的创建方法自动创建数据页(可以创建一个包含指定表或查询中所有字段的数据访问页,利用这种方法只能创建纵栏式的数据访问页,是创建数据访问页最快捷的方法) 数据页向
8、导(其数据源可以是多个表或者查询) 设计视图六、设置数据访问页背景用户可以设置自定义的背景颜色、背景图片以及背景声音等。 第五章 宏一、宏的概念及分类宏是由一个或多个操作组成的集合,其中的每个操作在运行宏时由前向后依次执行,每个操作都由命令来完成并实现特定的功能。在 Access 中,宏可分为三类:操作序列宏 宏组 含有条件操作的条件宏二、常用宏操作宏命令 功能 主要操作参数ApplyFilter 对表、窗体或报表应用筛选、查询或 SQL 的 WHERE 子句,筛选名称、Where 条件以便限制或排序表、窗体或报表的记录Beep 使计算机发出嘟嘟声 无Close 关闭指定对象或窗口 对象类型/
9、名称,为空则关闭激活的窗口FindNext 查找符合条件的、最近的下一条记录无FindRecord 查找符合条件的记录 查找内容、匹配、格式化等GoToRecord 指定对象记录 对象类型、对象名称、记录、偏移量等Maximize 窗口最大化,充满 Access 窗口无Minimize 窗口最小化,变成 Access 底部小题无MsgBox 显示警告或提示消息框 消息内容、类型、标题、是否发声OpenDataAccessPage 在浏览或设计视图中打开数据访问页视图与数据访问页的选择OpenForm 打开窗体 窗体名称、Where 条件OpenFunction 在设计视图或打印预览中打开函数函
10、数源、函数名称、数据模式OpenModule 在设计视图中打开 Visual Basic 模块模块名称、过程名称OpenQuery 打开/运行查询 查询名称、视图种类、数据模式OpenReport 打开报表 报表名称、视图种类、Where 条件OpenTable 打开表 表名称、视图种类、数据模式Quit 退出 Access 选择一种保存选项:提示/全部保存/退出Requery 指定重新查询或刷新 控件名称Restore 将窗口恢复到原来的大小 无RunApp 执行另一个应用程序 输入命令信息RunCommand 执行菜单命令 输入/选择将执行的命令RunMarco 执行另一个宏 宏名、重复次
11、数、重复表达式RunSQL 执行 SQL 语句 定义输入 SQL 语句Save 保存指定对象 对象类型、对象名称SetValue 为数据对象设置属性值 项目、表达式SetWarnings 关闭或打开所有的系统信息 打开警告,选择是/否TransferDatabase 数据库之间导入、导出或链接数据迁移类型、对象类型、源、目标等三、宏组宏组是共同存储在一个宏对象下的相关宏的集合。通常宏组只作为一个宏来引用,也需要有自己的名字,并且作为宏组的唯一标识。在条件宏中, “条件”列使用省略号“” 表示该行操作条件是继承上一行的条件结果。四、引用窗体和报表控件值的方式Forms!窗体名!控件名. 属性名
12、Reports!报表名!控件名.属性名五、自动运行宏AutoExec 当打开该宏所在的数据库时,会执行该宏里面的操作。想要取消自动运行宏,可以在打开该数据库时,同时按“Shift”键进行取消。第六章 窗体一、窗体的概念与功能窗体是用户与数据库之间的桥梁,为用户提供一个输入、显示和编辑数据的良好界面,方便用户进行各种数据库操作。窗体具有以下功能:显示和编辑数据控制应用程序流程接受用户输入的数据与用户进行交互打印数据二、窗体的结构结构组成 作用窗体页眉 位于窗体的顶部位置,用于显示窗体的标题、徽标和操作说明等不随记录改变的内容。窗体的“数据表”视图不显示窗体页眉的内容。页面页眉 用于设置窗体在打印
13、时的页头信息,如列标题、页码、日期等内容。窗体视图不显示页面页眉的内容。主体 窗体的基本组成部分,通常包含绑定到数据源(表或查询)中字段的控件,用于显示、修改、添加记录数据,也可包含未绑定空间,如标签等。页面页脚 用于设置窗体在打印时的页脚信息,如页码、本页汇总、日期、页面摘要等内容。窗体视图不显示页面页脚的内容。窗体页脚 位于窗体的尾部,用于显示窗体的使用说明、命令按钮等不随记录改变的内容。窗体的“数据表”视图不显示窗体页脚的内容。三、窗体的视图设计视图 窗体视图 数据表视图 数据透视表视图 数据透视图视图四、窗体的类型纵栏式窗体 表格式窗体 数据表窗体 主/子窗体 数据透视表窗体 图表窗体
14、五、窗体的设计视图1、在窗体的设计视图中,可以使用工具箱或字段列表向窗体中添加控件。2、窗体设计视图的工具箱上有 20 个工具按钮,其中, “标签”控件用来显示说明性文本,“文本框”控件用来输入、编辑或显示数据六、窗体对象的事件Access 的对象可以响应多种类型的事件:鼠标事件 键盘事件 焦点事件 窗体事件 数据事件 筛选事件七、窗体的控件类型及对象属性的设置方法1、控件类型:绑定型 非绑定型 计算型2、窗体对象属性的设置方法:设置窗体属性:引用一个窗体:Forms!窗体名标识窗体属性:Forms!窗体名.属性名设置控件属性:引用窗体控件:Forms!窗体名!控件名 标识窗体属性:Forms
15、!窗体名!控件名 .属性名八、窗体常用控件的使用(一)标签控件标签对象的常用属性:名称Name 标题Caption 可见性Visible 宽度Width 高度Height 背景样式 BackStyle 背景色BackColor前景色Forecolor 边框样式 BorderStyle 字体名称FontName字号FontSize 字体粗细 FontBold(二)文本框控件文本框用于接收数据的输入和输出,可以是文本、数字、日期/时间、货币、备注、是/否、超链接类型的数据。文本框可作为绑定型、非绑定型、计算型控件使用。(三)命令按钮控件名称Name 标题Caption 图片Picture 是否有效
16、Enabled可见性Visible 设置焦点SetFocus 单击事件Click(四)选项组控件选项组显示一组有限选项,用户每次只能从中选择一个选项。选项组由一个选项组框架和一组“选项按钮”或“复选框”或“切换按钮”组成。选项组的“控件来源”属性可以是“数字”型或“是/否”型(“是”的选项值为-1, “否 ”的选项值为 0)的数据。(五)图像与 OLE 对象控件图像控件用来显示一个来自文件的图片。图片文件类型可以是.BMP、.JPG、 .ICO、.GIF、.PNG 等格式。第七章 模块与 VBA 编程一、模块的分类模块是 VBA 程序的集合,主要用来存放用户编写的 VBA 代码,主要分为两种模
17、块:标准模块:指存放整个数据库中可用的函数和子程序的模块,它由声明部分和通用过程组成。类模块:指包含新对象定义的模块,当用户要定义一个新对象时就要新建一个类模块。二、VBA 的数据类型数据类型 类型符 字节 取值范围 备注Byte(单字节型) 1 0255 缺省值为 0Integer(整型) % 2 -3276832767 缺省值为 0Long(长整型) & 4 详见书 P160 缺省值为 0Single(单精度型) ! 4 详见书 P160 缺省值为 0Double(双精度型) # 8 详见书 P160 缺省值为 0Currency(货币型) 8 缺省值为 0String(变长字符串) $
18、10+N 最多可表示 20 亿个字符String*N(定长字符串) 无 N 最多 65400 个字符字符串需要用一对英文括号括起来Boolean(布尔型) 无 2 True 或 False 数值型布尔型:0False 非 0 值True布尔型数值型:False0 True-1Date(日期型) 无 8 100 年 1 月 1 日9999年 12 月 31 日日期型以一对# 号括起来Variant(变体型) 无 X 为数值型时长度等同于Double 型;为字符串型时长度等同于 String 型Object(对象型) 无 4 任何对象引用 缺省值为 Nothing三、变量与常量语法1、符号常量语法
19、:Public|Private Const 常量名 As 类型=常量值例:Const PI as double=3.14159262、变量声明语法:、Public | Private | Dim | Static 变量名 As 数据类型例:Dim A1 As Integer3、变量赋值语法:变量名 = 表达式4、变量的作用域作用范围 局部变量 模块变量 全局变量声明方式 Dim、Static Dim、Private Public声明位置 在子过程中 在窗体/模块的声明区域 在标准模块的声明区域能否被本模块的其他过程存取不能 能 能能否被其他模块的过程存取不能 不能 能四、数组数组声明方式:Di
20、m 数组名(下标下界 to 下标上界) As 数据类型Ps:下标下界的默认值为 0(可省略不写) ,当下标下界为非 0 值时,要使用 to 选项。数据有两种类型:1、 固定大小的数组(1)一维数组例:Dim IntArray(10) As Integer 一个有 11 个整型数组元素的数组Dim IntArray(-2 to 3) As Integer 一个有 6 个整型数组元素的数组(2)多维数组例:Dim MultArray(3,1 to 5,0 to 5) As Long该语句定义了一个三维数组,第一维为 4 个元素,第二维有 5 个元素,第三维有 6 个元素,其中数组元素的总数为 3
21、个维数的乘积:4x5x6=1202、动态数组格式:Dim 数组名() As 数据类型声明的数组在使用时必须重新定义以指定数组长度,格式如下:Redim 数组名( 下界 to 上界,下界 to 上界,) As 数据类型例:Dim Score() As Integer 声明动态数组Redim Score(5) As Integer 重新定义,分配 6 个元素五、运算符1、算术运算符及其功能“-” 负号或减 “+” 加 “*” 乘 “” 乘方“/” 除 “” 整除 “Mod” 求余2、 字符运算符(1) “+”:连接两个字符串例:“Welcome”+“my friend”= “Welcome my
22、friend”(2) “&”连接两个字符串例:“Welcome”&“my friend”=“Welcome my friend”连接字符串与数值例:“hello”& 100=“hello100”连接字符串与日期例:“hello”& #23/12/2013# =“hello2013-12-23”连接数值与数值例:3&2=“32”六、常用内部函数(一)数值型函数函数 功能 示例Abs(x) 返回绝对值 Abs(-3)=3Int(x) 返回不大于 x 的最大整数 Int( 8.5)=8Int(-8.5)=-9Fix(x) 取整数部分,当 x 为正数时,返回不大于 x 的最大整数;当 x 为负数时,F
23、ix(8.5)=8Fix(-8.5)=-8返回大于 x 的最大整数Sqr(x) 求平方根 Sqr(9 )=3Exp(x) 计算 e 的 x 次幂 Exp(0)=1Log(x ) 求以 e 为底的 x 的对数 Log(10 )=2.30258509299405Round(x1, x2) 对 x1 四舍五入,保留 x2 位数字,如果 x2 不写,则默认保留 0 位小数Round(3.54)=4Round(3.54,1 )=3.5(二)字符串函数函数 功能 示例Trim(str) 去掉 str 两端空格 Trim(“ hello ”)=“hello”Ltrim(str) 去掉 str 左端空格 Lt
24、rim(“ hello”)=“hello”Rtrim(str) 去掉 str 右端空格 Rtrim(“hello ”)=“hello”Len(str) 计算 str 长度 Len(“my friend”)=9Left(str ,x ) 取 str 左边 x 个字符组成的字符串 Left(“my friend”,2)=“my”Right(str,x) 取 str 右边 x 个字符组成的字符串 Right(“my friend,2” )=“nd”Mid(str,n1,n2)取 str 从 n1 位开始的 n2 个字符组成的字符串Mid(“Access2003” ,2,3)=“cce”Ucase(s
25、tr) 将 str 转换为大写 Ucase( “Hello”)=“HELLO”Lcase(str) 将 str 转换为小写 Lcase(“HELLO” )=“hello”Space(x) 返回 x 个空格组成的字符串 Space(5) ,产生 5 个空格Val(str) 将字符串 str 转化为数值型数据 Val( “34.56”)=34.56Val( “34a”)=34Val( “a34”)=0Str(x) 将数值 x 转换为字符串 Str( 123)=“123”Asc(str) 返回字符串 str 首字母的 ASC 值 Asc(“hello” )=104Chr(x) 返回 ASC值为 x
26、的字符 Chr(104)=“h”(三)Datediff 函数 Interval 的取值例:Interval 取值d2-d1 含义yyyy年 q季 m月 y一年的日数 d日w一周的日数 ww周 h时 n分钟 s秒七、顺序结构(一)InputBox 函数格式:InputBox(,标题 ,默认值,Left 坐标,Top 坐标 ,帮助文件,帮助主题 ID)功能:按给定的提示信息显示输入对话框,并返回用户输入的信息,函数的返回值为字符串类型。(二)MsgBox 函数格式:MsgBox(提示信息,图标类型+按钮类型+默认按钮 ,标题信息,帮助文件,帮助主题 ID)功能:在程序运行中弹出一消息框,等待用户选
27、择,并根据单击的按钮返回一个整数值,程序可以根据此数值判断用户单击了哪个按钮。1、图标类型取值例:常量值 显示图标无标识符0 无图标 vbCritical16“X”vbQuestion32“?” vbExclamqtion48“ ! ”vbInformation64“ i ”2、按钮类型取值例:常量值 显示的按钮vbOkOnly0“确定 ” vbOKCancel1“确定” 、 “取消”vbAbortRetryIgnore2“终止” 、 “重试” 、 “忽略”vbYesNoCancel3“是” 、 “否” 、 “取消”vbYesNo4“是” 、 “否” vbRetryCancel5“重试” 、
28、“取消”3、默认按钮取值例:常量值 缺省的活动按钮vbDefaultButtion10第一个按钮 vbDefaultButtion2256第二个按钮vbDefaultButtion3512第三个按钮4、MsgBox 返回值例:返回值按钮1确定 2取消 3终止 4重试 5忽略 6是 7否(三)Debug.Print 函数功能:在立即窗口显示信息,一般用于调试程序例如:Debug.Print(“Welcome” ) 在立即窗口输入 welcome八、选择结构1、单分支结构格式:If ThenEnd If或:If Then 2、双分支选择结构格式:If ThenElseEnd If3、 多分支选择机
29、构格式:Select Case Case Case Case ElseEnd Select九、循环结构(一)计数循环格式:For 循环变量=初值 To 终值 step 步长Exit ForNext 循环变量 (二)Do 循环1、Do WhileLoop 语句 2、DoLoop While 语句 格式: 格式:Do While DoExit Do Exit DoLoop Loop While 3、Do UntilLoop 语句 4、DoLoop Until 语句格式: 格式:Do Until DoExit Do Exit DoLoop Loop十、过程调用和参数传递(一)过程定义及调用过程就是执
30、行一个或多个给定任务的集合。当需要多次使用同一段程序时,可以将此部分程序编写为过程。VBA 过程又分为两种类型:子程序与函数。1、子程序(1)子程序定义的语法Private | Public | Friend static Sub 过程名 (形式参数列表)语句序列 1Exit Sub语句序列 2End Sub(2)子程序调用的格式:Call 子程序名(实参列表)或 子程序名 实参列表2、函数(1)函数定义的语法Private | Public | Friend static Sub Function 函数名 (形参列表) As 返回值类型语句序列 1函数名 = 表达式Exit Function
31、语句序列 2函数名 = 表达式End Function(2)函数调用的格式:函数名(实参列表)(二)参数传递形式参数:简称形参,指定义过程时声明的参数。实际参数:简称实参,指调用过程时传递的数据。十一、窗体的事件过程(一)VBA 引用窗体对象的属性和方法1、调用属性和方法(1)调用窗体属性或方法的语法Forms!窗体名. 属性=设置新的值 或 Forms!窗体名. 方法(参数)(2)调用控件的属性或方法的语法Forms!窗体名!控件名. 属性 =设置新的值 或 Forms!窗体名!控件名. 方法(参数)2、使用 Me 对象引用当前窗体的语法:Me. 控件名. 属性/方法(二)常见的事件过程1、
32、窗体及控件的事件Click 事件 Load 事件 GotFocus 和 LostFocus 事件2、鼠标事件 3、键盘事件 4、时间事件十二、VBA 访问数据库接口1、ODBC (开放数据库互联应用编程窗口)2、DAO(数据访问对象)3、ADO(ActiveX 数据对象)ADO 主要有三个成员对象:(1)Connection 对象(连接对象)创建 Connection 对象例:Dim conn As ADODB.Connection 声明 Connection 对象类型的变量 connSet conn = New ADODB.Connection 创建 Connection 对象的实例并赋值给
33、 conn使用 Open 方法连接数据库语法: Connection 对象.Open ConnetionString使用 Close 方法关闭数据库语法Connection 对象名 .Close 关闭数据库Set Connection 对象名=Nothing 从内存中彻底删除 Connection 对象(2)Recordset 对象(记录集对象) 详见书 P196创建 Recordset 对象 使用 Open 方法执行查询EOF 和 BOF 属性EOF 属性用来判断当前记录指针是位于末尾。如果已达到末尾则 EOF 的值为 True,否则为 False。BOF 属性用来判断记录指针位于第一条记录
34、之前。第八章 学生成绩管理系统开发实例一、软件生存周期用户需求分析 系统设计 编码 测试 运行和维护二、学生成绩管理系统设计的用户管理员(教务人员) 任课教师 学生三、数据字典数据词典是关于数据的信息的集合,就是用来定义数据流图中的各个成分的具体含义的。主要有 5 类条目:数据项 数据结构 数据流 数据存储 基本加工四、分层数据流图顶层数据流图 中层数据流图 底层数据流图五、系统测试及其模块的分体测试系统测试包括:模块的分体测试 总体的连接测试模块的分体测试包括:模块的“功能”测试 模块的“性能”测试六、运行维护“试运行”阶段指在实际应用环境中,检验系统是否按设计要求完成,有了问题解决、再解决,直到符合要求。系统“维护”是伴随系统生命期的试用阶段进行的,它包括系统数据的经常性的备份、数据的更新、新数据的进入、旧数据存入历史文件等维护性质的操作。