欢迎大家来到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