我有两张桌子,一张桌子需要在另一张桌子上找到匹配项。
假设我有 table1 和 Masterfiles 表。Table1 具有与 Masterfiles 相同的名称字段。
但是 table1 名称字段具有不同的值,因为它只有中间名,而 Masterfiles 有中间名。
现在我想从名为“Gender”的 Masterfiles 中获取另一个字段值,因为 table1 在性别字段上没有值。
该表如下所示:
Table1 Masterfiles
Name Gender Name Gender
Smith, John E. Smith, John Estaw M
Canard, Donald R Canard, Donald Reever M
由于我在 table1 中有很多记录需要获取性别字段的值,因此我需要以编程方式进行。
目前我有以下代码:
Dim db As Database
Dim rs As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim strSQL As String
Set db = CurrentDb
Set rs = db.OpenRecordset("Table1")
Do While Not rs.EOF
strSQL = "SELECT [Name], Gender FROM Masterfiles WHERE [Name] Like '%" & Me!txtName & "%'"
Set rs2 = db.OpenRecordset(strSQL)
If rs2.RecordCount > 0 Then
rs!Gender = rs2!Gender
End If
Loop
但是此代码不会得到任何结果,因为 table1 中 Name 字段的某些值在中间首字母中有句点,而其他行没有句点。请参考上面的示例数据。“Smith, John”的中间首字母有句号,而“Canard, Donald”没有句号。
那么如何查询 Masterfiles 并获取 Gender 字段的值并将其放入 table1 性别字段中呢?