欢迎大家来到IT世界,在知识的湖畔探索吧!
Part 1:问题
- 有一个原信息表存储着学生的姓名和成绩信息,现在需要对信息进行扩容
- 有一个新信息表,不仅有学生的姓名和成绩信息,还有一些其它信息
- 问题:将原信息表中满足要求的信息复制到新信息表中去,示例复制张三的信息
原信息数据表
新信息表
Part 2:代码
Sub test()
Dim adConn As New ADODB.Connection '连接
Dim rs As New ADODB.Recordset
Dim SQL As String
Dim tblName
Dim dbAddr
dbAddr = ThisWorkbook.Path & "\信息档案.accdb"
tbl1Name = "原信息"
tbl2Name = "新信息"
'连接数据库
With adConn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.Open "Data Source=" & dbAddr
End With
opFilds = "*"
searchC = "姓名='张三'"
SQL = "Insert Into " & tbl2Name & " Select " & opFilds & " From " & tbl1Name & " Where (" & searchC & ")"
Set rs = adConn.Execute(SQL)
End Sub
欢迎大家来到IT世界,在知识的湖畔探索吧!
代码截图
执行结果
Part 3:部分代码解读
- 核心SQL:Insert Into 新信息 Select * From 原信息 Where (姓名=’张三’)
- 上面SQL由两部分组成:Insert Into 加入新表部分,Select 查询获取拟加入新表的信息
- 这种方法要求新信息表中必须有相同的字段
核心SQL
Part 4:延伸
- 只从旧信息表中获取2个字段:姓名,语文
欢迎大家来到IT世界,在知识的湖畔探索吧!Insert Into 新信息 Select 姓名,语文 From 原信息 Where (姓名='李四')
执行结果
- 从旧信息表中获取所有字段所有记录
Insert Into 新信息 Select * From 原信息
- 执行结果
思考:下面这句SQL的结果又是什么效果呢?
欢迎大家来到IT世界,在知识的湖畔探索吧!Insert Into 新信息 (姓名,数学) Select 姓名,语文 From 原信息 Where (姓名='李四')
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/17780.html