hueqlhc > 14-05-14, 11:19 PM
Minh Tiên > 15-05-14, 03:32 PM
Private sub Update()
Dim rs As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb()
Set rs = db.OpenRecordset("TableName", dbOpenTable) 'TableName là tên Table của bạn cần Update.
rs.Index = "Primarykey"
rs.Seek "=", "Field" 'Field là tên trường tương ứng với trường bạn lập chỉ mục trong TableName của bạn. Nếu dùng trực tiếp trên Form bạn có thể thay "Field" bằng Me.TextboxName.Value
If rs.NoMatch Then
rs.AddNew
rs!Field = "Field" 'Nếu sub bạn đặt trong form bạn có thể thay "Field" bằng Me.TextboxName.Value
rs!Field1 = "Field1" 'Tương tự như trên.
...
rs.Update
End If
rs.Close
Set db = Nothing
End sub
hueqlhc > 15-05-14, 11:08 PM
(15-05-14, 03:32 PM)tmtien261 Đã viết: 1. Tôi thấy qryUPDATEXDLLThang của bạn là "Append query" chứ không phải là "Make query" nên không tạo mới table được. Việc bạn tạo mới 1 table với các trường có giá trị là 0 vẫn OK mà !
2. Nếu không muốn Update các giá trị trùng thì hãy dùng code đi nhé !
Mình lấy 1 ví dụ một sub Update như sau:
Bạn hãy biến tấu cho ứng dụng của bạn nhé. Chúc bạn thành công !Mã:Private sub Update()
Dim rs As DAO.Recordset
Dim db As DAO.Database
Set db = CurrentDb()
Set rs = db.OpenRecordset("TableName", dbOpenTable) 'TableName là tên Table của bạn cần Update.
rs.Index = "Primarykey"
rs.Seek "=", "Field" 'Field là tên trường tương ứng với trường bạn lập chỉ mục trong TableName của bạn. Nếu dùng trực tiếp trên Form bạn có thể thay "Field" bằng Me.TextboxName.Value
If rs.NoMatch Then
rs.AddNew
rs!Field = "Field" 'Nếu sub bạn đặt trong form bạn có thể thay "Field" bằng Me.TextboxName.Value
rs!Field1 = "Field1" 'Tương tự như trên.
...
rs.Update
End If
rs.Close
Set db = Nothing
End sub
Thân chào !
Minh Tiên > 16-05-14, 11:34 AM