我有兩個表,即1個表需要在另一個表上找到匹配項。如何刪除中間初始ms訪問的時間段
說我有table1和Masterfiles表。 Table1的名稱字段與Masterfiles相同。
但是,table1名稱字段具有不同的值,因爲它只有中間名初始值,而主文件名中間名。
現在我想從Masterfiles中獲得名爲「Gender」的其他字段值,因爲table1對性別字段沒有任何價值。
表是這樣的:
Table1 Masterfiles
Name Gender Name Gender
Smith, John E. Smith, John Estaw M
Canard, Donald R Canard, Donald Reever M
因爲我有很多的表1中需要得到性別字段的我需要以編程方式做到這一點的值的記錄。
目前,我有以下代碼:
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
但這種代碼不會得到任何結果,因爲某些名稱字段的表1的值在中間最初的一段時間,而其他行有沒有時間。請參考上面的示例數據。 「史密斯,約翰」的中間首字母有一段時間,而「卡納德,唐納德」沒有時期。
那麼如何查詢Masterfiles並獲取Gender字段的值並將其放在table1性別字段中?
如果rs2.recordcount> 1,您可能希望將記錄標記爲異常。 – Richard