Access 数据库核心代码指南
Microsoft Access 数据库主要通过 SQL 语句进行数据定义与操作,并结合 VBA (Visual Basic for Applications) 实现业务逻辑自动化,以下是开发中最常用的代码示例。
SQL 基础操作
SQL(结构化查询语言)是 Access 处理数据的核心。
创建表 (CREATE TABLE)
用于在数据库中新建数据表。
CREATE TABLE Employees (
ID COUNTER PRIMARY KEY,
Name TEXT(50),
Department TEXT(50),
HireDate DATETIME
); 插入数据 (INSERT INTO)
向表中添加新记录。
INSERT INTO Employees (Name, Department, HireDate)
VALUES ('张三', '技术部', #2026-01-01#); 查询数据 (SELECT)
从表中检索特定数据。

SELECT Name, Department FROM Employees WHERE Department = '技术部' ORDER BY HireDate DESC;
更新数据 (UPDATE)
修改现有记录的内容。
UPDATE Employees SET Department = '研发部' WHERE Name = '张三';
删除数据 (DELETE)
从表中移除记录。
DELETE FROM Employees WHERE ID = 1;
VBA 自动化与数据处理
VBA 用于编写宏和模块,以控制 Access 的行为。
执行 SQL 语句
在 VBA 中执行增、删、改操作,推荐使用 CurrentDb.Execute。
Sub RunSQLCommand()
Dim strSQL As String
' 定义 SQL 语句
strSQL = "UPDATE Employees SET Department = '市场部' WHERE ID = 5"
' 执行语句,dbFailOnError 参数用于在出错时抛出异常
CurrentDb.Execute strSQL, dbFailOnError
MsgBox "数据更新成功!", vbInformation
End Sub 
读取数据 (DAO Recordset)
使用记录集遍历和处理数据。
Sub ReadDataFromTable()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT FROM Employees")
' 遍历记录
If Not rs.EOF Then
rs.MoveFirst
Do While Not rs.EOF
Debug.Print rs!Name & " - " & rs!Department
rs.MoveNext
Loop
End If
' 清理对象
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub 开发注意事项
在编写 Access 代码时,请遵循以下最佳实践:

- 备份数据:在运行任何批量更新或删除的 SQL 语句之前,务必备份数据库文件。
- 错误处理:在 VBA 中始终使用
On Error GoTo语句块来捕获运行时错误,防止程序崩溃。 - SQL 注入防范:尽量避免直接拼接字符串构建 SQL,若必须拼接,请确保对输入内容进行严格验证。
- 性能优化:对于大数据量操作,使用
CurrentDb.Execute比使用DoCmd.RunSQL效率更高,且不会弹出确认提示框。 - 对象释放:在 VBA 中使用完
Recordset或Database对象后,必须将其关闭并设置为 Nothing,以防止内存泄漏。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复