Access/VBA/Excel-Access记录修改-05


Part 1:目标

  1. 前文中,我们已经获取了一个工作表(学生信息表)和4个字段(ID,姓名,学号,性别),并输入了两行记录

  2. 今天在原有字段的基础上增加籍贯语文成绩两个新的字段

  3. 并对原张三的记录做一些修改:修改学号信息,增加籍贯及语文成绩信息

    • 原记录:张三,11,男
    • 修改后:张三,1,男,广东省85

结果如下

图片

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
41
42
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

field1 = "籍贯 text(10)"
field2 = "语文成绩 single"

'增加字段
SQL = "ALTER TABLE " & tblName & " ADD " & field1 & "," & field2
Set rs = cnn.Execute(SQL)

'补充记录
stuName = "张三"
jiGuan = "广东省"
yuWenNote = 85
newXueHao = 1

SQL = "Update " & tblName & " SET " _
& "籍贯=" & Chr(39) & jiGuan & Chr(39) _
& ",语文成绩=" & yuWenNote _
& ",学号=" & newXueHao _
& " where 姓名=" & Chr(39) & stuName & Chr(39)

Set rs = cnn.Execute(SQL)

cnn.Close
Set rs = Nothing
Set cnn = Nothing

End Sub

Part 3:部分代码解读

  1. Update 工作表名 set 字段1=X1,字段2=X2 where 字段4=X4
  2. 中文释义:修改(更新)工作表,字段4=X4所在记录(行)中,字段1的值改为=X1,字段2改为X2
  3. 即:通过某一字段的值,定位到某一记录(行),修改这一记录(行)中其它字段的值

小结:对数据库的操作转化为对应的SQL语句,然后运行,搞定