2014-06-17 66 views
0

我已經創建了一個表單,其中1個客戶可以多次存儲在數據庫中我還創建了一個「查找下一個」按鈕,該按鈕可以很好地工作,但是當我在然後單擊更新按鈕,數據將在數據庫中首先找到的客戶上更新,而不是我想要更新的數據。下面是更新按鈕的代碼。如何在Ms Access中使用findnext方法後更新記錄

Private Sub Command106_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim pn As Long Set db = CurrentDb() Set rs = db.OpenRecordset("Application", dbOpenDynaset) pn = Me.Text85.Value rs.FindFirst "[Cus_Number] = " & pn rs.Edit rs.Fields("Dec_level1").Value = Me.Dec_level1 rs.Fields("Dec_level2").Value = Me.Dec_level2 rs.Fields("Dec_level3").Value = Me.Dec_level3 rs.Fields("Date1").Value = Me.Date1 rs.Fields("Date2").Value = Me.Date2 rs.Fields("Date3").Value = Me.Date3 rs.Fields("Com_level1").Value = Me.Com_level1 rs.Fields("Com_level2").Value = Me.Com_level2 rs.Fields("Com_level3").Value = Me.Com_level3 rs.Update Me.App_level1 = Null Me.Dec_level1 = Null Me.Com_level1 = Null Me.App_level2 = Null Me.Dec_level2 = Null Me.Com_level2 = Null Me.App_level3 = Null Me.Dec_level3 = Null Me.Com_level3 = Null Me.Date1 = Null Me.Date2 = Null Me.Date3 = Null Me.Text85 = Null End Sub

+0

您如何唯一標識客戶的一個實例?另外,爲什麼不直接編寫SQL來調出客戶本身,而不是執行FindFirst?看起來,您正在檢索的記錄數量超過您的要求,並無緣無故地執行額外的查找方法。 – VBlades

回答

0

FindFirst方法總是找到可用記錄的第一個匹配的記錄,即使重複記錄存在於數據庫中。

您正在使用Cus_Number字段進行搜索,這是唯一/主字段還是可以有重複記錄?

如果有重複的記錄,然後嘗試使用數據庫中唯一/主要的記錄進行搜索。

相關問題