huanmonster > 06-06-17, 03:50 PM
ongke0711 > 06-06-17, 04:47 PM
UPDATE Table1 SET Table1.InOut = DateValue([InOut])+((Timevalue("16:10") - Timevalue("16:00")) * Rnd + Timevalue("16:00"))
WHERE (((TimeValue([InOut]))>Timevalue("12:00")));
huanmonster > 07-06-17, 10:21 AM
(06-06-17, 04:47 PM)ongke0711 Đã viết: Bạn tạo 1 cái Update query và copy câu lệnh SQL này dán vào màn hình SQL view.Cảm ơn bạn nhé, mình đã làm và chưa thành công, mình đã đăng lại hình data điễn tả lại như chủ đề đưới đây, bạn ongke0711 vui lòng giúp lại mình nhé.
Vd: Table1 là cái table chứa data CheckInOut của bạn
Mã PHP:UPDATE Table1 SET Table1.InOut = DateValue([InOut])+((Timevalue("16:10") - Timevalue("16:00")) * Rnd + Timevalue("16:00"))
WHERE (((TimeValue([InOut]))>Timevalue("12:00")));
huanmonster > 07-06-17, 11:11 AM
ongke0711 > 07-06-17, 06:23 PM
UPDATE Table1 SET Table1.TimeStr = [TimeDate]+((TimeValue("16:15")-TimeValue("16:00"))*Rnd()+TimeValue("16:00"))
WHERE (((TimeValue([TimeStr]))>TimeValue("12:00")) AND ((Table1.UserEnrollNumber)=[Nhap UserEnrollNo:]));
huanmonster > 08-06-17, 08:59 AM
ongke0711 > 08-06-17, 04:34 PM
Option Explicit
Private Sub cmdCapNhat_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rndTime As Date
Set db = CurrentDb
Set rs = db.OpenRecordset("Table1", dbOpenDynaset)
rs.MoveFirst
Do Until rs.EOF
rs.Edit
If TimeValue(rs!TimeStr) > #12:00:00 PM# And InStr(Me.txtListUsers, rs!UserEnrollNumber) Then
rndTime = (#4:15:00 PM# - #4:00:00 PM#) * Rnd() + #4:00:00 PM#
rs!TimeStr = rs!TimeDate + rndTime
Debug.Print rs!TimeStr
rs.Update
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
huanmonster > 10-06-17, 09:58 AM
(08-06-17, 04:34 PM)ongke0711 Đã viết: Muốn vậy thì phải dùng code VBA thôi chứ không dùng Query được.
Ví dụ:
- Table chứa bảng trên là Table1.
- Bạn thiết kế 1 form có 1 textbox (txtListUsers) dùng để nhập User number, nhập kế tiếp cách nhau dấu phẩy (Vd: 1,2).
- Thiết kế 1 nút lệnh (cmdCapNhat) và code cho nút lệnh đó như bên dưới.
Mã PHP:Option Explicit
Private Sub cmdCapNhat_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rndTime As Date
Set db = CurrentDb
Set rs = db.OpenRecordset("Table1", dbOpenDynaset)
rs.MoveFirst
Do Until rs.EOF
rs.Edit
If TimeValue(rs!TimeStr) > #12:00:00 PM# And InStr(Me.txtListUsers, rs!UserEnrollNumber) Then
rndTime = (#4:15:00 PM# - #4:00:00 PM#) * Rnd() + #4:00:00 PM#
rs!TimeStr = rs!TimeDate + rndTime
Debug.Print rs!TimeStr
rs.Update
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
huanmonster > 10-06-17, 10:01 AM
(10-06-17, 09:58 AM)huanmonster Đã viết:(08-06-17, 04:34 PM)ongke0711 Đã viết: Muốn vậy thì phải dùng code VBA thôi chứ không dùng Query được.
Ví dụ:
- Table chứa bảng trên là Table1.
- Bạn thiết kế 1 form có 1 textbox (txtListUsers) dùng để nhập User number, nhập kế tiếp cách nhau dấu phẩy (Vd: 1,2).
- Thiết kế 1 nút lệnh (cmdCapNhat) và code cho nút lệnh đó như bên dưới.
Mã PHP:Option Explicit
Private Sub cmdCapNhat_Click()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rndTime As Date
Set db = CurrentDb
Set rs = db.OpenRecordset("Table1", dbOpenDynaset)
rs.MoveFirst
Do Until rs.EOF
rs.Edit
If TimeValue(rs!TimeStr) > #12:00:00 PM# And InStr(Me.txtListUsers, rs!UserEnrollNumber) Then
rndTime = (#4:15:00 PM# - #4:00:00 PM#) * Rnd() + #4:00:00 PM#
rs!TimeStr = rs!TimeDate + rndTime
Debug.Print rs!TimeStr
rs.Update
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
ongke0711 > 11-06-17, 12:01 AM