• Tạo hiệu ứng đổi màu liên tục cho textbox
  • Tạo hiệu ứng đổi màu liên tục cho textbox

    gaubu117 > 08-10-15, 09:47 AM

    Hiện mình đang làm một bảng thông báo theo thời gian thực trên Form. 
    Tổng cộng có 7 cột và 50 dòng.
    Mỗi cột có thời gian cách nhau tùy ý : ví dụ 7h30 - 8h20 - 9h10 - 9h50 - 10h:00 

    Yêu cầu là khi thời gian thực rơi trong cột nào thì  text box ô đó sẽ đổi màu xanh, đỏ , các ô còn lại không thay đổi và tuan tự như vậy.

    Các bạn giúp mình với
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    tranthanhan1962 > 08-10-15, 01:46 PM

    (08-10-15, 09:47 AM)gaubu117 Đã viết: Hiện mình đang làm một bảng thông báo theo thời gian thực trên Form. 
    Tổng cộng có 7 cột và 50 dòng.
    Mỗi cột có thời gian cách nhau tùy ý : ví dụ 7h30 - 8h20 - 9h10 - 9h50 - 10h:00 

    Yêu cầu là khi thời gian thực rơi trong cột nào thì  text box ô đó sẽ đổi màu xanh, đỏ , các ô còn lại không thay đổi và tuan tự như vậy.

    Các bạn giúp mình với

    Vì yêu cầu của bạn là đổi màu cột nên không cần quan tâm đến số lượng dòng, cột chính là các textbox.
    Cách xử lý:
    Tạo một Continuous Forms với các textbox1, textbox2, textbox3, textbox4, textbox5, textbox6, textbox7.
    Giả sử bạn muốn 7 cột đổi màu nền màu đỏ theo các giờ như sau: 7h30 - 8h20 - 9h10 - 9h50 - 10h:00 , 2h chiều - 3h chiều - 4h chiều - 5h chiều, các giờ còn lại sẽ có nền trắng.

    Code

    Mã:
    Option Compare Database
    Option Explicit

    Private Sub Form_Load()
    Me.TimerInterval = 1000
    End Sub

    Private Sub Form_Timer()

    Select Case Time()
    Case #7:30:00 AM# To #8:20:00 AM#
         cot1.BackColor = 255
         cot2.BackColor = 16777215
         cot3.BackColor = 16777215
         cot4.BackColor = 16777215
         cot5.BackColor = 16777215
         cot6.BackColor = 16777215
         cot7.BackColor = 16777215
    Case #8:20:00 AM# To #9:10:00 AM#
         cot1.BackColor = 16777215
         cot2.BackColor = 255
         cot3.BackColor = 16777215
         cot4.BackColor = 16777215
         cot5.BackColor = 16777215
         cot6.BackColor = 16777215
         cot7.BackColor = 16777215
    Case #9:10:00 AM# To #9:50:00 AM#
         cot1.BackColor = 16777215
         cot2.BackColor = 16777215
         cot3.BackColor = 255
         cot4.BackColor = 16777215
         cot5.BackColor = 16777215
         cot6.BackColor = 16777215
         cot7.BackColor = 16777215
    Case #9:50:00 AM# To #10:00:00 AM#
         cot1.BackColor = 16777215
         cot2.BackColor = 16777215
         cot3.BackColor = 16777215
         cot4.BackColor = 255
         cot5.BackColor = 16777215
         cot6.BackColor = 16777215
         cot7.BackColor = 16777215
    Case #2:00:00 PM# To #3:00:00 PM#
         cot1.BackColor = 16777215
         cot2.BackColor = 16777215
         cot3.BackColor = 16777215
         cot4.BackColor = 16777215
         cot5.BackColor = 255
         cot6.BackColor = 16777215
         cot7.BackColor = 16777215
    Case #3:00:00 PM# To #4:00:00 PM#
         cot1.BackColor = 16777215
         cot2.BackColor = 16777215
         cot3.BackColor = 16777215
         cot4.BackColor = 16777215
         cot5.BackColor = 16777215
         cot6.BackColor = 255
         cot7.BackColor = 16777215
    Case #4:00:00 PM# To #5:00:00 PM#
         cot1.BackColor = 16777215
         cot2.BackColor = 16777215
         cot3.BackColor = 16777215
         cot4.BackColor = 16777215
         cot5.BackColor = 16777215
         cot6.BackColor = 16777215
         cot7.BackColor = 255
    Case Else
         cot1.BackColor = 16777215
         cot2.BackColor = 16777215
         cot3.BackColor = 16777215
         cot4.BackColor = 16777215
         cot5.BackColor = 16777215
         cot6.BackColor = 16777215
         cot7.BackColor = 16777215
    End Select

    End Sub

    Private Sub Form_Unload(Cancel As Integer)
    Me.TimerInterval = 0
    End Sub

    Mã màu: trắng (16777215), đỏ (255)
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    ledangvan > 08-10-15, 02:05 PM

    Bác phải sửa câu này :
    Tạo một Continuous Forms với các textbox1, textbox2, textbox3, textbox4, textbox5, textbox6, textbox
    Thành :
    Tạo một Continuous Forms với các textbox : Cot1; Cot2. Cot3 ...Cot7
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    gaubu117 > 08-10-15, 03:05 PM

    Cảm ơn b Tranthanhnhan1962 đã giúp mình, nhưng vấn đề nó khác vì mình chỉ có 6 cột và 50 record.

    Nó chính xác như sau 

    A : 20 - 50 - 15 - 120 -70 - 60
    B : 50 - 30 - 40 - 60 - 80 - 120
    C : 15 - 40 - 80 - 20 - 90 - 20

    A,B,C là các mã hàng
    20 , 50 , 15 ... là thông số thời gian tính bằng phút của từng công đoạn ( mỗi mã có 1 thông số riêng và tùy ý  - nhưng luôn có 6 thông số này )

    Mình làm 1 bảng nhập liệu

    Khi nhập mã A và thời gian bắt đầu ( ham Now ) thì query sẽ tính cộng dồn lên 
    Vd : Thoi gian bắt đầu 20:20:00 08/10/2015 thì tương ứng là 


    20:40:00 08/10/2015 - 21:30:00 08/10/2015 - 21:45:00 08/10/2015 - 23:45:00 08/10/2015 - 00:45:00 09/10/2015 

    Do đó, 6 cột tương ứng voi tung dòng re co rd sẽ có thoi gian khác nhau.
    Y/cầu là trong khoảng thời gian nào thì te xt bo x đó sẽ nháy xanh, đỏ chứ không phải nguyên cột đổi màu.

    Mong duoc cac ban huong dẫn thêm
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    gaubu117 > 08-10-15, 05:09 PM

    Mình đã giải quyết đước vấn đề đổi màu liên tục, đáp ứng điều kiện đưa ra rồi,
    Tuy nhiên, form access nó sẽ áp dụng đổi màu cho cả cột trong khi mình chỉ có 1 text box thỏa mãn điều kiện.

    Phải làm thế nào để chỉ áp dụng cho đúng ô thỏa mãn đây các bạn
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    tranthanhan1962 > 08-10-15, 05:48 PM

    (08-10-15, 02:05 PM)ledangvan Đã viết: Bác phải sửa câu này :
    Tạo một Continuous Forms với các textbox1, textbox2, textbox3, textbox4, textbox5, textbox6, textbox
    Thành :
    Tạo một Continuous Forms với các textbox : Cot1; Cot2. Cot3 ...Cot7
    Sorry! Tại vì mình viết code chay trên khung trả lời không chú ý nên cứ copy dán mà quên kiểm tra lại.
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    tranthanhan1962 > 08-10-15, 06:02 PM

    (08-10-15, 05:09 PM)gaubu117 Đã viết: Mình đã giải quyết đước vấn đề đổi màu liên tục, đáp ứng điều kiện đưa ra rồi,
    Tuy nhiên, form access nó sẽ áp dụng đổi màu cho cả cột trong khi mình chỉ có 1 text box thỏa mãn điều kiện.

    Phải làm thế nào để chỉ áp dụng cho đúng ô thỏa mãn đây các bạn
    Trong trường hợp bạn chỉ xử lý cho một Ô (textbox tại vị trí record nào đó) bạn nghiên cứu thêm bài Thay đổi màu nền các dòng theo điều kiện trên form Continuous và Hỏi cách đánh dấu dòng đã mở hoặc xem để phối hợp hai điều kiện thời gian và điều kiện record để xử lý bằng value của textbox nằm phía dưới. Nếu cần bao nhiêu màu bạn phải có bao nhiêu textbox màu nằm cùng ở phía dưới textbox chính. Khi thỏa điều kiện có màu nào textbox màu đó sẽ có giá trị làm nền màu, các textbox màu còn lại sẽ có giá trị ="".
  • RE: Tạo hiệu ứng đổi màu liên tục cho textbox

    gaubu117 > 09-10-15, 02:19 PM

    Nhờ gợi ý của b tranthanhnhan1962 mà mình đã giải quyết được vấn đề. Cảm ơn bạn rất nhiều