access和 excel 或者别的sql数据库之间的区别

  • excel是一个表格工具,主要用于表格数据的展示,计算,并且可以通过一些图示来表来让数据更加直观。现在的excel也能做也类似类似access窗体交互的事情,但是不管是数据存储还是窗体交互上都比access差。excel更擅长的表格化数据的展示,数据存储只是附带的。
  • mysql,oracle,sql server 之类的数据库定位,只是一个数据库,并且是有完善数据控制权限的数据存储工具,和数据的展示无关。所以sql类的数据的只做数据存储,对比excel access的在数据量,性能,安全,数据一致性上有更高的要求
  • access是数据存储+带有图形用户界面的数据交互方式。并且它自带了窗体(一种特殊的窗口,类似管理软件界面或者是网页界面的东西),报表(可以理解为只读的统计表格),宏(预定义的一些程序方法,比如打开指定窗体,点击按钮以后得执行数据刷新等等,或者是通过录制的方式生成的处理过程),access的窗体里面有按钮,选择框,输入框,文字标签,图片,单选复选框,图片等常见的显示组件。

acces的优缺点

  • 缺点:access 没有普通数据库的权限机制,性能不高,不适合太多的数据,个人觉得管理万以内的数据是合适的超过10W的数据,就不用考虑access了。
  • 优点:窗体+宏,可以快速并且低成本的做出一个可以给普通人使用的带图形用户界面的数据管理和展示的平台。搭建这小型系统的过程甚至可以不会sql和编程语言。
  • 举个例子,如果是类似什么图书管理系统,仓库出纳系统,理发店会员管理系统(小型) 之类的,access完全可以胜任。
    下面是一个access的窗体
  • access适用场景和使用总结_sql


access里面对比普通sql 数据库需要注意的一些地方和一些界面操作方法

  1. access的数据类型解释
  • 自动编号,常用预主键
  • OLE对象,单个文件
  • 附件,多个文件
  • 超链接,邮件,地址等
  • 查阅向导,可以指定外键下拉列表,或者自定义下拉列表
  1. 字段属性
  • 字段大小,决定占存储大小,和最大容量
  • 格式,短文本输入英文的时候可以同格式 > ,< 切换大小写
  • 输入掩码 是一种输入格式限定,类似低配版正则输入掩码的三个部分
    输入掩码由一个必需部分和两个可选部分组成,每个部分用分号隔开。 每个部分的用途如下所示

字符

说明

0

用户必须输入一个数字(0 到 9)。

9

用户可以输入一个数字(0 到 9)。

#

用户可以输入一个数字、空格、加号或减号。 如果跳过,Access 会输入一个空格。

L

用户必须输入一个字母。

?

用户可以输入一个字母。

A

用户必须输入一个字母或数字。

a

用户可以输入一个字母或数字。

&

用户必须输入一个字符或空格。

C

用户可以输入字符或空格。

. , : ; - /

小数分隔符、千位分隔符、日期分隔符和时间分隔符。 您选择的字符取决于 Microsoft Windows 区域设置。

>

其后的所有字符都以大写字母显示。

<

其后的所有字符都以小写字母显示。

!

导致从左到右(而非从右到左)填充输入掩码。

\

逐字显示紧随其后的字符。

""

逐字显示括在双引号中的字符。

  • 标题,类似字段名字的别名,别名优先预字段名显示
  • 验证规则,验证字段是否合法,类似数据库的约束,是一个返回boolean的公式
  • 验证文本,就是验证失败的提示
  1. access的6种对象
  • 查询 类似于视图,可以直接被当做数据源
  • 窗体 一种可以可供展示和修改数据的窗口
  • 报表 用于展示数据
  • 宏 用预定义的函数扩展access功能,或者通过录制处理过程的方式拓展程序
  • 宏的本质上就是程序代码,他和VBA编码产生的程序代码是一样的,如果一定要严格区分那么宏是以录制,或者图形用户界面的方式生成的程序代码,VBA是以手写的方式得到程序处理代码。
  • vba 编程方式扩access功能
  1. 标记主键
  2. access适用场景和使用总结_sql_02

  3. 表关系创建和效果
  4. ctrl+' 可以直接输入上一个行的当前格子内容
  5. access适用场景和使用总结_数据_03

  6. 导入excel数据的时候
  • 显示工作表和显示命名区域的区别是什么?
    工作表就是excel里面一页一页的表格,命名区域特指excel里面名称管理器里面指定的区域,有利于数据的精确选中
  1. 按照格式搜索字段是灰色?
    查找范围选当前字段的时候才能用
    不勾选的时候可以搜索到某些特殊的值,比如null
  2. access查找替换的通配符(在sql中无效),图形用户界面有效
  • * 任意多个字符
  • ? 任意单个字符
  • [] [123],1,2,3中的一个
  • ! [!a]bc 不是abc,可以是任意字符开头+bc
  • - [0-9] ,匹配0到9种的一个数字
  • # #01,可以匹配到101,201,301等
  1. access的是否的值, 是-1,否-0
  2. 4个查询向导
  • 简单查询向导是 join
  • 交叉表查询向导 是 group by
  • 查找重复项向导 order by
  • 查询不匹配查询向导是 not in
  1. 查询设置别名
    别名:字段名或者表达式
  2. access适用场景和使用总结_数据_04

  3. 查询条件同行是且,不通行使或的关系
  4. 查询条件的时候指定参数的格式
  5. [提示信息:]
  6. access适用场景和使用总结_字段_05

  7. 也可以在查询参数里面指定
  8. access适用场景和使用总结_数据_06

  9. 引用字段使用的是
  10. [字段名字]
  11. access适用场景和使用总结_字段_07

  12. access里面的除,/表示有小数的除,\表示除后取整,取余数 是 mod, 5 Mod 2 = 1
