sql - VBA 检查来自 2 个字段的不同值是否匹配

标签 sql database vb.net vba ms-access

我是 VBA 的新手,但有一些编码经验,所以我正在慢慢开始学习。我的 Access 数据库中有两个表,每个表都有一个相同的字段。一个表是可能值(“TOSITEXREF”)的不同列表,这些值可能会显示在另一个表(“Trans_Earned”)的同一字段中。我试图创建的这个函数将在宏中运行,以确定通过查询附加的数据是否在 ToLocn 字段中有一个不在可能值列表中的实例。这是我到目前为止所拥有的,但没有用:

Function TESTING()

Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("TransEarned")

Dim rs2 As DAO.Recordset
Set rs2 = CurrentDb.OpenRecordset("TOSITEXREF")

Dim cond1A As Boolean

cond1A = (rs.Fields("ToLocn") = rs2.Fields("ToLoc"))

If cond1A Then
    DoCmd.OpenQuery "Earns", acViewNormal, acEdit
Else
    DoCmd.CancelEvent
    MsgBox "Unknown ToLocation, Please Update TOSITEXREF File to acccount for new location", vbOKOnly, "NEW LOCATION"
End If

Set rs = Nothing
Set rs2 = Nothing

End Function

最佳答案

最终的 VBA 示例将在表 1 的 Loc 字段中返回一个值,但该值不会出现在表 2 的 Loc 字段中:

Function Validate()

Dim sql As String
Dim rs As DAO.Recordset

sql = "SELECT Table1.Loc FROM Table1 LEFT JOIN Table2 ON Table1.Loc =  Table2.Loc WHERE (((Table2.Loc) Is Null))"
Set rs = CurrentDb.OpenRecordset(sql)

If (rs.RecordCount = 0) Then
     MsgBox "WORKS", vbkokonly, "WORKS"
Else
     MsgBox "DOES NOT WORK", vbkokonly, "DOES NOT WORK"

Set rs = Nothing

End If
End Function

关于sql - VBA 检查来自 2 个字段的不同值是否匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30782524/

相关文章:

database - 用于黑莓的 SQLite

ruby-on-rails - 在 Twitter 风格的应用程序中查询状态更新的 Ruby on Rails 事件记录语法

java - 是否可以保存从http读取的zip文件并直接将其保存到Databse中,而无需在java中物理创建它

c# - 为什么 IO.DirectoryInfo.FullName 在路径以 "\CON"结尾时中断?

mysql - 从mysql中与日期对应的特定列中提取固定值

php - 使用 MySQL 查询进行半复杂的数学运算

sql - 使用 SQL 查找序列中的 N 个元素

sql - 如何迭代填充临时表并将结果填充到列中?

mySQL选择不同数据库中两个表之间的差异

asp.net - 如何突出显示 Gridview 中的最大值