Excel VBA 实战:利用 SQL 语句在 Access 中建表与定义字段

作者:本站 来源:本站

2026-05-08 04:24 1216阅读

Excel VBA 实战:利用 SQL 语句在 Access 中建表与定义字段

一、前言说明

  1. Access 数据库的多数操作均能借助 SQL 语言完成
  2. SQL(Structured Query Language)即结构化查询语言,语法直观,学习成本低
  3. SQL 执行可依托 ADO 技术,虽然 ADO 支持多种数据库操作,但需额外学习相关知识
  4. 本系列教程中,只要能用 SQL 实现的功能,将优先采用 SQL 方案
  5. 作为数据库操作的通用标准,掌握 SQL 后也能轻松应对其他数据库系统

二、本节目标

  1. 在空白 Access 数据库中生成数据表
  2. 按要求新增字段并设定约束条件
  3. 基本操作流程:
  4. 建立数据库连接
  5. 构造 SQL 指令
  6. 运行 SQL 指令
  7. 按需重复上述步骤
  8. 断开数据库连接
  9. 务必引用 Microsoft ActiveX Data Objects 2.8 Library

三、核心代码示例


Sub test()
 Dim cnn As New ADODB.Connection '连接
 Dim rs As New ADODB.Recordset
 Dim SQL As String
 Dim tblName
 Dim dbAddr

 dbAddr = ThisWorkbook.Path & "\学生信息.accdb"
 tblName = "学生信息表"

 '连接数据库
 With cnn
 .Provider = "Microsoft.ACE.OLEDB.12.0"
 .Open "Data Source=" & dbAddr
 End With

 SQL = "CREATE TABLE " & tblName & " (ID AUTOINCREMENT primary key)"
 Set rs = cnn.Execute(SQL)

 field1 = "姓名 text(6)"
 field2 = "学号 single"
 field3 = "性别 text(1)"

 SQL = "ALTER TABLE " & tblName & " ADD " & field1 & "," & field2 & "," & field3
 Set rs = cnn.Execute(SQL)

 cnn.Close
 Set rs = Nothing
 Set cnn = Nothing

End Sub

执行结果:新建表

执行结果:新建字段

四、代码逻辑解析

  1. 不同数据库连接需选用对应的 ADO 引擎
  2. Microsoft.ACE.OLEDB.12.0 专用于连接 Access
  3. 旧版 Access(.mdb 格式)则可使用 Microsoft.Jet.OLEDB.4.0 引擎
  4. CREATE TABLE " & tblName & " (ID AUTOINCREMENT primary key)用于创建工作表,并初始化一个字段(设为主键,具备唯一性与自增属性)
  5. 该语句含义为:新建名为 XX 的数据表,其中字段 XX 且被设为主键
  6. ID 字段在每插入新记录时会自动加 1,并被指定为主键
  7. SQL = "ALTER TABLE " & tblName & " ADD " & field1 & "," & field2 & "," & field3 用于追加字段
  8. ALTER 意为修改,此句中文意为:向数据表 XX 中添加字段 XX,表述十分清晰
  9. field2 = "学号 single",定义字段属性,名称为学号,类型为 Single(单精度浮点数)
  10. Set rs = cnn.Execute(SQL),执行具体的 SQL 指令

字段约束

主键官方定义:

主键是表中的一个字段或字段集,为每条记录提供一个唯一的标识符。
在数据库中,请将信息划分到基于主题的不同表中。
然后,使用表关系和主键以指示 Access 如何将信息再次组合起来。
Access 使用主键字段将多个表中的数据迅速关联起来,并以一种有意义的方式将这些数据组合在一起。



小结:只需将数据库操作需求转化为相应的 SQL 语句并执行即可完成

上一篇

本文详细介绍了在 Access 数据库中创建数据表的三种常用方法。首先介绍了利用系统预设模板快速生成联系人等表格的技巧;其次讲解了直接在数据表视图中添加字段并保存的新建流程;最后说明了通过设计视图精确设置字段名称、类型及属性的操作步骤。掌握这些方法有助于提升数据库开发效率,优化表结构设计,是 Access 初学者必须掌握的基础技能。

下一篇

AccessAI 开源项目迎来更新,新增 DeepSeek V4 多模型支持与自定义端点。系统强化对话历史持久化,支持会话管理。核心亮点包括数据库对象自动分析,读取表结构及样例数据供 AI 研判。界面升级为气泡式聊天,提供富文本与 WebBrowser 双模式。此次更新旨在将 Access 转型为嵌入式 AI 辅助模块,提升业务智能化水平。

相关阅读

本文深入讲解了数据库的基本概念、分类及关系型与非关系型数据库的区别。重点介绍了 MySQL 的特点、版本含义及 SQL 语言分类。同时提供了基于 Linux 系统的 MySQL 5.7 详细安装步骤,包括密码重置、登录提示符自定义等实用操作,适合初学者快速入门掌握数据库管理技术。
本期 BBC 英语教学节目解答了听众赖海成的疑问,详细辨析了英语词汇 entrance 和 access 在表示“入口”时的区别。文章指出 entrance 是可数名词,侧重物理通道;access 是不可数名词,强调使用权或机会。通过多个例句,如大学入学考试和无障碍通道,帮助学习者准确掌握两者用法及搭配。
本文对比了Excel与Access的优缺点,指出Excel虽计算强但单机、数据量受限,Access虽支持多用户但难学且性能有限。随后介绍魔方网表,它兼具二者优势:无需编程、支持数千人并发、海量存储、兼容Excel函数、可集成第三方系统,能快速构建企业信息化系统,是更好的替代方案。
本文详细介绍了在Access中使用菜单操作法合并数据的步骤,包括建立“订购明细”与“用户明细”两表的数据库关系、通过拖拽字段设置联接类型,最终完成数据合并。适合Access初学者快速掌握基础关系操作。
随着跨境电商增长,Access集团精选海外小众品牌引入中国,涵盖美妆、母婴、健康等领域。2018年零售进口总额达785.8亿元。Access集团携15个品牌亮相上海,为双十一造势,预计成交额突破10亿元,是其首次参与时的66倍。集团通过创新品牌管理模型,助力品牌快速适应中国市场,实现全球买卖。
AccessAI 开源项目迎来更新,新增 DeepSeek V4 多模型支持与自定义端点。系统强化对话历史持久化,支持会话管理。核心亮点包括数据库对象自动分析,读取表结构及样例数据供 AI 研判。界面升级为气泡式聊天,提供富文本与 WebBrowser 双模式。此次更新旨在将 Access 转型为嵌入式 AI 辅助模块,提升业务智能化水平。
本文详细介绍了Access数据库中常用的数值分组函数(IIF、CHOOSE、SWITCH、PARTITION)和日期时间分组函数(FORMAT),包含语法说明、参数限制和实际SQL示例,帮助读者快速掌握数据分组技巧。
本文详细介绍了在Access数据库中利用“简单查询向导”进行数据查询的步骤。通过选择“订购明细”和“用户明细”两个表,分别添加用户ID、产品和性别字段,最终完成联合查询并保存结果。适合数据库初学者快速上手。
微软Access已有近30年历史,尽管被公司冷落和边缘化,却依然像僵尸般存活至今,在DB-Engines排名中位列第九。它之所以不死,是因为满足了高级用户的无代码需求、赋予普通用户快速搭建数据库的能力,以及无可比拟的易用性。本文剖析Access经久不衰的原因,并反思软件设计的核心价值。