-
Cách thay đổi Back Color của control theo giá trị
toancvp > 08-07-16, 01:34 PM
Em có vấn đề nhỏ này muốn hỏi các bác ạ.
Vốn dĩ em lập Table có 1 field tính toán ([KiemTra]) có 2 giá trị "ĐÚNG" và "SAI" tùy theo các điều kiện có thỏa mãn hay ko. Field [KiemTra] này dùng vào mục đích Validation Rule của Table, nếu [KiemTra] = "ĐÚNG" thì lưu, nếu ko thì báo lỗi.
Vì vậy khi em thiết kế Form cho Table này thì em cũng muốn hiện lên control [txtKiemTra] để người dùng biết các điều kiện đã thỏa mãn chưa. Do nó là Field tính toán nên em để chế độ Locked = Yes.
Ý định của em là nếu txtKiemTra = "ĐÚNG" thì BackColor = [Green] còn nếu là "SAI" thì BackColor = [Red]. (Back Color trong thiết kế form = [White])
Em viết Code như thế này:
If Me.KiemTra = "SAI" Then
Me.KiemTra.BackColor = RGB(197, 0, 35)
Else
Me.KiemTra.BackColor = RGB(72, 150, 32)
End If
Đoạn code này em đưa vào event before update của txtKiemTra, thậm chí là Form load nhưng đều không ăn thua, nó cứ luôn thể hiện Back Color = [Green].
Em phải làm thế nào cho code chạy đúng ý mình ạ? -
RE: Cách thay đổi Back Color của control theo giá trị
cpucloi > 08-07-16, 02:09 PM
Thử xem dư thế lào nhé
If Me.KiemTra = "SAI" Then
Me.KiemTra.BackColor = vbRed
Else
Me.KiemTra.BackColor = vbBlue
End If
Quan trọng cái "sai" của bạn như thế nào? -
RE: Cách thay đổi Back Color của control theo giá trị
toancvp > 08-07-16, 03:31 PM
(08-07-16, 02:09 PM)cpucloi Đã viết: Thử xem dư thế lào nhé
If Me.KiemTra = "SAI" Then
Me.KiemTra.BackColor = vbRed
Else
Me.KiemTra.BackColor = vbBlue
End If
Quan trọng cái "sai" của bạn như thế nào?
"SAI" "ĐÚNG" là kết quả điều kiện tính toán em để trong field KiemTra của Table bác ạ.
Em vừa thử rồi, nhưng kết quả vẫn chỉ có 1 màu thôi bác ạ, nó ko tự đổi màu khi trạng thái của control thay đổi. -
RE: Cách thay đổi Back Color của control theo giá trị
ongke0711 > 08-07-16, 04:21 PM
Nếu text không phải là "SAI" thì là: ''ĐÚNG" hoặc "NULL" hoặc text bất kỳ => Sẽ Green khi load thôi. -
RE: Cách thay đổi Back Color của control theo giá trị
toancvp > 08-07-16, 04:33 PM
(08-07-16, 04:21 PM)ongke0711 Đã viết: Nếu text không phải là "SAI" thì là: ''ĐÚNG" hoặc "NULL" hoặc text bất kỳ => Sẽ Green khi load thôi.
Đúng rồi ạ, bình thường khi mở form để ghi 1 record mới thì trường này luôn ở trạng thái "ĐÚNG", nhưng khi ghi đến các trường liên quan dùng để tính toán thì nó bắt đầu chuyển trạng thái sang "SAI". Nhưng ngay cả lúc đó thì Back Color cũng ko thay đổi theo bác ạ.
Trường [KiemTra] = "ĐÚNG" / "SAI" này của em là trường tự động tính toán, không phải là trường ghi dữ liệu. -
RE: Cách thay đổi Back Color của control theo giá trị
ongke0711 > 08-07-16, 05:15 PM
Bạn đổi qua dùng Select case đi. Case Else cuối cùng sẽ mà màu trắng.
Dùng event after update các field liên quan tính toán. -
RE: Cách thay đổi Back Color của control theo giá trị
zinzin8x > 08-07-16, 07:05 PM
Bạn đã để vào apter update chưa? -
RE: Cách thay đổi Back Color của control theo giá trị
toancvp > 08-07-16, 09:14 PM
(08-07-16, 05:15 PM)ongke0711 Đã viết: Bạn đổi qua dùng Select case đi. Case Else cuối cùng sẽ mà màu trắng.
Dùng event after update các field liên quan tính toán.
(08-07-16, 07:05 PM)zinzin8x Đã viết: Bạn đã để vào apter update chưa?
Em đã chuyển sang select case rồi,
Cũng cho vào khắp các event có thể có liên quan, như On change, After update, rồi form load, current form rồi.
Vẫn chưa giải quyết đc vấn đề ạ.
P/S: Các bác đừng bảo em up file nhé, tại vì cái này của em là .mccdb, nếu em chuyển về .mdb để cầu cứu các bác thì định dạng này nó ko cho phép trong table có trường tính toán hay sao ấy, mình copy sang là nó chuyển thành field Short text như bình thường. -
RE: Cách thay đổi Back Color của control theo giá trị
cpucloi > 09-07-16, 08:44 AM
Hjx, có vẻ khó nhỉ, hoặc mình vẫn chưa hiểu vấn đề của bạn
Gửi file lên đi, mình đang dùng off 2k6 chắc mở được. -
RE: Cách thay đổi Back Color của control theo giá trị
toancvp > 09-07-16, 12:16 PM
(09-07-16, 08:44 AM)cpucloi Đã viết: Hjx, có vẻ khó nhỉ, hoặc mình vẫn chưa hiểu vấn đề của bạn
Gửi file lên đi, mình đang dùng off 2k6 chắc mở được.
Sorry bác ạ, sáng h em bận quá. Bác xem thử giúp em nhé.
https://drive.google.com/open?id=0B5rfqy...HBLWVl0Y1E