Sql 通过vba宏访问检查数据集是否包含字符串

Sql 通过vba宏访问检查数据集是否包含字符串,sql,vba,ms-access,ms-access-2007,Sql,Vba,Ms Access,Ms Access 2007,大家好,我的社区 我目前面临着编写somthing的问题,它会在满足某些需求后自动清理数据库。以下是我必须做的: 如果一个表中的一个单元格包含某个子字符串(比如说“Mrs”),那么在另一个表中,应该选中一个切换框(如果包含“Mrs”,则选择“是”,如果不包含,则选择“否”) 我已经找到了将该列中的切换框设置为-1的方法,但是我必须包括一个复选框,如果它必须更改,以及在哪一行中。为此,我想提出一个If构造和一个变量,该变量将包含第一个表的行的ID,以确定第二个表中的哪些行必须更改 所以这个想法是这

大家好,我的社区

我目前面临着编写somthing的问题,它会在满足某些需求后自动清理数据库。以下是我必须做的: 如果一个表中的一个单元格包含某个子字符串(比如说“Mrs”),那么在另一个表中,应该选中一个切换框(如果包含“Mrs”,则选择“是”,如果不包含,则选择“否”) 我已经找到了将该列中的切换框设置为-1的方法,但是我必须包括一个复选框,如果它必须更改,以及在哪一行中。为此,我想提出一个If构造和一个变量,该变量将包含第一个表的行的ID,以确定第二个表中的哪些行必须更改

所以这个想法是这样的:

If 1st_Table contains "Mrs." Then
   CurrentDb.Execute "UPDATE 2nd_Table SET gender = -1 WHERE foo = 1st_Table.ID_Var"
first_Table.ID_Var将包含第一个表的行的ID 现在有一个或多或少显而易见的问题:我如何做到这一点? 这基本上是第一次使用VBA/Access和SQL,所以我没有更深入的思考如何做到这一点

提前谢谢

问候

geisterfurz007

另外,变量名称将在最终版本中更改;它们只是为了形象化。刚刚看到它们被SO着色。

试试这个(SQL更新查询):

ID->两个表之间的引用
包含Mrs.

的第一个表中的PersonName->列这两个表都相关吗?根据我想你的意思,我会说是的。第一个表的ID列在另一个表中,与第一个表中的人的姓名相关:)您可以按照您所说的进行操作,方法是将ID_var上的表连接起来,然后使用表1上的条件,例如“Mrs.*”,然后使用结果进行更新。更新table2将gender=-1内部连接table1设置为t1上的t1.id=foo,其中t1.Field(如“Mrs.”)像一个符咒一样工作!谢谢!你能解释一下吗?我得到了最后两行,但是第一行是如何工作的呢?内部连接也是WHERE子句。它说语句应该只对两个表中都有相应ID的记录运行。再次感谢:)
UPDATE 2nd_Table INNER JOIN 1st_Table ON 2nd_Table.ID = 1st_Table.ID
SET 2nd_Table.gender = -1 
WHERE 1st_Table.PersonName LIKE '*Mrs.*'