Excel VBA 实战:利用 SQL 语句在 Access 中建表与定义字段
作者:本站 来源:本站
2026-05-08 04:24 1216阅读
一、前言说明
- Access 数据库的多数操作均能借助 SQL 语言完成
- SQL(Structured Query Language)即结构化查询语言,语法直观,学习成本低
- SQL 执行可依托 ADO 技术,虽然 ADO 支持多种数据库操作,但需额外学习相关知识
- 本系列教程中,只要能用 SQL 实现的功能,将优先采用 SQL 方案
- 作为数据库操作的通用标准,掌握 SQL 后也能轻松应对其他数据库系统
二、本节目标
- 在空白 Access 数据库中生成数据表
- 按要求新增字段并设定约束条件
- 基本操作流程:
- 建立数据库连接
- 构造 SQL 指令
- 运行 SQL 指令
- 按需重复上述步骤
- 断开数据库连接
- 务必引用 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
执行结果:新建表

执行结果:新建字段

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

主键官方定义: 主键是表中的一个字段或字段集,为每条记录提供一个唯一的标识符。 在数据库中,请将信息划分到基于主题的不同表中。 然后,使用表关系和主键以指示 Access 如何将信息再次组合起来。 Access 使用主键字段将多个表中的数据迅速关联起来,并以一种有意义的方式将这些数据组合在一起。
小结:只需将数据库操作需求转化为相应的 SQL 语句并执行即可完成
上一篇
本文详细介绍了在 Access 数据库中创建数据表的三种常用方法。首先介绍了利用系统预设模板快速生成联系人等表格的技巧;其次讲解了直接在数据表视图中添加字段并保存的新建流程;最后说明了通过设计视图精确设置字段名称、类型及属性的操作步骤。掌握这些方法有助于提升数据库开发效率,优化表结构设计,是 Access 初学者必须掌握的基础技能。
下一篇
相关阅读