Access/VBA/Excel-Access记录创建-04


Part 1:目标

  1. 从上一篇文章中,我们已经获取了一个工作表(学生信息表)和4个字段(ID姓名学号性别

  2. 今天的文章开始向Access数据库中录入一条条数据

  3. 包括两条记录

    • 张三,11,男
    • 李四,12,男

结果如下

图片

Part 2:代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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

'记录1
stuName = "张三"
stuNum = 11
stuGender = "男"

SQL = "INSERT INTO " & tblName & " (姓名,学号,性别) VALUES" _
& "(" & Chr(39) & stuName & Chr(39) & "," & stuNum & "," & Chr(39) & stuGender & Chr(39) & ")"

Set rs = cnn.Execute(SQL)

'记录2
stuName = "李四"
stuNum = 12
stuGender = "男"

SQL = "INSERT INTO " & tblName & " (姓名,学号,性别) VALUES" _
& "(" & Chr(39) & stuName & Chr(39) & "," & stuNum & "," & Chr(39) & stuGender & Chr(39) & ")"

Set rs = cnn.Execute(SQL)
cnn.Close
Set rs = Nothing
Set cnn = Nothing

End Sub

Part 3:部分代码解读s

  1. INSERT INTO 工作表名称 (字段1,字段2,字段3) VALUES(字段1对应值,字段2对应值,字段3对应值)
  2. 中文释义:向工作表X中的字段1中录入数据X,字段2中录入数据X,字段3录入数据X
  3. 若字段中对应值为字符串,需在单引号(**Chr(39)**)中'',若是时间,则使用#时间信息#
  4. ID字段是自增式,无需额外赋值,每有一个新的记录,会自动+1