精华内容
下载资源
问答
  • Access总结

    2018-07-05 13:51:00
    第十八周 Access期末复习题 一、单项选择题 1.以下是宏m的操作序列设计:(D) 条件 操作序列 操作参数 MsgBox...

     

     第十八周

     

    Access期末复习题

    一、单项选择题

    1.以下是宏m的操作序列设计:(D)

    条件                                     操作序列                            操作参数

                                                   MsgBox                               消息为“AA”

    [ tt>1]                                   MsgBox                               消息为“BB”

    ﹍                                          MsgBox                               消息为“CC”

    现设置宏m为窗体“fTest”上名为“bTest”命令按钮的单击事件属性,打开窗体“fTest”运行后,在窗体上名为“tt”的文本框内输入数字1,然后单击命令按钮bTest,则

    A.屏幕会先后弹出三个消息框,分别显示消息“AA”、“BB”、“CC”

    B.屏幕会弹出一个消息框,显示消息“AA”

    C.屏幕会先后弹出两个消息框,分别显示消息“AA”和“BB”

    D.屏幕会先后弹出两个消息框,分别显示消息“AA”和“CC”

    [解析] 由于消息“AA”和“CC”都没有设置条件,而消息“BB”设置的条件为[tt]>1,所以,打开窗体“fTest”运行后,在窗体上名为“tt”的文本框内输入数字1,不符合信息“BB”的条件,因此不会显示“BB”,而显示没有设置条件的消息“AA”和“CC”。

    2.下列有关数据库的描述,正确的是 (C)

    A.数据库是一个DBF文件

    B.数据库是一个关系

    C.数据库是一个结构化的数据集合

    D.数据库是一组文件

    3.在窗体中添加一个命令按钮(名为Command1)和一个文本框(名为Text1),并在命令按钮中编写如下事例代码:(D)

    Private  Sub  Command1_Click( )

               m=2.17

          n=Len(长度)(Str$(m)+Space(间隔) (5))

          Me.Text1=n

        End  Sub

    窗体打开运行后,单击命令按钮,在文本框中显示

    A.5                            B.8                            C.9                                     D.10

    [解析] 本题考查基本字符串函数的知识。在VBA中,Str函数用于将数字转换成字符串,当数字转换为字符串时,总会预留一个空格给前面的正负号。如果参数是正数,回传的字符串会有一个前置空格。2.17转换成字符串“2.17”,后面再连接上5个空格,然后用Len函数来求其长度。所以最后结果为10。

    4.下列有关数据库的描述,正确的是 (B)

    A.数据处理是将信息转化为数据的过程

    B.数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

    C.关系中的每一列称为元组,一个元组就是一个字段

    D.如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字

    5.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:(B)

    Public  x  as  integer

    Private  Sub  Command1_Click( )

               a=10

          Call  s1

          Call  s2

          MsgBox  x

    End  Sub

    Private Sub  s1( )

      x=x+20

    End Sub

    Private Sub  s2( )

      Dim x as integer

      x=x+20

    End Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果是

    A.10                         B.30                         C.40                                   D.50

    [解析] 本题使用Call调用子过程s1,s2。x=10在调用子过程s1后,x= 30,但由于在s1中直接使用变量,所以该值的作用范围是局部的,即只限于s1子过程中,没有传回。在调用s2时,由于使用Dim…As关键字定义x,所以其值是模块范围的。在消息框中输出的值,是从子过程s2传回的值。

    6.以下不属于数据库系统(DBS)的组成的是 (D)

    A.数据库集合

    B.用户

    C.数据库管理系统及相关软件

    D.操作系统

    [解析] 数据库系统(DBS)由数据库管理系统及相关软件、数据库集合和用户等组成。

    7.数据访问页可以简单地认为就是一个(A)

    A.网页

    B.数据库文件

    C.word 文件

    D.子表

    [解析] 本题考查的是数据访问页。数据访问页是一种特殊类型的web页,用户可以在此Web页中与Access数据库中的数据进行链接,以查看、修改Access数据库中的数据,为通过网络进行数据发布提供了方便。

    8.在数据库系统中,用户所见的数据模式为(B)

    A.概念模式                     B.外模式

    C.内模式                         D.物理模式 

    [解析] 外模式也称用户模式,是用户的数据视图,也是用户所见到的数据模式。

    9.以下程序段运行结束后,变量x的值为(C)

    x=2

    y=4

    Do

    x=x*y

    y=y+1

    Loop While y<4

    A.2

    B.4

    C.8

    D.20

    [解析] 本题考查VBA中循环的知识;在本题中用了Do…Loop While循环,先运行循环体后判断条件,当条件满足时继续循环,条件不满足时退出循环体。在本题中第一次循环结束后y的值为5已经不满足条件,故此本循环只执行一次,x的值为2*4=8。

    10.数据库系统的核心是(C)

    A.数据库管理员

    B.数据库管理系统

    C.数据库

    D.文件

    [解析] 在数据库系统中,数据库管理系统对数据实行专门管理,提供安全性和完整性等统一控制机制,是数据库系统的核心,Visual FoxPro就是一个可以在计算机和服务器上运行的数据库管理系统。

    11.在数据库设计中,将E-R图转换成关系数据模型的过程属于(B)

    A.需求分析阶段

    B.逻辑设计阶段

    C.概念设计阶段

    D.物理设计阶段

    [解析] E-R模型即实体联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种联系关系。数据库逻辑设计阶段包括以下几个过程:从E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和RD-BMS,以及关系视图设计。

    12.下列实体的联系中,属于多对多联系的是(A)

    A.学生与课程                         B.学校与校长

    C.住院的病人与病床           D.职工与工资

    13.在关系运算中,投影运算的含义是(B)

    A.在基本表中选择满足条件的记录组成一个新的关系

    B.在基本表中选择需要的字段(属性)组成一个新的关系

    C.在基本表中选择满足条件的记录和属性组成一个新的关系

    D.上述说法均是正确的

    [解析] 本题考查的是关系运算。从关系模式中指定若干属性组成新的关系称为投影。投影是从列的角度进行的运算,相当于对关系进行垂直分解。经过投影运算可以得到一个新的关系。

    14.Access的控件对象可以设置某个属性来控制对象是否可用(不可用时显示为灰色状态)。需要设置的属性是(C)

    A.Default

    B.Cancel

    C.Enabled[e'neɪbld](激活的)

    D.Visible

    [解析] 本题考查的是控件对象属性的设置。Default为命令按钮确定属性,只有命令按钮支持此属性,Caneel为取消功能属性,Enabled决定控件是否允许操作,Visible决定控件 是否可见。

    15.SQL的含义是:SQL全称是“结构化查询语言(Structured Query Language)” (A)

    A.结构化查询语言                         B.数据定义语言

    C.数据库查询语言                         D.数据库操纵与控制语言

    16.应用数据库的主要目的是(C)

    A.解决数据保密问题

    B.解决数据完整性问题

    C.解决数据共享问题

    D.解决数据量大的问题

    17.以下关于Access表的叙述中,正确的是(C)

    A.表一般包含一到两个主题的信息

    B.表的数据表视图只用于显示数据

    C.表设计视图的主要工作是设计表的结构

    D.在表的数据表视图中,不能修改字段名称

    知识点:表的建立评析:在数据库中,应该为每个不同的主题建立单个的表,这样可以提高数据库的工作效率,并可减少因数据输入而产生的错误,所以选项A错误:在表的数据表视图中,可以进行字段的编辑、添加、删除和数据查找等各项操作,所以选项B、D都错误。

    18.在SQL的SELECT(选择)语句中,用于实现选择运算的是()

    A.FOR                                B.WHILE                     C.IF            D.WHERE(场所)

     

    [解析] 本题考查SQL中查询语句的知识。在SQL的查询语句中,WHERE子句用于指定查询条件,只有满足条件的元组才会出现在结果集中。

    19.Access数据库中哪个数据库对象是其他数据库对象的基础?(C)

    A.报表                              B.查询                              C.表                         D.模块

    表是所有数据库对象的基础。

    20.假定有如下的Sub过程:(B)

    Sub sfun(x As Single,y As Single)

    t=x

    x=t/y

    y=t Mod (用于返回两数相除的余数)y

    End Sub

    在窗体上添加一个命令按钮(名为Command1),然后编写如下事件过程:

    Private Sub Command1_Click()

    Dim a as single

    Dim b as single

    a=5

    b=4

    sfun a,b

    MsgBox a & chr(10)+chr(13)& b 

    End Sub

    打开窗体运行后,单击命令按钮,消息框的两行输出内容分别为

    A.1和1

    B.1.25和1

    C.1.25和4

    D.5和4

    [解析] 在主过程中,变量a及变量b分别被赋值为5和4,然后调用SUB过程,在该过程中,变量x被赋值为a除以b的商(1.25),而变量y则被赋值为a除以b的余数(1),SUB过程结束后,参数返回,重新对变量a和b赋值,所以msgBox所显示的值应当为1.25和1,故选项B为正确答案。

    21.使用表设计器定义表中字段时,不是必须设置的内容是(C)

    A.字段名称                     B.数据类型                     C.说明                              D.字段属性

    知识点;表的建立
    评析:表的“设计”视图分为上下两部分:上半部分是表设计器,下半部分是字段属性区。在表设计器中,从左至右分别为字段选定器、字段名称列、数据类型列和说明列。说明信息不是必须的,但它能增加数据的可读性。

    22.使用表设计器定义表中字段时,不是必须设置的内容是(A)

    A.筛选功能                     B.排序功能                     C.查询功能                     D.报表功能

    23.若要查询某字段的值为“JSJ”的记录,在查询设计视图对应字段的准则中,错误的表达式是(C)

    A.JSJ                                  B.“JSJ”                     C.”*JSJ”                            D.Like “JSJ” 

    知识点:查询准则评析:在查询字段中使用“*”,表示查洵所有字段的值。“*JSJ*”表示查询某字段内容中间包含JSJ的值的记录。

    24.DB(数据库)、DBS(数据库系统)、DBMS(数据库管理系统)三者之间的关系是(A)

    A.DBS包括DB和DBMS

    B.DBMS包括DB和DBS

    C.DB包括DBS和DBMS

    D.DBS等于DB等于DBMS

    数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、硬件系统、应用程序、数据库管理员组成。

    25.下列关系模型中术语解析不真确的是(A)

    A.记录,满足一定规范化要求的二维表,也称关系

    B.字段,二维表中的一列

    C.数据项,也成分量,是每个记录中的一个字段的值

    D.字段的值域,字段的取值范围,也称为属性域

    [解析] 表中的每一横行称为一个记录,也称元组。

     

    26.若要在报表每一页底部都输出信息,需要设置的是(A)

    A.页面页脚                     B.报表页脚                     C.页面页眉                     D.报表页眉

    [解析] 在报表中包括7种节,分别是主体,报表页眉、页面页眉、页面页脚、组页眉、组页脚和报表页脚。页面页脚一般用于预览、打印时在每一页底部,常用来显示页码、日期、本页汇总数据等信息,打印时在每一页都打印。所以如果要在报表的每一页底部都输出信息,则需要设置在页画页脚上

    27.Access数据库中,用于输入或编辑字段数据的交互控件是(A)

    A.文本框                         B.标签                              C.复选框                         D.组合框

    答案解析

    [解析] 文本框:主要用来输入或编辑字段数据,是一种交互式控件。
    标签:主要用来在窗体或报表上显示说明文本。
    复选框:作为单独的控件来显示表或查询中的“是”或“否”的值。
    组合框:既可以进行选择,也可以输入文本,如果在窗体上输入的数据总是取自某一个表或查询中记录的数据,或者取自某固定内容的数据,可以使用组合框来完成

     

    28.一个关系数据库的表中有多条记录,记录之间的相互关系是(B)

    A.前后顺序不能任意颠倒,一定要按照输入的顺序排列

    B.前后顺序可以任意颠倒,不影响库中的数据关系

    C.前后顺序可以任意颠倒,但排列顺序不同,统计处理结果可能不同

    D.前后顺序不能任意颠倒,一定要按照关键字段值的顺序排列

    [解析] 一个关系数据库的表中有多条记录,记录之间的前后顺序并不会对库中的数据关系产生影响,所以行的顺序是无所谓的,可以交换顺序。

    29.在宏的调试中,可配合使用设计器上的工具按钮(C)

    A.“调试”              B.“条件”                       C.“单步”                       D.“运行”

    [解析] 在Access系统中提供了“单步”执行的宏调试工具,使用单步跟踪执行,可以观察宏的流程和每一个操作的结果,从中发现并排除出现问题和错误的操作。

    30.在窗体中添加了一个文本框和一个命令按钮(名称分别为tText和bCommand),并编写了相应的事件过程。运行此窗体后,在文本框中输入一个字符,则命令按钮上的标题变为“计算机等级考试”。以下能实现上述操作的事件过程是(D)

    A.Private  Sub  bCommand_Click( )

               Caption=”计算机等级考试”

       End  Sub

    B.Private  Sub  tText_Click( )

               bCommand.Caption=”计算机等级考试”

       End  Sub

    C.Private  Sub  bCommand_Change( )

               Caption=”计算机等级考试”

       End  Sub

    D.Private  Sub  tText_Change( )

               bCommand.Caption=”计算机等级考试”

       End  Sub

    [解析] 题干要求在文本框中输入一个字符的时候,就引发事件,则必须要选择文本框的更改事件,在更改事件代码中,要求改变命令按钮的Caption属性。选项A和选项B分别使用的是命令按钮和文本框的单击事件,不符合题目要求;选项c使用命令按钮的更改事件,也不符合要求:选顶 D使用了文本框的更改事件,并且修改了命令按钮的Caption属性,符合题目要求,故为正确答案。

    31.Sub过程与Function过程最根本的区别是(A)

    A.Sub过程的过程名不能返回值,而Function过程能通过过程名返回值

    B.Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以

    C.两种过程参数的传递方式不同

    D.Function过程可以有参数,Sub过程不可以

    [解析] Sub过程与Function过程最根本的区别是:Sub过程的过程名称不能有返回值,而Function过程能通过过程名称得到返回值。

    32.哪个查询是包含另一个选择或操作查询中的SQL SELECT语句,可以在查询设计网格的“字段”行输入这些语句来定义新字段,或在“准则”行来定义字段的准则?(D)

    A.联合查询

    B.传递查询

    C.数据定义查询

    D.子查询(子查询的定义。联合、传递、数据定义、子查询都属于SQL查询。)

    33.下列不属于查询的三种视图的是(B)

    A.设计视图

    B.模板视图

    C.数据表视图

    D.SQL视图

    34.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:

    Private  Sub  Command1_Click( )

      a=0:  b=5:  c=6

          MsgBox  a=b+c

        End  Sub

    窗体打开运行后,如果单击命令按钮,则消息框的输出结果是(D)

    A.11                         B.a=11                     C.0                                     D.False

    [解析] MsgBox函数的第一个参数必须是字符串或者数字,否则将会在消息框中显示“False”

    35.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:(C)

    Private  Sub  Command1_Click( )

               Dim a(10,10)

          For  m=2  To  4

            For  n=4  To  5

              a(m,n)=m*n

            Next  n

          Next  m

          MsgBox  a(2,5)+a(3,4)+a(4,5)

        End  Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果是

    A.22                         B.32                C.42 [解析] 在本题中,数组元素的值就是该元素的两个下标之积,所以最后的3个数组元素的和为:2×5+3×4+4×5=42。                             D.52

    36.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:(B)

    Private  Sub  Command1_Click( )

               A=75

          If  A>60  Then  I=1

          If  A>70  Then  I=2

          If  A>80  Then  I=3

          If  A>90  Then  I=4

          MsgBox  I

        End  Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果是

    A.1                            B.2                            C.3                                     D.4

    [解析] 利用分支结构来控制程序流程时,若有多个条件同时成立,则执行第一个条件成立后的语句块。

    37.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:(D)

    Private  Sub  Command1_Click( )

               s=”ABBACDDCBA”

          For  I=6  To  2  Step  -2

            x=Mid(s,I,I)

            y=Left(s,I)

            z=Right(s,I)

            z=x & y & z

          Next  I

    MsgBox  z

        End  Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果是

    A.AABAAB                       B.ABBABA                       C.BABBA                                   D.BBABBA

    [解析] 本题在最后一次循环时,x=Mid(s,i,i)为"BB";y=Lea(s.i)为"AB";z= Right(s,i)为"AB",故最后z为"BBABAB"。

    38.“商品”与“顾客”两个实体集之间的联系一般是 (C)

    A.一对一 

    B.一对多

    C.多对一 

    D.多对多

    39.下述关于数据库系统的叙述中正确的是(B)

    A.数据库系统减少了数据冗余

    B.数据库系统避免了一切冗余

    C.数据库系统中数据的一致性是指数据类型一致

    D.数据库系统比文件系统能管理更多的数据

    [解析] 数据库是一个通用化的、综合性的数据集合,它可以为各种用户所共享,具有最小的冗余度和较高的数据与程序的独立性,而且能并发地为多个应用服务,同时具有安全性和完整性。即数据库系统减少了数据冗余,但不能避免一切冗余。所以选项A正确,选项B错误。 在数据库管理阶段中,数据是结构化的,面向系统,数据冗余度小,从而节省了数据的存储空间,也减少了对数据的存取时间,提高了访问效率,避免了数据的不一致性。数据的不一致性,是指对数据的存取方式,选项C错误。 数据库系统比文件系统能管理更多的数据,并非是数据库系统的特点,选项D错误

    40.数据库系统的核心是(B)

    A.数据库

    B.数据库管理系统

    C.模拟模型

    D.软件工程

    41.在E—R图中,用来表示实体的图形是 (A)

    A.矩形  

    B.椭圆形

    C.菱形 

    D.三角形

    [解析] 在E-R图中,用矩形表示实体,其内标明实体名;用椭圆形表示实体的属性,其内标明属性名;用菱形表示实体间的联系,其内标明联系名。

    42.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是 (C)

    A.DB包含DBS和DBMS 

    B.DBMS包含DB和DBS

    C.DBS包含DB和DBMS 

    D.没有任何关系

    43.常见的数据模型有3种,它们是(B)

    A.网状、关系和语义

    B.层次、关系和网状

    C.环状、层次和关系

    D.字段名、字段类型和记录

    [解析] 本题考查数据库的基本知识。常见的数据模型有层次模型、网状模型和关系模型,目前最常用的是关系模型。

    44.在以下叙述中,正确的是(D)

    A.ACCESS只能使用系统菜单创建数据库应用系统

    B.ACCESS不具备程序设计能力

    C.ACCESS只具备了模块化程序设计能力

    D.ACCESS具有面向对象的程序设计能力,并能创建复杂的数据库应用系统

    [解析] 在Access中,可以使用菜单命令、启动对话框及向导这三种方式来创建数据库,选项A描述错误:可以使用“模块”对象来创建可执行的程序,Access具备程序设计能力,选项B描述错误;Access除了具有模块化程序设计能力之外,还可以使用面向对象的方法来设计程序,选项C描述错误;选项D描述正确。

    45.不属于Access对象的是(B)

    A.表

    B.文件夹

    C.窗体

    D.查询

    查询是对数据库的操作,不是一个对象

    46.表的组成内容包括(B)

    A.查询和字段

    B.字段和记录

    C.记录和窗体

    D.报表和字段

    [解析] 本题考查Access表的基本概念。在关系数据库中关系是一个二维表,每一行称为一个元组,每一列称为一个属性;在Access关系数据库中,用表来实现关系,表的每一行称作一条记录、对应关系模型中的元组;每一列称作一个字段,对应关系模型中的属性。

    47.在数据表视图中,不能(A)

    A.修改字段的类型

    B.修改字段的名称

    C.删除一个字段

    D.删除一条记录

    [解析] 在“数据表”视图中可以进行字段的编辑、添加、删除,记录的删除和数据查找等操作,但使用“数据表”视图建立的表结构,只说明了表中字段名,却没有说明每个字段的数据类型和属性值,也无法修改。

    48.数据类型是(B)

    A.字段的另一种说法

    B.决定字段能包含哪类数据的设置

    C.一类数据库应用程序

    D.一类用来描述Access表向导允许从中选择的字段名称

    [解析] Access常用的数据类型有文本、备注、数字、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查阅向导等,不同的数据类型决定了字段能包含哪类数据。

    49.某数据库的表中要添加internet站点的网址,则该采用的字段类型是(B)

    A.OLE对象数据类型

    B.超级连接数据类型

    C.查阅向导数据类型

    D.自动编号数据类型

    某数据库的表中要添加Intemet站点的网址时,应该使用超级链接数据类型

    50.在Access的5个最主要的查询中,能从一个或多个表中检索数据,在一定的限制条件下,还可以通过此查询方式来更改相关表中记录的是(A)

    A.选择查询

    B.参数查询

    C.操作查询

    D.SQL查询

    [解析] 选择查询能够根据指定的查询准则,从一个或多个表中获取数据并显示结果,也可以使用选择查询对记录进行分组,并且对记录进行总结、计数、求平均以及其他类型的计算;参数查询是一种利用对话框来提示用户输入准则的查询;操作查询与选择查询相似,但不同的是操作查询是在一次查询操作中对所得的结果进行编辑等操作;SQL查询就是用户用SQL语句来创建的一种查询。

    51.哪个查询是包含另一个选择或操作查询中的SQL SELECT语句,可以在查询设计网格的“字段”行输入这些语句来定义新字段,或在“准则”行来定义字段的准则?(D)

    A.联合查询

    B.传递查询

    C.数据定义查询

    D.子查询

    子查询的定义。联合、传递、数据定义、子查询都属于SQL查询。

    52.下列不属于查询的三种视图的是(B)

    A.设计视图

    B.模板视图

    C.数据表视图

    D.SQL视图

    53.在Access的5个最主要的查询中,能从一个或多个表中检索数据,在一定的限制条件下,还可以通过此查询方式来更改相关表中记录的是(A)

    A.选择查询

    B.参数查询

    C.操作查询

    D.SQL查询


    [解析] 在查询中,选择查询能够从一个或多个表中检索数据,并且在一定的限制条件下还可以更改相关表中的记录。

    54.要将“选课成绩”表中学生的成绩取整,可以使用(B)

    A.Abs([成绩])

    B.Int([成绩])

    C.Srq([成绩])

    D.Sgn([成绩])

    55.对报表属性中的数据源设置,下列说法正确的是(C)

    A.只能是表对象

    B.只能是查询对象

    C.既可以是表对象也可以是查询对象

    D.以上说法均不正确

    [解析] 将报表与某一数据表或杳询绑定起来即为它的数据记录来源。

    56.要将“选课成绩”表中学生的成绩取整,可以使用(B)

    A.Abs([成绩])

    B.Int([成绩])

    C.Srq([成绩])

    D.Sgn([成绩])

    57.在查询设计视图中(A)

    A.可以添加数据库表,也可以添加查询

    B.只能添加数据库表

    C.只能添加查询

    D.以上两者都不能添加

    [解析] 本题考查查询来源的知识。查询设计视图中可以添加查询的来源、数据库表或添加另一个已创建的查询。

    58.为了在报表的每一页底部显示页码号,那么应该设置(C)

    A.报表页眉

    B.页面页眉

    C.页面页脚

    D.报表页脚

    59.要在报表上显示格式为“7/总10页”的页码,则计算控件的控件源应设置为(D)

    A.[Page]/总[Pages]

    B.=[Page]/总[Pages]   

    C.[Page]&“/总”&[Pages]

    D.=[Page]&“/总”&[Pages]

    [解析] 计算控件的控件源设置为=[Page]&“/总”&[Pages],在报表上显示格式为“*/总*页”的页码。

    60.窗体是Access数据库中的一种对象,以下哪项不是窗体具备的功能(C)

    A.输入数据

    B.编辑数据

    C.输出数据

    D.显示和查询表中的数据

    窗体是Access数据库应用中一个非常重要的工具,它可以用于显示表和查询中的数据,输入数据、编辑 数据和修改数据,但没有包含输出数据这项功能。

    61.在以下数据库系统(由数据库应用系统、操作系统、数据库管理系统、硬件四部分组成)层次示意图中,数据库应用系统的位置是(D)

    A.1

    B.3

    C.2

    D.4

    [讲解] 由里到外分别为硬件、操作系统、数据库管理系统、数据库应用系统。数据库应用系统是利用数据库管理系统开发出来的面向某一类实际应用的软件系统,数据库管理系统是OS支持下的系统文件。

    62.数据库系统四要素中,什么是数据库系统的核心和管理对象?(C)

    A.硬件

    B.软件

    C.数据库

    D.人

    [解析] 数据库是存储在计算机存储设备中的、结构化的相关数据的集合。它不仅包含描述事物的数据本身,而且包括相关事物之间的关系,它是数据库系统的核心内容和管理对象。

    63.排序时如果选取了多个字段,则输出结果是(C)

    A.按设定的优先次序依次进行排序

    B.按最右边的列开始排序

    C.按从左向右优先次序依次排序

    D.无法进行排序

    [解析] 本题考查的是表的高级筛选/排序。在Access中按多个字段排序时,Access首先根据第一个字段指定的顺序进行排序,当第一个字段具有相同的值时,Access再按照第二个字段进行排序(也就是按设定的字段优先次序进行排序),以此类推,直到按全部指定字段排好序为止。

    64.某数据库的表中要添加internet站点的网址,则该采用的字段类型是(B)

    A.OLE对象数据类型

    B.超级连接数据类型

    C.查阅向导数据类型

    D.自动编号数据类型

    65.为窗口中的命令按钮设置单击鼠标时发生的动作,应选择设置其属性对话框的(B)

    A.格式选项卡

    B.事件选项卡

    C.方法选项卡

    D.数据选项卡

    [解析] 本题考查窗体控件的基础知识。在窗体上每一个控件都是一个对象,都具有属性、事件和方法3个要素。事件是控件可以响应的动作如单击鼠标等,所以要想设计单击鼠标时的动作就要设计单击鼠标事件里面的内容。每一个对象的属性对话框都有5个选项卡,其中,格式选项卡主要设计控件外观、大小、位置等显示格式;’数据选项卡主要设计控件的数据源等数据问题;事件选项卡主要设计控件可以响应的动作;其他选项卡主要设计控件名字、默认值、Tab索引等其他属性;全部选项卡里面包含前4种选项卡的所有内容。

    66.鼠标事件是指操作鼠标所引发的事件,下列不属于鼠标事件的是(D)

    A.“鼠标按下”

    B.“鼠标移动”

    C.“鼠标释放”

    D.“鼠标锁定”

    鼠标事件包括“单击”、“双击”、“鼠标按下”、“鼠标移动”、“鼠标释放”等,但没有“鼠标锁定”。

    67.要改变窗体上文本框控件的数据源,应设置的属性是(B)

    A.记录源

    B.控件来源

    C.筛选查询

    D.默认值

    [解析] 本题考查窗体控件来源的知识。Access中的窗体中有一些控件可以与表或查询中的字段相绑定,这时候就需要设置这些控件的数据来源。设置控件来源的方法是:选择“属性”窗口的“数据”选项卡,并且在其中选择“控件来源”。

    68.在使用报表设计器设计报表时,如果要统计报表中某个字段的全部数据,应将计算表达式放在(C)

    A.组页眉/组页脚

    B.页面页眉/页面页脚

    C.报表页眉/报表页脚

    D.主体

    答案解析

    [解析] 组页眉用于实现报表的分组输出和分组统计。组页眉中主要安排文本框或其他类型的控件显示分组字段等数据信息。
    组页脚内主要安排文本框和其他控件显示分组统计数据。
    页面页眉是用来显示报表中的字段名称或记录的分组名称,报表的每一页有一个页面页眉。它一般显示在每页的顶端。
    页面页脚是打印在每页的底部,用来显示本页的汇总说明,报表的每一页有一个页而页脚。报表页眉中的任何内容都只能在报表开始处,即报表的第一页打印一次。
    报表页脚一般是在所有的主体和组页脚被输出完成后才会打印在报表的最后面。
    显示在每页的顶端。
    主体是用于打印表或查询中的记录数据,是报表显示的数据的主要区域。

     

    69.如果加载一个窗体,先被触发的事件是(A)

    A.Load 事件

    B.Open事件

    C.Click 事件

    D.DaClick事件

    70.使用宏组的目的是(D)

    A.设计出功能复杂的宏

    B.设计出包含大量操作的宏

    C.减少程序内存消耗

    D.对多个宏进行组织和管理

    71.以下是宏对象m1的操作序列设计:(C)

     

    假定在宏m1的操作中涉及到的对象均存在,现将设计好的宏m1设置为窗体“fTest”上某个命令按钮的单击事件属性,则打开窗体“fTest1”运行后,单击该命令按钮,会启动宏m1的运行。宏m1运行后,前两个操作会先后打开窗体对象“fTest2”和表对象“tStud”。那么执行Close操作后,会

    A.只关闭窗体对象“fTest1”

    B.只关闭表对象“tStud”

    C.关闭窗体对象“fTest2”和表对象“tStud”

    D.关闭窗体“fTest1”和“fTest2”及表对象“tStud”

    72.VBA程序的多条语句可以写在一行中,其分隔符必须使用符号(A)

    A.:

    B.’

    C.;

    D.,

    73.VBA表达式3*3\3/3的输出结果是(B)

    A.0

    B.1

    C.3

    D.9

    74.现有一个已经建好的窗体,窗体中有一命令按钮,单击此按钮,将打开“tEmployee”表,如果采用VBA代码完成,下面语句正确的是(C)

    A.docmd.openform″tEmployee″

    B.docmd.openview″tEmployee″

    C.docmd.opentable″tEmployee″

    D.docmd.openreport″tEmployee″

    75.在窗体上添加一个命令按钮(名为Command1),然后编写如下事件过程:(B)

    Private Sub Command1_Click()

    For i=1 To 4

    x=4

    For j=1 To 3

    x=3

    For k=1 To2

    x=x+6

    Next k

    Next j

    Next i

    MsgBox x

    End Sub

    打开窗体后,单击命令按钮,消息框的输出结果是

    A.7

    B.15

    C.157

    D.538

    76.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是(A)

    A.数据库系统

    B.文件系统

    C.人工管理

    D.数据项管理

    77.Access数据库中哪个数据库对象是其他数据库对象的基础?(C)

    A.报表

    B.查询

    C.表

    D.模块

    78.通过关联关键字“系别”这一相同字段,表二和表一构成的关系为(C)

    A.一对一

    B.多对一

    C.一对多

    D.多对多

    79.下列不属于控件格式属性的是(B)

    A.标题

    B.正文

    C.字体大小

    D.字体粗细

    80.在查询设计视图中(A)

    A.可以添加数据库表,也可以添加查询

    B.只能添加数据库表

    C.只能添加查询

    D.以上两者都不能添加

    81.窗体是Access数据库中的一种对象,以下哪项不是窗体具备的功能(C)

    A.输入数据

    B.编辑数据

    C.输出数据

    D.显示和查询表中的数据

    82.窗体有3种视图,用于创建窗体或修改窗体的窗口是窗体的(A)

    A)“设计”视图

    B)“窗体”视图

    C)“数据表”视图

    D)“透视表”视图

    83.“特殊效果”属性值用于设定控件的显示特效,下列属于“特殊效果”属性值的是(D)
    ①“平面”、②“颜色”、③“凸起”、④“蚀刻”、⑤“透明”、⑥“阴影”、⑦“凹陷”、⑧“凿痕”、⑨“倾斜”

    A.①②③④⑤⑥

    B.①③④⑤⑥⑦

    C.①④⑥⑦⑧⑨

    D.①③④⑥⑦⑧

    84.窗口事件是指操作窗口时所引发的事件,下列不属于窗口事件的是(D)

    A.“加载”

    B.“打开”

    C.“关闭”

    D. 确定”

    85.下面关于报表对数据的处理中叙述正确的是(B)

    A.报表只能输入数据

    B.报表只能输出数据

    C.报表可以输入和输出数据

    D.报表不能输入和输出数据

    86.用于实现报表的分组统计数据的操作区间的是(D)

    A.报表的主体区域

    B.页面页眉或页面页脚区域

    C.报表页眉或报表页脚区域

    D.组页眉或组页脚区域

    87.可以将Access数据库中的数据发布在Internet网络上的是(B)

    A.查询

    B.数据访问页

    C.窗体

    D.报表

    88.用于打开报表的宏命令是(C)

    A.OpenForm

    B.Openquery

    C.OpenReport

    D.RunSQL

    89.下列关于宏操作的叙述错误的是(D)

    A.可以使用宏组来管理相关的一系列宏

    B.使用宏可以启动其它应用程序

    C.所有宏操作都可以转化为相应的模块代码

    D.宏的关系表达式中不能应用窗体或报表的控件值

    90.用于最大化激活窗口的宏命令是(C)

    A.Minimize

    B.Requery

    C.Maximize

    D.Restore

    91.在宏的表达式中要引用报表exam上控件Name的值,可以使用引用式(B)

    A.Reports!Name

    B.Reports!exam!Name

    C.exam!Name

    D.Reports exam Name

    92.可以判定某个日期表达式能否转换为日期或时间的函数是(B)

    A.CDate

    B.IsDate

    C.Date

    D.IsText

    93.以下哪个选项定义了10个整型数构成的数组,数组元素为NewArray(1)至NewArray(10)?(B)

    A.Dim NewArray(10)As Integer

    B.Dim NewArray(1 To 10)As Integer

    C.Dim NewArray(10) Integer

    D.Dim NewArray(1 To 10) Integer

     

     

    二、判断题

     

    1、在关系数据模型中,二维表的行称为关系的字段或属性,二维表的列称为关系的记录或元组(╳ )

    2、在 Access的数据表中追加一条记录,可以追加到表的任意位置。(╳ )

    4.字段名称通常用于系统内部的引用,而字段标题通常用来显示给用户看。(√ )

    3、 Access中,运算符Like中用来通配任何单个字符的是“*”和“?” (╳ )

    4、 Access中,创建参数查询时,在查询设计视图的“准则”行中应将参数提示文本放置在[]中( √ )

    5、在窗体中创建一个标题,可使用标签控件( √ )

    6、在窗体上选择多个控件应按住ctrl键,然后单击各个控件。(╳ )

    7、报表要实现排序与分组,应该通过“文件”菜单下的“排序与分组”命令。( ╳)

    8、默认情况下,宏的设计视图有四列:宏名列、条件列、操作列和注释列。( ╳)

    9. Access2003对数据库对象的所有操作都是通过数据库窗口开始的(√  )

    10、在 ACCESS2003中,除了数据库窗口一次只能打开一个,其他对象可以同时打开多个(╳ )

    11、关系模型中,元组个数具有有限性(√ )

    12、在 ACCESS中,一个英文字符的字段大小是1,而汉字是2。(╳ )

    13、字段属性中,“允许空子符串”属性只针对文本型字段。(√ )

    14、在数据表视图下建立表结构时,所有字段默认类型都是数字型(╳ )

    15、数据表的列宽只针对选中的列生效,改变数据表的行高则对全体行生效(╳ )

    16、在查询操作中,当对两个字段都做分组时,以分组较细的优先(√ )

     17、用向导建立交叉表查询时,数据源只能是一个表或者查询(√ )

    18.要使用数据库必须先打开数据库(√ )

    19.文本性的字段最多允许存储256个字符(╳ )

    20.在表的设计视图中也可以进行增加、删除、修改记录的操作(╳ )

    21.“有效性规则”用来防止非法数据输入到表中,对数据输入起着限定作用。(√ )

    22.记录是关系数据库中最基本的数据单位(╳ )

    23.只有单击主窗口的“关闭”按钮,才能退出 Access2010(╳)

    24.OLE对象中插入的图片类型可以是BMP或JPG格式等,但只有BMP格式可以在窗体中正常显示(√ )

    25、 Access中,查询有3种视图方式,分别是设计视图、数据表视图和查询视图。(╳ )

    26.用二维表表示数据及其联系的数据模型称为关系模型(√ )

     

     

     

    三、填空题

    1.一个关系表的行称为__ 元组___,列称为___字段___。

    2、窗体中的数据主要来源于__数据表____和__查询_________

    3.三个基本的关系运算是___选择___、___投影 ___和连接。

    4、 Access的7种数据库对象分别有:表、___查询_____、窗体、__报表___、宏和模块

    5、在 Access中,自动启动宏的名称是 _________

    6.__控件___是窗体上用于显示数据、执行操作、装饰窗体的对象。

    7、VBA的三种流程控制结构是:顺序结构、___选择_____和_____循环____。

    8.Access数据库中,如果在窗体上输入的数据总是取自表或查询中的字段数据,或者取自某固定内容的数据,可以使用___列表框____来完成。

    9、在创建主/子窗体之前,必须设置__数据表___、创建窗体之间的关系,并且已创建两个窗体。

    10.某窗体中有一命令按钮,在窗体视图中单击此命令按钮打开一个报表,需要执行的宏操作是___ OpenReport ___(打开报表)__。

    11.在数据表视图下向表中输入数据,在未输入数值之前,系统自动提供的数值字段的属性是 __默认值____。

    12.某窗体中有一命令按钮,名称为C1。要求在窗体视图中单击此命令按钮后,命令按钮上显示的文字颜色为棕色(棕色代码为128),实现该操作的VBA语句是___17个例题中有 ___。

    13.如果要将某表中的若干记录删除,应该创建 __删除__查询。

    14、 Access中,查询不仅具有查找的功能,而且还具有___计算_____功能

    15.VBA中定义符号常量的关键字是______。

    16、函数Md("惠州学院计算机科学系",5,3)的结果是:___计算机____

    17.程序测试分为静态分析和动态测试。其中 ____静态分析_______是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。

    18.在窗体中添加一个命令按钮(名称为Command1),然后编写如下代码:

    Private  Sub  Command1_Click( )

               Static  b  as  integer

          b=b+1

        End  Sub

    窗体打开运行后,三次单击命令按钮后,变量b的值是___3___。

    19.在窗体上有一个文本框控件,名称为Text1。同时,窗体加载时设置其计时器间隔为1秒、计时器触发事件过程则实现在Text1 文本框中动态显示当前日期和时间。请补充完整。

    Private Sub Form_Load()

       Me.TimerInterval=1000

    End Sub

    Private Sub ________

       Me.Text1=Now()

    End Sub

    20.实现数据库操作的DAO技术,其模型采用的是层次结构,其中处于最顶层的对象是_________。

    21.下面VBA程序段运行时,内层循环总次数是___9______。

          For  m=0  To  7  Step 3

            For  n=m-1  To  m+1

            Next  n

          Next  m

    22.在面向对象方法中, ___类______描述的是具有相似属性与操作的一组对象。

    23.在关系模型中,把数据看成是二维表,每一个二维表称为一个____关系______。

    24.结合型文本框可以从表、查询或_____SQL查询_______中获得所需的内容。

    25.在创建主/子窗体之前,必须设置_____表_____之间的关系。

    26.函数Right(“计算机等级考试”,4)的执行结果是____等级考试_____。

    27.某窗体中有一命令按钮,在窗体视图中单击此命令按钮打开一个查询,需要执行的操作是__________。跟读字母

    28.在使用Dim语句定义数组时,在缺省情况下数组下标的下限为____________。

    29.在窗体中添加一个命令按钮,名称为Command1,然后编写如下程序:

    Private Sub Command1_Click()

    Dim s,i

    For i=1 To 10

    s=s+i

    Next i

    MsgBox s

    End Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果为____55_______。

    30.在窗体中添加一个名称为Command1的命令按钮,然后编写如下程序:

    Private Sub s(By Val p As lnteger)

    p=p*2

    End Sub

    Private Sub Command1_Click()

    Dim i As Integer

    i=3

    Call s(i)

    If i>4 Then i=i^2

    MsgBox i

    End Sub

    窗体打开运行后,单击命令按钮,则消息框的输出结果为____36________。

    31.设有如下代码:

    x=1

    do

    x=x+2

    loop until____X=7______

    运行程序,要求循环体执行3次后结束循环,在空白处填入适当语句。

    32.窗体中有两个命令按钮:“显示”(控件名为cmdDisplay)和“测试”(控件名为cmdTest)。以下事件过程的功能是:单击“测试”按钮时,窗体上弹出一个消息框。如果单击消息框的“确定”按钮,隐藏窗体上的“显示”命令按钮;单击“取消”按钮关闭窗体。按照功能要求,将程序补充完整。

    Private Sub cmdTest_Click()

    Answer= _____ _____       (“隐藏按钮”,vbOKCancel)

    If Answer=vbOK Then

    cmdDisplay.Visible= __________     

    Else

    Docmd.Close

    End If

    End Sub

    33.数据库管理系统常见的数据模型有层次模型、网状模型和___关系模型_____3种。

    34.一个关系就是一个_____二维表______,二维表中的列称为_____字段_____,行称为_____元组_____。

    35.VBA中定义符号常量的关键字是_________。

    36.数据模型按不同应用层次分成3种类型,它们是概念数据模型、 ___________和物理数据模型。

    37.二维表中的一行称为关系的________。

    38.三个基本的关系运算是____选择___、_____投影____和联接。

    39.窗体由多个部分组成,每个部分称为一个__节___,大部分的窗体只有____主体_____。

    40.___控件_______是窗体上用于显示数据、执行操作、装饰窗体的对象。

    41.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为___逻辑独立性____。

    42.一个主报表最多只能包含______两级_______子窗体或子报表。

    43.数据库管理系统常见的数据模型有层次模型、网状模型和__________3种。

    44.表操作共有三种视图,分别是设计视图,打印视图,___版面______视图。

    45.数据访问页有两种视图,分别为页视图和__________。

    46.实体与实体之间的关系可分为____一对一___、___一对多_____和____多对多______3种。

     

    四、简答题

    课后练习

    数据库相关概念

    查询操作步骤及作用

    报表基础知识

     

    综合题17个例题

    模块和VBA

    转载于:https://www.cnblogs.com/dengwd/p/9267927.html

    展开全文
  • SQL语法 Access

    千次阅读 2016-06-14 11:58:12
    SQL语法 Access ASP专栏 2009-08-21 09:45 阅读1651 评论0 字号: 大大 中中 小小 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句 一、 简单查询  简单的Transact-SQL查询只包括选择列表、...

    SQL语法 Access

    ASP专栏   2009-08-21 09:45   阅读1651   评论0   字号: 大大  中中  小小 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句
      一、 简单查询

      简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。

      例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。   SELECT nickname,email
      FROM testtable
      WHERE name='张三'


      (一) 选择列表

      选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。

      1、选择所有列

      例如,下面语句显示testtable表中所有列的数据:   SELECT *
      FROM testtable


      2、选择部分列并指定它们的显示次序

      查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。

      例如:   SELECT nickname,email
      FROM testtable


      3、更改列标题

      在选择列表中,可重新指定列标题。定义格式为:

      列标题=列名

      列名 列标题

      如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:   SELECT 昵称=nickname,电子邮件=email
      FROM testtable


      4、删除重复行

      SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。

      5、限制返回的行数

      使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。

      例如: SELECT TOP 2 *FROM testtable SELECT TOP 20 PERCENT * FROM testtable

    9、说明:in 的使用方法
    select * from table1 where a [not] in (‘值1’,’值2’,’值4’,

    ’值6’)

    10、说明:两张关联表,删除主表中已经在副表中没有的信息
    delete from table1 where not exists ( select * from table2

    where table1.field1=table2.field1 )

    11、说明:四表联查问题:
    select * from a left inner join b on a.a=b.b right inner join

    c on a.a=c.c inner join d on a.a=d.d where .....

    12、说明:日程安排提前五分钟提醒
    SQL: select * from 日程安排 where datediff('minute',f开始时

    间,getdate())>5

    13、说明:一条sql 语句搞定数据库分页
    select top 10 b.* from (select top 20 主键字段,排序字段 from 表

    名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字

    段 order by a.排序字段

    14、说明:前10条记录
    select top 10 * form table1 where 范围

    15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(

    类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排

    名,等等.)
    select a,b,c from tablename ta where a=(select max(a) from

    tablename tb where tb.b=ta.b)

    16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除

    所有重复行而派生出一个结果表
    (select a from tableA ) except (select a from tableB) except

    (select a from tableC)

    17、说明:随机取出10条数据
    select top 10 * from tablename order by newid()

    18、说明:随机选择记录
    select newid()

    19、说明:删除重复记录
    Delete from tablename where id not in (select max(id) from

    tablename group by col1,col2,...)

    20、说明:列出数据库里所有的表名
    select name from sysobjects where type='U'

    21、说明:列出表里的所有的
    select name from syscolumns where id=object_id('TableName')

    22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便

    地实现多重选择,类似select 中的case。
    select type,sum(case vender when 'A' then pcs else 0

    end),sum(case vender when 'C' then pcs else 0 end),sum(case

    vender when 'B' then pcs else 0 end) FROM tablename group by

    type
    显示结果:
    type vender pcs
    电脑 A 1
    电脑 A 1
    光盘 B 2
    光盘 A 2
    手机 B 3
    手机 C 3

    23、说明:初始化表table1
    TRUNCATE TABLE table1

    24、说明:选择从10到15的记录
    select top 5 * from (select top 15 * from table order by id

    asc) table_别名 order by id desc
      
    随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)
      对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们

    可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见

    的解决方案是建立如下所示的循环:
    Randomize
    RNumber = Int(Rnd*499) +1
     
    While Not objRec.EOF
    If objRec("ID") = RNumber THEN
    ... 这里是执行脚本 ...
    end if
    objRec.MoveNext
    Wend
     
      这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500

    就是数据库内记录的总数)。然后,你遍历每一记录来测试ID 的值、检查

    其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码

    。假如你的RNumber 等于495,那么要循环一遍数据库花的时间可就长了。

    虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个

    小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候

    不就死定了?
      采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录

    的recordset,如下所示:
    Randomize
    RNumber = Int(Rnd*499) + 1
     
    SQL = "SELECT * FROM Customers WHERE ID = " & RNumber
     
    set objRec = ObjConn.Execute(SQL)
    Response.WriteRNumber & " = " & objRec("ID") & " " &

    objRec("c_email")
     
      不必写出RNumber 和ID,你只需要检查匹配情况即可。只要你对以上代

    码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内

    容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。
    再谈随机数
      现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次

    取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random

    示例扩展一下就可以用SQL应对上面两种情况了。
      为了取出几条随机选择的记录并存放在同一recordset内,你可以存储

    三个随机数,然后查询数据库获得匹配这些数字的记录:
    SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR

    ID = " & RNumber2 & " OR ID = " & RNumber3
     
      假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),

    你可以用BETWEEN 或者数学等式选出第一条记录和适当数量的递增记录。这

    一操作可以通过好几种方式来完成,但是 SELECT 语句只显示一种可能(这

    里的ID 是自动生成的号码):
    SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber &

    " AND " & RNumber & "+ 9"

      注意:以上代码的执行目的不是检查数据库内是否有9条并发记录。

     
    随机读取若干条记录,测试过
    Access语法:SELECT top 10 * From 表名 ORDER BY Rnd(id)
    Sql server:select top n * from 表名 order by newid()
    mysqlelect * From 表名 Order By rand() Limit n
    Access左连接语法(最近开发要用左连接,Access帮助什么都没有,网上没有

    Access的SQL说明,只有自己测试, 现在记下以备后查)
    语法elect table1.fd1,table1,fd2,table2.fd2 From table1 left

    join table2 on table1.fd1,table2.fd1 where ...
    使用SQL语句 用...代替过长的字符串显示
    语法:
    SQL数据库:select case when len(field)>10 then left(field,10)

    +'...' else field end as news_name,news_id from tablename
    Access数据库:SELECT iif(len(field)>2,left(field,2)

    +'...',field) FROM tablename;
     
    Conn.Execute说明
    Execute方法
      该方法用于执行SQL语句。根据SQL语句执行后是否返回记录集,该方法

    的使用格式分为以下两种:
        1.执行SQL查询语句时,将返回查询得到的记录集。用法为:
        Set 对象变量名=连接对象.Execute("SQL 查询语言")
       Execute方法调用后,会自动创建记录集对象,并将查询结果存储在

    该记录对象中,通过Set方法,将记录集赋给指定的对象保存,以后对象变

    量就代表了该记录集对象。

        2.执行SQL的操作性语言时,没有记录集的返回。此时用法为:
        连接对象.Execute "SQL 操作性语句" [, RecordAffected][,

    Option]
          ·RecordAffected 为可选项,此出可放置一个变量,SQL语

    句执行后,所生效的记录数会自动保存到该变量中。通过访问该变量,就可

    知道SQL语句队多少条记录进行了操作。
          ·Option 可选项,该参数的取值通常为adCMDText,它用于

    告诉ADO,应该将Execute方法之后的第一个字符解释为命令文本。通过指定

    该参数,可使执行更高效。

    ·BeginTrans、RollbackTrans、CommitTrans方法
      这三个方法是连接对象提供的用于事务处理的方法。BeginTrans用于开

    始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的

    事务处理结果,即确认事务的处理。
      事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,

    事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并

    恢复到处里前的状态。
      BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间

    的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对

    象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生

    ,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。
    以下是MS SQL

    SQL分类:
    DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)
    DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)
    DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)

    首先,简要介绍基础语句:
    1、说明:创建数据库
    CREATE DATABASE database-name
    2、说明:删除数据库
    drop database dbname
    3、说明:备份sql server
    --- 创建 备份数据的 device
    USE master
    EXEC sp_addumpdevice 'disk', 'testBack',

    'c:mssql7backupMyNwind_1.dat'
    --- 开始 备份
    BACKUP DATABASE pubs TO testBack
    4、说明:创建新表
    create table tabname(col1 type1 [not null] [primary key],col2

    type2 [not null],..)
    根据已有的表创建新表:
    A:create table tab_new like tab_old (使用旧表创建新表)
    B:create table tab_new as select col1,col2… from tab_old

    definition only
    5、说明:删除新表drop table tabname
    6、说明:增加一个列
    Alter table tabname add column col type
    注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改

    变的是增加varchar类型的长度。
    7、说明:添加主键: Alter table tabname add primary key(col)
    说明:删除主键: Alter table tabname drop primary key(col)
    8、说明:创建索引:create [unique] index idxname on tabname(col

    ….)
    删除索引:drop index idxname
    注:索引是不可更改的,想更改必须删除重新建。
    9、说明:创建视图:create view viewname as select statement
    删除视图:drop view viewname
    10、说明:几个简单的基本的sql语句
    选择:select * from table1 where 范围
    插入:insert into table1(field1,field2) values(value1,value2)
    删除:delete from table1 where 范围
    更新:update table1 set field1=value1 where 范围
    查找:select * from table1 where field1 like ’%value1%’ --

    -like的语法很精妙,查资料!
    排序:select * from table1 order by field1,field2 [desc]
    总数:select count * as totalcount from table1
    求和:select sum(field1) as sumvalue from table1
    平均:select avg(field1) as avgvalue from table1
    最大:select max(field1) as maxvalue from table1
    最小:select min(field1) as minvalue from table1
    11、说明:几个高级查询运算词
    A: UNION 运算符
    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去

    表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即

    UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自

    TABLE1 就是来自 TABLE2。
    B: EXCEPT 运算符
    EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所

    有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT

    ALL),不消除重复行。
    C: INTERSECT 运算符
    INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有

    重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时

    (INTERSECT ALL),不消除重复行。
    注:使用运算词的几个查询结果行必须是一致的。
    12、说明:使用外连接
    A、left outer join:
    左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所

    有行。
    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN

    b ON a.a = b.c
    B:right outer join:
    右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的

    所有行。
    C:full outer join:
    全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录

    其次,大家来看一些不错的sql语句
    1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
    法一:select * into b from a where 1<>1
    法二:select top 0 * into b from a

    2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
    insert into b(a, b, c) select d,e,f from a;

    3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
    insert into b(a, b, c) select d,e,f from a in ‘具体数据库’

    where 条件
    例子:..from b in '"&Server.MapPath(".")&"data.mdb" &"'

    where..

    4、说明:子查询(表名1:a 表名2:b)
    select a,b,c from a where a IN (select d from b ) 或者:

    select a,b,c from a where a IN (1,2,3)

    5、说明:显示文章、提交人和最后回复时间
    select a.title,a.username,b.adddate from table a,(select

    max(adddate) adddate from table where table.title=a.title) b

    6、说明:外连接查询(表名1:a 表名2:b)
    select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON

    a.a = b.c

    7、说明:在线视图查询(表名1:a )
    select * from (SELECT a,b,c FROM a) T where t.a > 1;

    8、说明:between的用法,between限制查询数据范围时包括了边界值,not

    between不包括
    select * from table1 where time between time1 and time2
    select a,b,c, from table1 where a not between 数值1 and 数值2

    9、说明:in 的使用方法
    select * from table1 where a [not] in (‘值1’,’值2’,’值4’,

    ’值6’)

    10、说明:两张关联表,删除主表中已经在副表中没有的信息
    delete from table1 where not exists ( select * from table2

    where table1.field1=table2.field1 )

    11、说明:四表联查问题:
    select * from a left inner join b on a.a=b.b right inner join

    c on a.a=c.c inner join d on a.a=d.d where .....

    12、说明:日程安排提前五分钟提醒
    SQL: select * from 日程安排 where datediff('minute',f开始时

    间,getdate())>5

    13、说明:一条sql 语句搞定数据库分页
    select top 10 b.* from (select top 20 主键字段,排序字段 from 表

    名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字

    段 order by a.排序字段

    14、说明:前10条记录
    select top 10 * form table1 where 范围

    15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(

    类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排

    名,等等.)
    select a,b,c from tablename ta where a=(select max(a) from

    tablename tb where tb.b=ta.b)

    16、说明:包括所有在 TableA 中但不在 TableB和TableC 中的行并消除

    所有重复行而派生出一个结果表
    (select a from tableA ) except (select a from tableB) except

    (select a from tableC)

    17、说明:随机取出10条数据
    select top 10 * from tablename order by newid()

    18、说明:随机选择记录
    select newid()

    19、说明:删除重复记录
    Delete from tablename where id not in (select max(id) from

    tablename group by col1,col2,...)

    20、说明:列出数据库里所有的表名
    select name from sysobjects where type='U'

    21、说明:列出表里的所有的
    select name from syscolumns where id=object_id('TableName')

    22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便

    地实现多重选择,类似select 中的case。
    select type,sum(case vender when 'A' then pcs else 0

    end),sum(case vender when 'C' then pcs else 0 end),sum(case

    vender when 'B' then pcs else 0 end) FROM tablename group by

    type
    显示结果:
    type vender pcs
    电脑 A 1
    电脑 A 1
    光盘 B 2
    光盘 A 2
    手机 B 3
    手机 C 3

    23、说明:初始化表table1
    TRUNCATE TABLE table1

    24、说明:选择从10到15的记录
    select top 5 * from (select top 15 * from table order by id

    asc) table_别名 order by id desc
      
    随机选择数据库记录的方法(使用Randomize函数,通过SQL语句实现)
      对存储在数据库中的数据来说,随机数特性能给出上面的效果,但它们

    可能太慢了些。你不能要求ASP“找个随机数”然后打印出来。实际上常见

    的解决方案是建立如下所示的循环:
    Randomize
    RNumber = Int(Rnd*499) +1
     
    While Not objRec.EOF
    If objRec("ID") = RNumber THEN
    ... 这里是执行脚本 ...
    end if
    objRec.MoveNext
    Wend
     
      这很容易理解。首先,你取出1到500范围之内的一个随机数(假设500

    就是数据库内记录的总数)。然后,你遍历每一记录来测试ID 的值、检查

    其是否匹配RNumber。满足条件的话就执行由THEN 关键字开始的那一块代码

    。假如你的RNumber 等于495,那么要循环一遍数据库花的时间可就长了。

    虽然500这个数字看起来大了些,但相比更为稳固的企业解决方案这还是个

    小型数据库了,后者通常在一个数据库内就包含了成千上万条记录。这时候

    不就死定了?
      采用SQL,你就可以很快地找出准确的记录并且打开一个只包含该记录

    的recordset,如下所示:
    Randomize
    RNumber = Int(Rnd*499) + 1
     
    SQL = "SELECT * FROM Customers WHERE ID = " & RNumber
     
    set objRec = ObjConn.Execute(SQL)
    Response.WriteRNumber & " = " & objRec("ID") & " " &

    objRec("c_email")
     
      不必写出RNumber 和ID,你只需要检查匹配情况即可。只要你对以上代

    码的工作满意,你自可按需操作“随机”记录。Recordset没有包含其他内

    容,因此你很快就能找到你需要的记录这样就大大降低了处理时间。
    再谈随机数
      现在你下定决心要榨干Random 函数的最后一滴油,那么你可能会一次

    取出多条随机记录或者想采用一定随机范围内的记录。把上面的标准Random

    示例扩展一下就可以用SQL应对上面两种情况了。
      为了取出几条随机选择的记录并存放在同一recordset内,你可以存储

    三个随机数,然后查询数据库获得匹配这些数字的记录:
    SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR

    ID = " & RNumber2 & " OR ID = " & RNumber3
     
      假如你想选出10条记录(也许是每次页面装载时的10条链接的列表),

    你可以用BETWEEN 或者数学等式选出第一条记录和适当数量的递增记录。这

    一操作可以通过好几种方式来完成,但是 SELECT 语句只显示一种可能(这

    里的ID 是自动生成的号码):
    SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber &

    " AND " & RNumber & "+ 9"

      注意:以上代码的执行目的不是检查数据库内是否有9条并发记录。

     
    随机读取若干条记录,测试过
    Access语法:SELECT top 10 * From 表名 ORDER BY Rnd(id)
    Sql server:select top n * from 表名 order by newid()
    mysqlelect * From 表名 Order By rand() Limit n
    Access左连接语法(最近开发要用左连接,Access帮助什么都没有,网上没有

    Access的SQL说明,只有自己测试, 现在记下以备后查)
    语法elect table1.fd1,table1,fd2,table2.fd2 From table1 left

    join table2 on table1.fd1,table2.fd1 where ...
    使用SQL语句 用...代替过长的字符串显示
    语法:
    SQL数据库:select case when len(field)>10 then left(field,10)

    +'...' else field end as news_name,news_id from tablename
    Access数据库:SELECT iif(len(field)>2,left(field,2)

    +'...',field) FROM tablename;
     
    Conn.Execute说明
    Execute方法
      该方法用于执行SQL语句。根据SQL语句执行后是否返回记录集,该方法

    的使用格式分为以下两种:
        1.执行SQL查询语句时,将返回查询得到的记录集。用法为:
        Set 对象变量名=连接对象.Execute("SQL 查询语言")
       Execute方法调用后,会自动创建记录集对象,并将查询结果存储在

    该记录对象中,通过Set方法,将记录集赋给指定的对象保存,以后对象变

    量就代表了该记录集对象。

        2.执行SQL的操作性语言时,没有记录集的返回。此时用法为:
        连接对象.Execute "SQL 操作性语句" [, RecordAffected][,

    Option]
          ·RecordAffected 为可选项,此出可放置一个变量,SQL语

    句执行后,所生效的记录数会自动保存到该变量中。通过访问该变量,就可

    知道SQL语句队多少条记录进行了操作。
          ·Option 可选项,该参数的取值通常为adCMDText,它用于

    告诉ADO,应该将Execute方法之后的第一个字符解释为命令文本。通过指定

    该参数,可使执行更高效。

    ·BeginTrans、RollbackTrans、CommitTrans方法
      这三个方法是连接对象提供的用于事务处理的方法。BeginTrans用于开

    始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的

    事务处理结果,即确认事务的处理。
      事务处理可以将一组操作视为一个整体,只有全部语句都成功执行后,

    事务处理才算成功;若其中有一个语句执行失败,则整个处理就算失败,并

    恢复到处里前的状态。
      BeginTrans和CommitTrans用于标记事务的开始和结束,在这两个之间

    的语句,就是作为事务处理的语句。判断事务处理是否成功,可通过连接对

    象的Error集合来实现,若Error集合的成员个数不为0,则说明有错误发生

    ,事务处理失败。Error集合中的每一个Error对象,代表一个错误信息。
    Access基本操作


    Access基本操作

    一、数据库的基本概念和设计方法

    所谓数据库实际上是关于某一特定主题或目标的信息集合。它把大量数据按一定的结构进行存储,集中管理和统一使用这些数据,实现数据共享。在Access中,数据库不仅包含用于存放加工过的信息的表,还包含以表中所存放的信息为操作对象的查询、窗体、报表、页等数据库对象。

    一般地,数据库的设计应遵循以下几个步骤:

    1、确定创建数据库所要完成的目的。

    2、确定创建数据库中所需要的表。

    3、确定表中所需要的字段。

    4、明确有唯一值的主关键字段。

    5、确定表之间的关系。

    6、优化设计。

    7、输入数据并创建其他数据库对象。
    二、创建数据库

    在Access中既可以使用人工的方法按照自己的要求来建立数据库,也可以使用软件为用户提供的各种数据库向导,前者更为自由而后者则显然要方便一些。

    A、自行创建数据库

    使用人工的方法按照自己的要求来建立数据库,首先应创建一个空数据库,然后再将对象加入到数据库中。创建空数据库的步骤为:

    1、在启动Access后的Microsoft Access对话框中选择“空Access数据库”选项。

    2、在弹出的“文件新建数据库”对话框中选择数据库存放的位置、输入数据库的名称并单击“创建”按钮,进入Access数据库窗口,即完成了空数据库的创建。

    B、使用数据库向导创建数据库

    Access为用户提供了多种数据库向导,使用数据库向导可以方便地完成数据库的创建工作。具体步骤如下:

    1、在启动Access后的Microsoft Access对话框中选择“Access数据库向导、数据页和项目”选项。

    2、在弹出“新建”对话框后单击“数据库”选项卡,选择一种数据库。

    3、在弹出的“文件新建数据库”对话框中,选择数据库存放的位置,输入数据库的名称并单击“创建”按钮。

    4、依次在数据库向导窗口中为数据库中的各个表选择字段、选择显示样式、确定打印报表所用的样式、输入所建数据库的标题、确定是否在所有报表上加一幅图片,最后启动该数据库,至此就完成了使用向导创建数据库的工作。
    三、表的基本概念

    表是数据库中存储数据的最基本的对象,常称为“基础表”,是构成数据库的一个重要组成部分。表由若干记录组成,每一行称为一个记录,对应着一个真实的对象;每一列称为一个字段,对应着对象的一个属性信息。每个表的关键字(关键字可以为一个字段或多个字段)使表中的记录唯一。在表内还可以定义索引,当表内存放大量数据时可以加速数据的查找。

    Access中的所有数据都存放在数据表中。表是一个数据库系统的基础,只有建立表后,才可以建立查询、窗体和报表等其他项目,逐步完善数据库。
    四、创建表

    Access提供了三种创建新表的方法:

    1、使用数据库向导,在一个操作中创建整个数据库所需的全部表、窗体及报表。

    2、使用表向导来选择表的字段,这些字段可以从其他已定义好的表中选择。

    3、使用设计视图创建表。

    不管使用哪一种方法来创建表,随时都可以使用表设计试图来进一步自定义表。由于第一种方法已包含在使用数据库向导创建数据库的内容之中,这里着重说明后两种方法的实现。

    A、利用表向导创建表

    利用表向导创建新表,一般情况下能满足数据库开发者的要求,至于多余的字段可以用其他的方法将其删除。利用表向导创建表的步骤如下:

    1、在数据库窗口中,单击“对象”列表中的“表”,双击“使用向导创建表”。

    2、在弹出的“表向导”对话框中单击“表向导”并单击“确定”按钮。

    3、在弹出的对话框中选择要使用的表并添加所需要的字段(可以重命名)后单击“下一步”按钮。

    4、为表指定名称并确认主键,单击“下一步”按钮。

    5、选择创建完表后的动作,然后单击“完成”按钮。

    B、利用设计视图创建表

    使用设计器建立表的方法有两种:一种方法是直接使用设计器来创建新表,另一种方法是使用表向导来构造一个结构相近的表,然后在设计器中打开修改。下面介绍使用设计器来创建新表的步骤:

    1、在数据库窗口中,单击对象列表中的“表”,双击“使用设计器创建表”的按钮,进入“新建表”对话框。

    2、在各栏中输入字段名称、选择数据类型,然后设置字段属性。

    3、接着选中要设置为关键字的字段,单击“编辑”菜单中“主键”命令,设置“主关键字”,此时在所选字段左边行选定器上出现钥匙标记。

    4、保存所设计的表。
    五、关于主关键字与建立表间关系

    A、设置主关键字

    为了提高Access在查询、窗体和报表操作中的快速查找能力和组合保存在各个不同表中信息的性能,必须为建立的表指定一个主关键字。主关键字可以包含一个或多个字段,以保证每条记录都有唯一的值。设定主关键字的目的就在于保证表中的所有记录都能够被唯一识别。如果表中没有可以用作唯一识别表中记录的字段,则可以使用多个字段来组合成主关键字。其设置步骤如下:

    1、在表设计器中,单击字段名称左边的字段选择按钮,选择要作为主关键字的字段。单击字段选择按钮的同时按住Ctrl键可以同时选择多个字段。

    2、单击“编辑”菜单中的“主键”命令,则在该字段的左边显示钥匙标记。

    B、建立表间关系

    在表中定义主关键字除了可以保证每条记录可以被唯一识别外,更重要的作用在于多个表间的连接。当数据库中包含多个表时,需要通过主关键字的连接来建立表间的关系,使各表协同工作。

    要在两个表间建立关系,必须在这两个表中拥有相同数据类型的字段。其设置步骤如下:

    1、打开表所在的数据库窗口。

    2、单击“工具”菜单中的“关系”命令,弹出“显示表”对话框。

    3、选择要建立关系的表,然后单击“添加”按钮,依次添加完所需要的表后,单击“关闭”按钮。

    4、在关系对话框中选择其中一表中的主关键字,拖曳到另一表中相同的主关键字,释放鼠表键后,弹出“编辑关系”对话框。

    5、若在“编辑关系”对话框中选中“实施参照完整性”和“级联更新相关字段”复选框,则使在更新主表中记录的同时更新关系表中的相关记录。

    6、若在“编辑关系”对话框中选中“实施参照完整性”和“级联删除相关字段”复选框,则使在删除主表中记录的同时删除关系表中的相关记录。

    7、接着单击“联接类型”按钮,弹出“联接属性”对话框,在此选择联接的方式。

    8、在“编辑关系”对话框中单击“创建”按钮,即在创建关系的表之间有一条线将其连接起来,表示已创建好表之间的关系。

    9、关闭关系对话框,按需要选择是否保存关系的设定。

    编辑或修改关联性的操作是直接用鼠标在这一条线上双击,然后在弹出的“编辑关系”对话框中进行修改。删除关联性的操作是先用鼠标在这一条线上单击,然后再按Delete键删除。
    六、记录的基本操作

    Access只允许每次操作一个记录,正在操作的记录在行选定器上显示一个“三角图标”用于标记当前记录。当改变当前记录的数据但又没有保存时,行选定器上显示一个“笔型图标”。

    记录的基本操作包括添加记录、修改记录和删除记录。

    A、添加记录

    打开表的数据视图画面时,表的最末端有一条空白的记录,在记录的行选定器上显示一个星花图标,标示可以从这里开始增加新的记录。单击“插入”菜单中的“新记录”或直接选定该行即可添加记录。输入完数据后,移到另一个记录时会自动保存该记录。

    B、修改记录

    可用Tab键或直接用鼠标移到要修改的字段进行修改。

    C、删除记录

    选择一条或多条记录后按Delete键删除所有选中的记录。
    七、总结

    读过本文之后,相信您应该可以轻松地创建一个小型的数据库了,然而相比于Access强大而繁多的功能,这篇文章涉及的仅仅是最最简单和基本的一些操作,关于查询、窗体、报表、页以及宏与模块的内容将比表的基础操作更为复杂,有兴趣的读者可以查询其它的资料,以便顺利地设计和制作出高质量的应用系统。

    展开全文
  • Access数据库小结

    千次阅读 2014-06-06 13:18:32
    1、查询Access中的表名称 select name from MSysObjects where type=1 and flags=0 MSysObjects 2、几个查询结果Union ... 也就是说在Access里,这样的查询,并不能出想要的结果  select 'wallimn'  union a
    1、查询Access中的表名称
    select name from MSysObjects where type=1 and flags=0 MSysObjects

    2、几个查询结果Union All时,当使用了无表查询时,提示“查询输入必须包含至少一个表或查询”
      也就是说在Access里,这样的查询,并不能出想要的结果
      select 'wallimn'
        union all
        select name from MSysObjects

      这时可以建一个一行一列的表,比如效仿Oracle,建一个DUAL,从这个表里查些不相干的东西就行了。
      select 'wallimn' from dual
        union all
        select name from MSysObjects

    3、Access多表外联查询(三个或以上)的写法

    SELECT * FROM (aa LEFT JOIN bb ON aa.a = bb.a ) LEFT JOIN cc ON cc.a = bb.a;

    注意:在使用join语句查询时,如果有加多个On条件,必须用括号括起来,如:

    SELECT * FROM (aa LEFT JOIN bb ON aa.a=bb.a) LEFT JOIN cc ON(bb.a=cc.a and bb.b=cc.b)

    其他例子可以参考:

    (1)、SELECT * FROM URL as a LEFT OUTER JOIN MobileAfter as b ON a.URL = b.URL

    (2)、SELECT * FROM (URL as a LEFT OUTER JOIN MobileAfter as b ON a.URL= b.URL) LEFT OUTER JOIN MobileBefore as c ONc.URL=a.URL

    (3)、SELECT * INTO Ttable1 FROM ((((URL as a
    LEFT OUTER JOIN MobileAfter as b ON a.URL=b.URL)
    LEFT OUTER JOIN MobileBefore as c ON c.URL=a.URL)
    LEFT OUTER JOIN TeleCOM as d ON d.URL=a.URL)

    LEFT OUTER JOIN UniCOM as e ON e.URL=a.URL)


    1、 字符串长度检测函数Len(<</FONT>字符串表达式><</FONT>变量名>),返回的是字符串所含的字符数。

    2、 Access数据库中查询有很多种,根据每种方式在执行上的不同可以分为:选择查询、交叉表查询、参数查询、操作查询、

    3、 对象的特点:标识的唯一性、分类性、多态性、封装性和模块独立性、

    4、 结构化分析方法主要包括:面向数据流的结构化分析方法(SA-Structured nanlysis),面向数据结构的Jason方法(JSD-Jason system development method)和面向数据结构的结构化数据系统开发方法(DSSD)。

    5、 在面向对象的方法中,类之间共享属性和操作的机制称为:继承。

    6、 类是一个支持集成的抽象数据类型,而对象是类的实例。

    7、 在面向对象的程序设计中,类描述的是有相似性质的一组对象。

    8、 控件是窗体中用于显示数据、执行操作和装饰窗体的对象。

    9、 如果在窗体上输入的数据总是取自某一个表或查询,或取自固定内容的数据,可以使用列表框或组合框控件来完成。

    10、 数据库设计分为一下6个阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。

    11、 数据库系统(DBS)包括数据库(DB)和数据库管理系统(DBMS)

    12、 内模式又称为物理模式,它给出了数据库物理存储结构与物理存取方法、如数据库存储的文件结构、索引、集簇及hash等存取方式与存储路径。

    13、 数据处理的最小单位是数据项,由若干个数据项组成数据元素。

    14、 数据操纵语言(DML)负责数据操纵,包括查询及增、删、改等操作;数据定义语言(DDL)负责数据的模式定义与数据的物理存取构建。

    15、 三个基本的关系运算:选择、投影和联接。

    16、 用树形结构表示实体类型及实体间联系的数据模型称为层次模型;用二维表格表示实体类型及实体间联系的数据模型称为关系模型。

    17、 数据管理技术经历了5个阶段:人工处理阶段、文字系统和数据库系统、分布式数据库系统、面向对象数据库系统。

    18、 数据处理的最小单位:数据项。

    19、 数据流图的类型:变换型和事务型。

    20、 关系操作的特点:集合操作。

    21、 数据独立性一般分为物理独立性与逻辑独立性。

    22、 软件工程研究的内容主要包括:软件开发技术和软件工程管理。

    23、 通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。

    24、 字段命名规则为长度1-64个字符,可以包含字母、汉字、数字、空格和其他符号,不能包括句号,感叹号,方括号[ ],重音符号’。

    25、 Access表由表结构和表内容两部分组成。

    26、 参照完整性是在输入或删除记录时维持表之间已定义的关系而必须遵循的规则。

    27、 必须通过两表的共同字段来创建量表之间的关系。

    28、 在运行宏时,不可被修改的是宏本身。

    29、 Run SQL:执行指定的SQL语句。Requery:用于实施指定的控件重新查询.Quit:退出Access

    30、 在任意一颗二叉树中,度为0的结点(即叶子节点)总比度为2的结点多一个。

    31、 数据结构分为逻辑结构和存储结构,线性表属于存储结构。

    32、 软件工程的3要素:工具、过程、方法。

    33、 软件设计原理:抽象、模块化、信息隐蔽。

    34、 软件设计模块化的目的是降低复杂度。

    35、 VBA中,在缺省情况下,数组下标为0.

    36、 软件生命周期:提出、实现、使用、维护到停止使用退役的过程。

    软件生命周期分为三个时期八个阶段:软件定义期:问题定义、可行性研究和需求分析。

    软件开发期:概要设计、详细设计、实现和测试。

    运行维护期:运行维护阶段。

    37、 数据设计分为4个阶段:需求分析阶段、概念设计阶段、逻辑设阶段和物理设计阶段。

    38、 从关系模式中指定若干属性组成新的关系称为投影。

    39、 一般而言,一个表只包含一个主题。建立表结构的方法有“数据表”视图、“设计”视图、和“表向导”

    40、 单击“单步“按钮,可以单步跟踪执行宏,可以观察宏的流程和每一个操作的结果,从中发现并排除问题的错误的操作。

    41、 使用Sub过程相当于和执行一个语句,不直接返回值,而使用Function过程,要返回一个值,因此,可以向内部函数一样在表达式中使用。

    42、 在完成程序的测试后将进行程序的调试,程序调试的任务是诊断和改正程序中的错误。

    43、 单个用户使用的数据视图描述成为外模式,外模式是用户的数据视图,也就是用户所见到的数据模式。

    44、 结构化程序设计方法的主要原则:自顶向下、逐步求精、模块化、以及限制使用goto语句,

    45、 面向对象的程序设计具有可复用性的优点。

    46、 两个或两个以上模块之间关联的紧密程度称为耦合度。内聚衡量一个模块内部各个元素彼此结合的紧密程度。一般说来,要求模块之间的耦合尽可能的弱,而要求模块的内聚程度尽可能高。

    47、 在E-R图中,用矩形表示实体集,用椭圆形表示属性,用菱形(内部写上联系名)表示联系。

    48、 加载一个窗体时,首先触发的的open事件loadResize

    49、 在Visual Basic系统中,通常每条语句占一行,一行最多允许有255个字符,如果一行书写多个语句,语句之间用冒号隔开。

    50、 在关系模型中,把数据看成是二维表,每一个二维表成为一个关系。

    51、 文本框包括结合型、非结核型和计算型3种,从表,查询,SQL中获取数据的称为结合型文本。

    52、 窗体是Access数据库应用中一个非常重要的工具,可以用于显示数据、编辑数据、修改数据,但不能输出数据。

    53、 数据库系统(DBS)的组成:数据库集合、操作系统、数据库管理系统及相关软件。

    54、 数据库系统的核心是:数据库。

    55、 Access中,一个表就是一个关系,每一个关系就是一个二维表。

    56、 关系型数据库中所谓“关系”是指:数据模型符合满足一定条件的二维表格式。

    57、 和文件系统相比,数据库系统的数据冗余度小,数据共享性高。

    58、 E-R模型中可用E-R图表示,它具有3个要素:(1)实体型用矩形框表示,框内为实体名称;(2)属性用椭圆型来表示,并用线与实体连接,属性较多时可以将实体及其属性单独列表;(3)实体间的联系用菱形框表示,用线将菱形框与实体相连,并在线上标注联系的类型。

    59、 在关系中,水平方向的行称为元组,垂直方向的列称为属性,每一列有一个属性名。

    60、 设置字体颜色:命令按钮名称.Forecolor=颜色代码值。

    61、 数据访问对象(DAO)是VBA提供的一种数据访问接口,它包含了一个复杂的可编程数据关联对象的层次,其中DBEngine对象对于最顶层,它是DAO模型中惟一不能被其他对象所包含的数据引擎本身。

    62、 Access是作为关系数据库模型支持客户机/服务器应用系统。

    63、 SUM求和,count:计数。

    64、 交叉表:1个或多个行标题,1个列标题,1个值选项,列标题字段的值应显示在交叉表的第一行。

    65、 InputBox函数的返回值类型是字符串。

    66、 在VBA中,Setvalue(obj.value)函数含义:obj表示要设置其字段值的对象,value表示分配给字段的值。

    67、 黑箱测试是根据程序规格说明所规定的功能来设计测试用例,他不考虑程序的内部结构和处理过程。常用的黑箱测试技术分为:等价类划分、边界分析、错误猜测以及因果图等。

    68、 软件生命周期:问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护开放到废弃等阶段。

    69、 数据字典(DD)就是用来定义数据流图中各个成分的具体含义。数据字典的任务:对于数据流图中出现的所有被命名的图形元素在数据字典中作为一个词条加以定义,使得每个图形元素的名字都有一个确切的解释。

    70、 在SQL中,通过orderby短语可以对查询的结果进行升序或降序。

    71、 报表记录分组操作时,首先要选定分组字段,在这些字段上值相等的记录数据归为同一组。

    72、 如果希望按满足指定条件执行宏中的一个或多个操作这类宏称为条件操作宏。

    73、 退出Access应用程序的VBA代码是;Application Quit.

    74、 软件是程序、数据与相关文档的集合,相对于计算机硬件而言,软件是逻辑产品而不是物理产品,是计算机的无形部分。

    75、 软件测试与软件调试是两个不同的概念,软件测试的目的是发现错误,而软件调试的目的是发现错误或导致程序失效的原因,并修改程序以修正错误,调试是测试之后的活动。

    76、 符合程序设计风格要求的是程序的可读性好、程序中要有必要的注释、输入数据前要有提示信息、清晰第一,效率第二。

    77、 程序的执行效率与很多因素有关:数据的存储结构、程序所处理的数据量、程序所采用的算法等。

    78、 冒泡排序在最坏情况下的比较次数:n(n-1)/2.

    79、 在一个二维表中,水平方向的行称为元组,元组中的每一个分量不能再分割,对关系的描述称为关系模式,一个关系模式对应一个关系的结构,结构为:关系名(属性名1,属性名2。。。属性名n),一个关系就是一个二维表。

    80、 Access数据库由数据库对象和组两部分组成,其中对象分为七种:表、查询、窗体、报表、数据访问页、宏和模块。

    81、 Access数据库的表设计器中可以修改字段类型、设置索引和增加字段,但不能删除表中的记录,需要打开表进行删除。

    82、 在Access中,表和查询可以作为查询的数据源。

    83、 通配符含义:[]通配方括号内列出的任一单个字符,?单一字符;*零个或多个字符;#单一数字。

    84、 报表页眉是在报表的左上端输出信息,一般用来显示报表的标题、图形或说明性文字;报表页脚是在整个报表的最后输出信息;页面页眉使显示报表中的字段名称或记录的分组名称;页面页脚位于每页报表的最底部,用于显示本页数据的汇总情况。

    85、 宏操作SetValue可以对Access窗体、窗体数据表或报表上的字段、控件或属性的值进行设置。

    86、 使用Function语句定义一个函数过程,其返回值的类型:由函数定义时As子句声明。在函数过程名末尾用一个类型声明字符或使用As自居来声明被这个函数过程返回的变量数据类型。

    87、 ByVal按值传递;ByRef按地址传递。

    88、 DAO数据库访问对象,DAO是目前操作Access数据的最佳对象模型,利用DAO对象模型,可以操作Access表中的数据、创建及操纵表和查询。

    89、 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中最重要的文档之一,包括正确性、无歧义性、完整性、可验证性、一致性、可理解性、可修改性和可追踪型等。其中最重要的特性是无歧义性,即需求规格说明书应该是精确的、无二义的,需求说明书越精确,则以后出现错误、混淆、反复的可能性越小。

    90、 

    91、 Access数据库的文件扩展名为.mdb.

    92、 

    93、 用于执行指定SQL语句的宏操作:RunSQL

    94、 

    95、 

    96、 结构化程序设计的原则包括:自顶向下,逐步求精的设计思想,“独立功能,单出、入口“的模块化设计等。

    97、 

    98、 在最坏情况下,快速排序、冒泡排序和直接插入排序需要的比较次数都是n(n-1)/2,堆排序需要比较的次数为nlog2n.

    99、 数据库的逻辑设计分为:(1)将概念模型转换成一般的数据模型;(2)将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。把概念模型转换成关系数据模型是把E-R图转换成一组关系模式。

    100、 选择:从关系中找出满足给定条件的元组的操作;

    投影:从关系模式中指定若干个属性组成新的关系;

    联接:将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。

    自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值联接,自然连接是去掉重复属性的等值联接。

    101、 

    102、 

    103、 控件不可见属性是:控件名称.visible=false.

    104、 VBA程序流程控制的方式为顺序、分支(条件)与循环。

    105、 

    106、 VBA中提供On Error Go To语句来控制当有错误发生时程序的处理,指令如下:

    107、 On Error Go To标号、On Error Resume Next On Error Go To 0.

    108、 在VBA中主要提供了3种数据库访问接口:开放数据库互边应用编程接口(ODBC API)、数据库访问对象(DAO)和Active数据对象(ADO)。动态链接库简称DLL

    109、 ByVal为传值,当把函数外的一个变量传给ByVal的参数时,在函数体内对该参数所做的任何变更,不会影响函数体外的变量的值。

    110、 

    111、 

    112、 

    113、 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的。

    114、 在数据流图中,矩形表示数据的外部实体,圆角的矩形表示变换数据的处理逻辑,少右面边的矩形表示数据的存储,箭头表示数据流。

    115、 在软件开发中,需求分析阶段可以使用的工具是DFD图(数据流图),是采用图形方法来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。

    116、 自然连接是特殊的等值连接。

    117、 对数据表进行筛选,筛选后只显示满足条件的记录,而不满足条件的记录将被隐藏起来。

    118、 参照完整性:再输入或删除记录时,为维持表与表之间已定义的关系必须遵循的原则,参照完整性规则包括更新规则、删除规则、插入规则。

    119、 索引可以加快数据的查询速度,索引文件作为一个独立的文件进行存储,文件中包括指向表记录的指针,建立索引后,表中记录的物理顺序不变。

    120、 使用向导创建查询时,数据源可以来自表或查询。

    121、 参数查询利用对话框提示信息用户输入参数,并检索符合所输入的参数的记录或值,准则中将参数提示文本放在[ ]中。

    122、 显示文本框控件的值为:控件名称.Value=值。

    123、  报表是以打印格式来显示数据的,其中的信息大多来源于基表、查询和SQL语句,少量来源于报表设计中。

    124、 要限制宏命令的操作范围可以在创建宏时定义宏条件表达式。

    125、 程序范围:变量在整个程序内都是有效的;全局范围:变量定义在标准模块的所有过程之外的起始位置,运行时在所有类模块和标准模块的所有子过程与函数过程中都可见;模块范围:变量定义在模块的所有过程之外的起始位置,运行时在模块所包含的所有子过程和函数过程中可见;局部范围:变量定义在模块的过程内部,过程代码执行时才可见。

    126、 取整函数Fix(<</FONT>数值表达式>):返回数值表达式的整数部分。

    127、 

    128、 软件测试过程按4个步骤进行,即:单元测试、集成测试、确认测试和系统测试。

    129、 软件工程包括3个要素:方法、工具盒过程。软件工程方法为软件开发提供了“如何做”的技;工具支持软件的开发、管理、文档的生成;过程支持软件的开发的各个环节的控制、管理。

    130、 一张二维表对应一个关系,代表一个实体集,表中的一行称为一个元组,一个元组又由许多个分量组成,每个元组分量是表框架中每个属性的投影值。

    131、 

    132、 数据访问页有2中视图方式:页视图和设计视图。页视图用于查看数据访问页的效果,设计视图用于对数据访问页的内容进行修改。

    133、 程序流程控制结构包括顺序、选择和循环结构。

    134、 在VBA程序设计中,直接在属性窗口设置对象的属性属于静态设置方法,在代码窗口中由VBA代码设置对象的属性叫动态设置方法。

    135、 

    136、 

    137、 程序调试通常通常也称为Debug.;软件测试应严格执行测试计划,排除测试的随意性;软件测试的目的是暴露错误,评价程序的可靠性;软件调试的目的是发现错误的位置,并改正错误。

    138、 数据库应用系统中的一个核心问题是设计一个满足用户要求、性能良好的数据库,这就是数据库设计。

    139、 

    140、 查询是Access数据库设计目的的体现,建立数据库后,数据只有被使用者查询才能体现出它的价值。

    141、 使用Null或空白来表示字段的空值,空值是缺值或还没有值。

    142、 在宏中输入条件表达式时,可能会引用窗体或报表上的控件值,可以使用如下的语句:Forms![窗体名][控件名或 [Forms]![窗体名][控件名]Reports![报表名]![控件名]或 [Reports][报表名][控件名]

    143、 事件先后顺序为;GoFocus---Enter----控件接收焦点

    144、 

    145、 VBA中,过程定义不可以嵌套,过程的调用可以嵌套。

    146、 DLookUp函数是从指定记录集里检索特定字段的值。它可以直接在VBA、宏、查询表达式或计算机控件使用,而且主要用于检索来自外部表字段的数据。

    147、 VBA提供了3个条件函数,IIf函数,Switch函数和Choose函数,广泛应用与查询、宏及计算控件的设计中。

    148、 栈中的元素个数=栈底元素-栈顶元素+1

    149、 

    150、 

    151、 检索表中所有记录的所有字段格式为:Select*from表名。

    152、 Access窗体或报表事件可以有两种方法来响应:宏对象和事件过程。

    153、 

    154、 数据库管理系统是指位于用于用户与操作系统之间的数据管理软件,数据库管理系统是为数据库建立、使用和尾火虎而配置的软件。

    155、 Access可使用的数据类型有10种:文本、备注、数字、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查阅向导。

    156、 窗体的事件比较多,在打开窗体时,将按顺序发生相应的事件:打开(open----加载(load----调整大小(resize----激活(activate----成为当前(current)事件等。

    157、 消息框格式为MsgBox(prompt[, buttons][,tittle][,helpfile][,context]).

    158、 宏是由一个或多个操作组成的集体,其中每个操作都实现特定的功能,宏可以是由一系列操作组成的的一个宏,也可以是一个宏组,通过使用宏组,可以同时执行多个任务,既可以用Access中的宏生成器来创建和编辑宏,也可以通过编程实现。宏由宏名、参数、条件及宏操作等构成。

    159、 VBA数据类型中有:字符串型、字节型、布尔型、整数型、长整数型、单精度型、双精度型、日期型、货币型、小数点型、变体型及对象型等,没有指针类型的数据。

    160、 VBA中数组声明的格式为:dim数组名(维数定义)as类型,声明数组用圆括号,如果定义多维数组时,维数之间用逗号隔开。例如:Dim A3,4As Integer.

    161、 程序的流程图的菱形框表示的是逻辑判断。绘制流程图时,事实描述用椭圆形表示、行动方案用矩形表示、问题用菱形表示、箭头代表流动方向。

    162、 Go ToRecord在表、窗体或查询集中将指定的记录设置为当前记录。

    163、 文本框的内容发生改变将先后触发Before Update , On Change , After Update事件,其中,On Change事件是在内容改变时发生。

    164、 字符串长度检测函数Len(<<FONTface=宋体>字符串表达式><</FONT>变量名>)返回字符串所含字符数。

    165、 要将正实数x保留两位小数,若采用Int函数完成,则表达式为Len(x*100)/100.

    166、 编辑软件、教务管理软件属于应用软件,操作系统属于系统软件,浏览器属于支撑软件。

    167、 数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程。软件结构图是软件概要设计的工具,而详细设计是对概要设计的每个模块进行细化,UML是面向对象的需求分析工具。

    168、 E-R图即实体-联系图(E-R D),用来建立数据模型,在数据库系统概论中属于概念设计阶段。

    169、 

    170、 通配符#含义是:统配任何单个数字字符。

    171、 语法错误指程序的某一语法出现错误,如左右引号或括号不匹配等。当程序设计人员输入完一行语句时,Visual Basic编辑器会自动检测语法错误,并提醒程序员错误所在,但无法检测逻辑错误。

    172、 Set Value为窗口或报表的空间设置属性值,SetWarnings为打开或关闭所有的系统消息。

    173、 MsgBox可用于通知和警告用户信息。

    174、 计算队列中元素个数公式:(read-fron+MAXQSIZE%MAXQSIZE

    175、 软件是程序、数据和文件的集合。

    176、 SetFocus是空间得到焦点引发的事件,可实现将焦点移到指定控件。

    177、 使用向导创建数据访问页时,在确定分组级别步骤中最多可设置4分组字段。

    178、 系统总体结构支持软件系统的概要设计。

    179、 数据库中有三种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL),其中数据操作语言主要负责数据的插入、删除、查询、修改等操作。

    180、 在关系代数中,除法运算可理解为笛卡尔积的逆运算。

    181、 无符号整型unsigned [int]。占16位,范围是0-65535.

    182、 文本类型可以创建索引,而超级链接、备注、OLE对象数据类型不可以创建索引。

    183、 不可以为OLE对象设置默认值属性;定义默认值的含义是为减少数据的输入量,可以将出现较多的值作为该字段的默认值。输入掩码向导是针对一些数据有相对固定书写格式,例如文本、数字、日期/时间、货币等数据类型的字段。

    184、 DateValue函数是将字符串变为日期类型。

    185、 改变字段值使用UPDATE语句,格式为:UPDATE表名SET字段名=表达式WEHERE条件。

    186、 RunApp命令运行指定的外部应用程序,RunCode命令是运行VisualBasic函数过程,RunComman是运行一个ACCESS菜单命令,RunMaco命令运行一个宏 。

    187、 窗体的单击事件过程统一用Form_Click().

    188、 变量命名规则:只能由字母、数字或下划线组成;第一个字符必须是字母或下划线,不能是数字;不能与关键字相同。RemVBA的关键字。

    189、 参数传递有两种方法:按值传递ByVal和按地址传递ByRef。按值传递是单向传递,改变了形参变量而不会影响实参本身,而按地址传递是双向传递,任何引起形参变量的变化都会影响实参的值。

    190、 INTA+0.5)的结果是实现将A四舍五入取整。

    191、 使用二分查找的线性表必须满足两个条件:用顺序存储结构;线性表是有限的。

    192、 软件测试过程按4个步骤进行:单元测试(模块测试)、集成测试、验收测试(确认测试)和系统测试。单元测试是软件设计的最小单位—程序模块进行正确性检验的测试工作。

    193、 实体完整性约束要求关系数据库中元组的主键(主码)属性不能为空。

    194、 

    195、 在select语句中,having子句必须与group by子句一起使用。

    196、 Str()函数的作用是将数值表达式的值转化为字符串。

    197、 每访问完一条记录,记录指针移至下一条,用rs.movenext.

    198、 

    199、 

    200、 自然连接是最常用的一种连接,它满足的条件:两关系有公共域、通过公共域的相等值进行连接。

    201、 

    202、 在查询条件中使用[ ],表示在所定义的字符模式中,用[ ]描述一盒范围,用于可匹配的字符范围中的一个字符。

    203、 

    204、 在查询语句中,Between…and…表示查询介于这两者之间的数据,包括这两者。

    205、 引用窗体的空间值的格式为:Forms[窗体名][控件名][Forms][窗体名][控件名]

    206、 Change事件指示一个控件的内容已经改变,文本框的变化引起的事件就是change事件。

    207、 Val( )函数是将文本数据转换成数值数据

    208、 

    209、 宏的运行方式有:在其他宏中调用该宏;在VBA中调用该宏;事件发生时触发该宏。

    210、 IsNull函数是用来判断一个字段的值是否为空的函数。


    展开全文
  • OAuth 2.0授权框架详解

    万次阅读 热门讨论 2020-11-24 09:59:27
    当然,很可能在第三方网站上授权获得用户信息之后,还需要在本网站填写一些必要的信息进行绑定,比如手机号,用户名等等。 但是这比单纯的注册要方便太多了,也容易让用户接受。 今天,我们将要讲解一下OAuth 2.0...

    简介

    在现代的网站中,我们经常会遇到使用OAuth授权的情况,比如有一个比较小众的网站,需要用户登录,但是直接让用户注册就显得非常麻烦,用户可能因为这个原因而流失,那么该网站可以使用OAuth授权,借助于github或者其他的第三方网站的认证授权,来获取相关的用户信息,从而避免了用户注册的步骤。

    当然,很可能在第三方网站上授权获得用户信息之后,还需要在本网站填写一些必要的信息进行绑定,比如手机号,用户名等等。

    但是这比单纯的注册要方便太多了,也容易让用户接受。

    今天,我们将要讲解一下OAuth 2.0授权框架的构成,希望大家能够喜欢。

    OAuth的构成

    在传统的CS模式的授权系统中,如果我们想要借助第三方系统来访问受限的资源,第三方系统需要获取到受限资源服务器的用户名和密码,才能进行对资源服务器的访问,很显然这个是非常不安全的。

    在OAuth2中,我们是怎么做的呢?

    我们先来看一下OAuth2中授权的流程图:

    一般来说OAuth2中有4个角色。

    resource owner: 代表的是资源的所有者,可以通过提供用户名密码或者其他方式来进行授权。通常来是一个人。

    resource server:代表的是最终需要访问到资源的服务器。比如github授权之后获取到的用户信息。

    client: 用来替代resource owner来进行交互的客户端。

    authorization server: 用来进行授权的服务器,可以生成相应的Access Token。

    整个流程是这样的:

    Client向resource owner发起一个授权请求,resource owner输入相应的认证信息,将authorization grant返回给client。

    client再将获取到的authorization grant请求授权服务器,并返回access token。

    client然后就可以拿着这个access token去请求resource server,最后获取到受限资源。

    refresh Token

    为了安全起见,access token总是有过期时间的,那么如果token过期了怎么办呢?

    具体的办法就是refresh Token :

    我们看一下refresh token的流程图:

    前面的A,B,C,D和之前的讲到的流程是一致的。

    如果接下来访问资源的时候,access token过期了,那么client会再次向认证服务发出refresh token的请求。

    然后认证服务器会再次返回新的access token.

    Authorization Code模式

    上面我们讲到的模式中,Client会保存Authorization Grant信息,并通过这个信息来去授权服务器请求Access Token。

    Client直接保存Authorization Grant信息,并和授权服务器进行通信,这对client会有一定的安全限制。

    如果是在web环境中,client是借助user-agent(web浏览器)来进行访问的该如何处理呢?

    这里向大家介绍一个Authorization Code模式。

    Client通过User-Agent发起请求,并附带跳转链接。当提供了用户的授权认证信息之后,授权服务器返回的不是token而是authorization code,拿到这个code之后,client可以通过这个code来获取access Token或者refresh Token。

    上面的授权流程图我们可以通过一个具体的例子来说明,resource owner就是我们要访问的资源。 Authorization Server是第三方的授权服务器,比如github的授权服务。而User-Agent就是浏览器。

    好了,我们开始具体流程的讲解:

    比如用户想获取www.flydean.com的信息,但是需要登录,这个时候就跳转到github的登录界面,我们输入github的用户名密码,github会返回一个Authorization Code到我们的服务器比如 www.flydean.com/?code=code, client拿到这个code之后,会去后台请求github,去验证这个code的合法性,如果code合法,则github会返回access token的信息,client后面就可以通过access token去github资源服务器资源了。

    举一个具体的access token返回值的例子:

         HTTP/1.1 200 OK
         Content-Type: application/json;charset=UTF-8
         Cache-Control: no-store
         Pragma: no-cache
    
         {
           "access_token":"2YotnFZFEjr1zCsicMWpAA",
           "token_type":"example",
           "expires_in":3600,
           "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
           "example_parameter":"example_value"
         }
    

    隐式授权

    在上面我们讲到的几个模式中,client都需要直接和授权服务器进行通信,从而获取到access Token,有没有什么方式可以不需要client和授权服务器直接通信就可以得到access token呢?

    接下来我们讲一下隐式授权。

    上图就是一个隐式授权的例子,和Authorization Code模式不同的是,授权服务器返回的是一个access token片段,只有这个片段,我们是无法得到access token的。

    这里我们需要额外请求一次client resource服务器,服务器将会返回一个script脚本,通过这个脚本,我们对access token片段进行解析,得到最终的access token。

    Resource Owner 授权密码认证

    这种模式一般出现在resource owner非常信任client的情况下。

    我们先看一下流程图:

    这种模式实际上相当于用户将密码交给client保管,由client使用保存好的用户名密码向授权服务器请求资源。

    Client 认证授权

    这种模式下,client本身是有一定的授权范围的,可以通过client认证授权,直接获取到授权服务器的access token。

    github的OAuth2认证流程

    上面讲的通用流程中,其实很多角色都可以合并的。

    接下来我们具体讲解一下如何使用github的OAuth2进行授权。

    要使用github的OAuth2,需要首先在github中进行OAuth服务的注册。

    点击注册按钮,输入相应的信息,我们就可以完成注册了。

    这里比较重要的就是callback url,我们会通过这个callback url来传递授权信息。

    注册成功之后,你会得到一个Client ID和Client Secret。

    github的授权步骤分为三个部分:

    用户跳转到github的认证页面进行授权

    在这一部分中,我们需要跳转到github的授权页面:

    https://github.com/login/oauth/authorize
    

    上面是跳转页面的链接,这个链接可以接下面几个参数:

    client_id: 必须的参数,是我们上面注册app得到的client id。

    redirect_uri: 可选参数,如果不设定,则会使用注册的时候提供的callback uri。

    login:可选参数,指定具体的认证用户名。

    scope:github中权限的范围。

    state: 是一个随机数,用来防止cross-site攻击。

    allow_signup: 是否允许在认证的时候注册。

    看一下跳转的页面:

    用户跳转回要访问的资源页面

    当用户授权之后,就会调整到callback页面,并带上code:

    http://www.flydean.com/login?code=b14a2dd57f11b2310f42
    

    应用程序拿到code之后,通过调用下面的请求来获取access token:

    POST https://github.com/login/oauth/access_token
    

    这个post请求需要带上client_id,client_secret,code这三个必须的参数,还可以带上两个可选的参数redirect_uri和state。

    默认情况下,我们会获取到下面的响应信息:

    access_token=e72e16c7e42f292c6912e7710c838347ae178b4a&token_type=bearer
    

    应用程序拿到access token获取到github用户信息

    有了access token之后,我们需要将token放到请求head中,去请求用户信息:

    Authorization: token OAUTH-TOKEN
    GET https://api.github.com/user
    

    总结

    OAuth2是一个非常常用的协议,也非常的方便,主要目的就是可以使第三方服务器可以获得授权范围内的用户信息。希望大家能够喜欢。

    本文作者:flydean程序那些事

    本文链接:http://www.flydean.com/oauth-2-0-in-depth/

    本文来源:flydean的博客

    欢迎关注我的公众号:「程序那些事」最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧等你来发现!

    展开全文
  • 将Excel数据导入Access数据库

    千次阅读 2009-11-06 14:47:00
    建造每一行的过程中,又分为两步:创建行和绑定行两个步骤。下面分开说:  创建行:就是根据数据源的结构创建出n个单元格,并根据GridView的样式和BoundFField属性的样式设置好每个单元格的样式(背景色,前景...
  • Spring处理基础设施,以便您可以专注于您的应用程序。 Spring使您能够从”简单的Java对象”(POJO)构建应用程序,并将企业服务非侵入式应用于POJO。 此功能适用于Java SE编程模型以及完整和部分Java EE。
  • ASP + Access 初阶笔记 By Shawl.qiu

    千次阅读 2006-08-14 01:54:00
    ASP + Access 初阶笔记 By Shawl.qiu说明: 这是 shawl.qiu 的个人笔记, 一点一滴都是敲出来, 一大堆, 杂乱无序, 不过初级 Access 的操作内容应该都涉及到了. 所以, 转载什么的请注明一下来源, 多次...
  • 中文名: Access2007数据库开发全书 作者: 王樵民 图书分类: 软件 资源格式: PDF 版本: 扫描版 出版社: 清华大学出版社 书号: 9787302184638 发行时间: 2008年12月01日 地区: 大陆 语言: 简体中文 简介: 下载...
  • .NET ORM框架

    千次阅读 2015-01-11 22:00:53
    .NET平台下,关于数据持久层框架非常多,本文主要对如下几种做简要的介绍并推荐一些学习的资源: 1.NHibernate 2.NBear 3.Castle ActiveRecord 4.iBATIS.NET 5.DAAB 附加介绍:DLin
  • 表设计器是Access中设计表的工具,用表向导建立表的时候,它自动定义了各种字段的属性,而表的设计器中则可以自己设计生成各种各样的表,并能对表中任何字段的属性进行设置,比如将表中的某个字段定义为数字类型...
  • 微信公众号分为服务号、订阅号、企业号,订阅号可以个人申请,服务号和企业号要有企业资质才可以。 我们所说的微信公众号开发指的是订阅号和服务号。关于订阅号和服务器的区别,官方是这样解释的 服务号**:...
  • swift 框架大全

    千次阅读 2017-07-21 08:57:49
    IBDesignable 让使用者可以在 Xcode 中快速设置动画效果。 JGTransitionCollectionView  - swift,基于集合视图扩展实现完成自动布局及单元项 Flip式动画效果(效果很赞)。组件使用方便、自然(只需设置集合视图...
  • 不论你数据是存储普通的文本文件或者是csv文件,甚至关系数据库(RDBMS)或者LDAP(Lightweight Directory Access Protocol)系统中, 使用DAO模式,数据访问的客户端代码可以完全忽视这种差异,而以统一的接口来...
  • 为了统一和简化相关的数据访问操作,J2EE核心模式提出了DAO模式,即“Data Access Object”,中文通常称为“数据访问对象”。 通过DAO模式,我们可以完全将数据的访问方式和数据的存储机制相分离,很好的屏蔽掉了...
  • Yii 有很多 extension 可以使用,查看了 Yii 官网上提供的与 OAuth 相关的扩展后,发现了几个 OAuth2 的客户端扩展,但是并没有找到可以作为 OAuth2 Server 的扩展。因为 Yii 是组织良好的易于扩展的框架,所以...
  • Java开源 J2EE框架

    千次阅读 2010-05-19 19:29:00
    Spring Framework 【Java开源 J2EE框架】 Spring是一个解决了许多J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是...
  • 系统框架说明

    千次阅读 2012-12-05 18:25:12
    控件调用,要求所有业务类实现方法。 ( 2 ) Screen 类 屏幕分辨率类,有宽带和高度 2 个属性。主要用于页面自动调整大小,系统登录时建立 Session[“Screen”]=screen ,各个页面通过获取 Session 可得到...
  • regmap是 Linux 内核为减少慢速 I/O 驱动上的重复逻辑,提供一种通用的接口来操作底层硬件寄存器的模型框架,简化驱动开发,提高访问效率。
  • 关于MyBatis框架这一篇就够了

    千次阅读 多人点赞 2021-05-14 20:45:34
    应用目的的角度来看框架是一种可以被应用开发者定制的应用骨架。总结来讲,框架是一种半成品应用,是一种组件,可以辅助你开发自己的系统。 框架解决的问题 框架要解决的最重要的一个问题是技术整合的问题,J2EE...
  • Android动态界面开发框架Tangram使用完整教程

    万次阅读 多人点赞 2019-04-25 16:51:20
    使用该开源项目,可以让我们同一个RecyclerView里处理线性、网格等等各种复杂的布局。然而,使用vlayout时,一切都需要用Java代码实现,而且都是写客户端上,一旦需要修改就必须发版,不...
  • Webx框架指南

    千次阅读 2015-11-23 16:43:33
    Webx框架指南 ...部分 I....1.3. 章总结 ...2.4. 章总结 ...3.4. 章总结 ...一个组件可以扩展另一个组件,也可以被其它组件扩展。这种机制造就了Webx的非常好的扩展性,且比未经扩展的Spring更易使用。...
  • 那么你可以在浏览器或者利用Ajax的GET方法,将路径设置好;例如:localhost:8080/Student(项目名称)/studentinfo(项目服务总体前缀)/student(处理student对象的签注)/getStudentInfo(最后前缀)。这样就可以获取所有...
  • Java开源 J2EE框架(一)

    千次阅读 2010-08-18 10:11:00
    <br />Java开源 J2EE框架(一) 2007-01-06 12:33 Spring Framework 【Java开源 J2EE框架】 Spring是一个解决了许多J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且...
  • RBAC是Role-Based Access Control的首字母,译成中文即基于角色的权限访问控制。简单来说就是用户对应角色,角色对应权限,一个用户可以对应多个角色,一个角色对应着多个权限,他们之间形成的是多对多的关系,因此...
  • cocos2d-x-3.x 源代码框架解析

    千次阅读 2015-06-19 22:07:13
    框架,基本上都可以分为两部分:  1. 一个入口主类,它定义了整个应用程序的生命周期,并提供一些全局的资源  2. 一些绘制到屏幕上的“页面”控件。 3 、 CCApplication类主要做的事  1 )控制应用...
  • 组合框分为简易式(Simple combo box)、下拉式(Drop-down combo box)和下拉列表式(Drop-down list box)三种.简易式组合框包含一个编辑框和一个总是显示的列表框。下拉式组合框同简易式组合框类似,二者的区别
  • iOS GitHub上常用第三方框架

    千次阅读 2016-09-20 13:54:01
    第二个Demo模拟了一个经典的FlowLayout,任意一个元素隐藏时,底下的元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定。 Autolayout_Demo - 在项目中用自动布局实现的类似...
  • 最后一起看下微服务的运行容器:微部署可以部署Dorker容器、PaaS平台(VM)或者物理机上。使用Docker部署微服务会带来很多优先: 一致的环境,线上线下环境一致。 避免对特定云基础设施提供商的依赖。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,403
精华内容 4,561
关键字:

在access中文本框可以分为