我对这个东西相当陌生,现在已经停留了一段时间。 所以基本上我想写一个VB中的代码,它将从一个表(表A)中取出一列,并将它与另一个表(表B)中的某个其他列进行比较。现在我想从表B中的表A中的缺失元素复制到表A中(只是单个列而不是整行)。我很想为此获得基本的语法。 感谢您的帮助。在Visual Basic中编写的无与伦比的查询
0
A
回答
0
无需VBA。
使用查询向导和“查找不匹配查询向导”,然后在顶部添加INSERT INTO ([field name])
。
例如,我有Table1。[Column 1]包含字母表中的一些字母,然后我有Table2.Column2包含字母表中的所有字母。
注: [第1栏]周围的方括号,因为它有一个空格。
向导会给我:
SELECT Table2.Column2
FROM Table2 LEFT JOIN Table1 ON Table2.[Column2] = Table1.[Column 1]
WHERE (((Table1.[Column 1]) Is Null));
位在记事本++整理的,我有:
SELECT Column2
FROM Table2 LEFT JOIN Table1 ON Table2.[Column2] = Table1.[Column 1]
WHERE [Column 1] Is Null
NB:我从SELECT
和WHERE
删除表名条款Column2
是Table2
和Column 1
所独有的,对于Table1
是唯一的。如果列名出现在多个表中,则只需命名表名。
最后,我刚才添加的INSERT语句:
INSERT INTO Table1([Column 1])
SELECT Column2
FROM Table2 LEFT JOIN Table1 ON Table2.[Column2] = Table1.[Column 1]
WHERE [Column 1] Is Null
最终注:的LEFT JOIN,所有值从表2返回表示(因为它是对的加入左),只有那些价值与连接标准相匹配的连接从Table1返回(在连接的右侧) - 将LEFT JOIN转换为RIGHT JOIN以反转此操作(或者将表格反过来)。 WHERE子句然后删除两个表中出现的值。
在代码中使用任何这些将做到这一点:
Sub Test()
With DoCmd
.SetWarnings False
.OpenQuery "Query3"
.SetWarnings True
End With
End Sub
Sub Test1()
Dim db As DAO.Database
Set db = CurrentDb
db.Execute "INSERT INTO Table1 ([Column 1]) " & _
"SELECT Column2 " & _
"FROM Table2 LEFT JOIN Table1 ON Table2.[Column2] = Table1.[Column 1] " & _
"WHERE [Column 1] Is Null"
End Sub
Sub Test2()
Dim qdf As DAO.QueryDef
Set qdf = CurrentDb.CreateQueryDef("", "INSERT INTO Table1 ([Column 1]) " & _
"SELECT Column2 " & _
"FROM Table2 LEFT JOIN Table1 ON Table2.[Column2] = Table1.[Column 1] " & _
"WHERE [Column 1] Is Null")
qdf.Execute dbFailOnError
End Sub
相关问题
- 1. 无与伦比的查询
- 2. Visual Basic - 编写的编号比之前的编号/编号大
- 3. egrep的:无与伦比(或\(
- 4. 无与伦比的列中的数据
- 5. 在Visual Basic中的SQL查询
- 6. 选择无与伦比的在Android
- 7. 写在asp.net(Access数据库)的更新查询(Visual Basic中)
- 8. 查询在Visual Basic 6
- 9. 2013 Mac Excel:无法在Visual Basic编辑器中编写代码
- 10. 在Excel中为Visual Basic编写循环
- 11. 编译失败:无与伦比的括号中appstageUrlMatcher.php
- 12. 在Visual Studio 2012中编写DELETE查询
- 13. 无与伦比的深层链接3
- 14. Python:无与伦比的组异常
- 15. 无与伦比的引号SAS
- 16. Java无与伦比的类型
- 17. Spotfire加入无与伦比的记录
- 18. Elasticsearch返回无与伦比的结果
- 19. 寻找无与伦比的记录
- 20. 找到无与伦比的记录mysql
- 21. 在Visual Basic Express 2010中更新查询
- 22. 参数化查询Visual Basic
- 23. 查询访问Visual Basic
- 24. 编译器错误:无与伦比的pow调用(...)
- 25. 是否有一个Visual Studio插件可以防止编写无与伦比的{和}
- 26. 在Matlab中扩展的无与伦比的数组
- 27. SQL Server查询通过BETWEEN过滤器带来无与伦比的数据
- 28. 查找无与伦比的记录并指定字段
- 29. 查询xml文档的节点--Visual Basic
- 30. ksh语法错误:`if'无与伦比
谢谢!这很好。但是现在我只是好奇如何在VBA中执行相同的事情。你能帮助我吗? – pycoder
已经添加了三个通过VBA运行查询的示例。 –