select 10/3 as a,10\3 as b, 10 mod 3 as c from student;
  • 1.

access适用场景和使用总结_数据_08

  1. access的字符串拼接符是 & 不是+ ?实际都可以
select "a"+"b","c"&"d" from student;
  • 1.

access适用场景和使用总结_数据_09

  1. access的日期是 #2024/08/11# 格式的 ,也就是要表示日期参数不能使用 "2024/08/11"格式
select * from student where birthday = #2014/8/9#
  • 1.
  1. 查询设计--选择查询 类似生成查询视图
  2. 查询设计--生成表,类似清空以后再 select into
  3. 查询设计--追加可以把查询的结果以追加的方式添加到 指定的表,类似 select into
  4. 查询设计--更新,就是update语句
  5. 查询设计--交叉表,就是group by语句
  6. 查询设计--删除,就是delete
  7. 汇总按钮的作用,就是使用聚合函数
  8. access适用场景和使用总结_数据_10

  9. 子表字段引用 [主表名]![字段名] 写tearch.id会被翻译成[tearch].[id],他们是等价的
SELECT student.id, *
FROM student, teacher, teacher AS teacher_1, student AS student_1
WHERE (((student.id)=[student]![id]));
  • 1.
  • 2.
  • 3.

access适用场景和使用总结_sql_11

  1. 属性表能对查询结果字段格式做一些修饰
  2. access的分页, 2021版支持 top+row_number, offset+FETCH,和 limit 三种方式
SELECT  top 2 ROW_NUMBER() OVER()  as rowNum , [student].* FROM [student] WHERE rowNum  >=2;

SELECT  ROW_NUMBER() OVER()  as rowNum , [student].* FROM [student] WHERE rowNum between 1 AND 2 ;

SELECT  * FROM [student]  LIMIT 2,2;

SELECT  *  FROM [student] offset 2 ROWS FETCH NEXT 2 ROWS only;
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  1. 表关联用on 还是直接在where 后面写条件?两种都可以,但是只有on在设计视图里面才会出现连线
SELECT * FROM class,student where class.id = student.class_id;
SELECT * FROM class INNER JOIN student ON class.id = student.class_id;
  • 1.
  • 2.

access适用场景和使用总结_字段_12

  1. 子查询可以被 all(),any()包裹
#等价于 max
select * from student where id > all(select id from class);
select * from student where id > (select max(id) from class)

#等价于min
select * from student where id > any(select id from class);
select * from student where id > (select min(id) from class);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  1. 查询里面 ,传递,联合,数据定义啥意思
    这三个按钮打开的都是一个sql编辑框,直接在里面定义sql就行,区别在于属性表上的属性字段不同
  2. 窗体是一种便于和用户之间数据交互的界面,类似页面的数据表单,或者数据录入或者展示的页面。
  3. 四种窗体视图的作用
  • 窗体视图,可以看到和编辑数据
  • access适用场景和使用总结_sql_13

  • 布局视图,可以看到数据,和部分窗体布局编辑
  • 设计视图,看不到真实的数据,拥有所有窗体编辑功能
  • access适用场景和使用总结_字段_14

  • 数据表视图,用数据表格的方式显示
  • access适用场景和使用总结_sql_15

  1. 窗体编辑菜单
  • 窗体布局设计, 可以一向窗体里面添加按钮,文本输入框,标签,下拉框,图片等组件
  • 排列,对窗体里面的组件排版进行调整
  • 格式,对组件内的字体,字号,填充色,对齐方式,数字格式进行设置
  1. 窗体属性-制表位否,是不可修改?
    只是按tab键的时候会自动跳过,手动选择是可以修改的
    是否锁定改成是以后,不可修改。
  2. 页面页眉-页脚只有打印才显示,窗体页眉-页脚可以设置在打印的时候显示或者在窗体中显示
  3. 窗体图片显示问题,附件的图片可以显示,OLE 对象不行
  4. 报表,只能展示信息的表格,报表可以配合窗体是用,在窗体中显示报表信息
  5. 宏的分类
  • 独立宏 独立编写的宏,有名字。类似预定义的方法
  • 嵌入宏 零时给事件指定的执行逻辑,类似匿名方法或者回调函数
  • 数据宏 类似数据库的触发器
  1. 引用零时变量
    [TempVars]![零时变量的名字]
  2. 名为autoexec的宏会自动执行
  3. VBA 基础