huuduy.duy > 27-06-18, 02:21 PM
ongke0711 > 27-06-18, 03:24 PM
Set tblThongKeCongDoan = CurrentDb.OpenRecordset("SELECT * FROM [tblThongKeCongDoan]")
huuduy.duy > 27-06-18, 04:06 PM
(27-06-18, 03:24 PM)ongke0711 Đã viết: - Query source của SubForm có các trường tính toán nên nó không thể cập nhật dữ liệu được và nó cũng khoá luôn cái table bạn cần "AddNew". Bạn nên thiết kế lại subF hoặc gọi form cập nhật theo cách khác didi.
- Trong code của bạn tôi thấy bạn đặt tên biến trùng tên các table -> nó vẫn chạy nhưng sẽ gây khó khi sửa code: không biến nó là biến hay tên table và gây khó khăn cho code VBA nó cũng phải tự suy và đặt tên table vô dấu ngoặc vuông [..] để tránh xử lý sai. -> nên bỏ cách đặt tên như vậy.
Mã PHP:Set tblThongKeCongDoan = CurrentDb.OpenRecordset("SELECT * FROM [tblThongKeCongDoan]")
Trên Form frmThongKeCongDoan, có phần nhập giờ bắt đàu và kết thúc, cho em hỏi, có cách nào để nhập giờ được nhanh hơn không?
Bạn nên thiết kế lại subF hoặc gọi form cập nhật theo cách khác didi.
ongke0711 > 28-06-18, 10:03 PM
huuduy.duy > 29-06-18, 11:48 AM
(28-06-18, 10:03 PM)ongke0711 Đã viết: - Anh mới xem lại form của em thì thấy trong subform - Form Properties - Data -> em set Record Locks: All records -> phải đổi lại thành "No lock" thì mới update được. Còn query của subF em cứ giữ nguyên. Post trên anh trả lời sai.Cảm ơn anh, em đã khắc phục được lỗi trên rồi.
- Còn về việc nhập cái textbox giờ bắt đầu/ kết thúc: anh nghĩ em nên thiết kế 2 field này dạng TEXT và có thiết lập Input Mask cho nó để người dùng dễ nhập liệu. Input mask: 00:00;0;_
Lý do: Nếu Field này em dùng định dạng DateTime nhưng Format dạng “ShortTime”, khi hiển thị nó hiển thị đúng yêu cầu của em là “hh:nn” nhưng thực tế mặc định của nó sẽ tự động gán ngày “30/12/1899” vào trước cái giờ: phút em nhập. Em có thể dùng hàm Format([Bat-Dau],”yyyy-mm-dd”) sẽ thấy ngay. Khi đó nếu có tính toán liên quan đến thời gian của field này sẽ cho kết quả không chính xác.
Sau này nếu có tính toán thì có thể dùng công thức sau để kết hợp [Ngày] và [Giờ] như sau:
dteNgayGioBatDau=Me.txtNgayThucHien+TimeValue(Me.txtBatDau)
ongke0711 > 30-06-18, 06:38 PM
(29-06-18, 11:48 AM)huuduy.duy Đã viết: Cũng ở form ThongKeCongDoan, khi em Click Save lần 1, thì báo cập nhật thành công, mặc dù chưa nhập dữ liệu gì hết, nhưng khi click lần thứ 2 trở đi (cũng chưa nhập dữ liệu vào các textbox) thì mới báo lỗi chưa điền đầy đủ thông tin.
Function CheckNullEmpty(frm As Form) As Boolean
Dim ctl As Control
str = Empty
For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Or ctl.ControlType = acCheckBox Then
If Right(ctl.Tag, 8) = "required" Then
If IsNullOrEmpty(ctl) Then
'Debug.Print IsNullOrEmpty(ctl) & " - " & ctl.Name'
colCtlName.Add ctl.Name 'De setFocus vao control dau tien trong danh sách collection'
ctl.BackColor = RGB(255, 255, 153)
str = str & "- " & ctl.Controls(0) & vbNewLine
End If
End If
End If
Next
If Len(str) = 0 Then
CheckNullEmpty = False
Else
CheckNullEmpty = True
End If
End Function
huuduy.duy > 03-07-18, 11:35 AM
ongke0711 > 03-07-18, 12:13 PM