Chào mừng đến với Diễn đàn Dân Kế Toán - Kế toán tổng hợp thực tế.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    0

    Sự kiện Timer trong Access

    Mình làm một cái đồng hồ trong chương trình của mình bằng cách sử dụng một textbox với tên là txthour.
    trong sự kiện timer của Form với interval là 200:
    txthour=format(now(),"hh:mm:ss")
    Đồng hồ chạy ok! nhưng mỗi lần timer thì màn hình lại giật lên! Trỏ chuột thay vì có hình dạng mũi tên như thông thường thì lại là biểu tượng đồng hồ cát(chờ). Khoảng cách giữa mỗi lần timer rất nhanh( tăng interval lên 1000 cũng tương tự) nên chương trình cứ "run" lên bần bật. Không biết có cách nào
    để khắc phục trường hợp này không nhỉ! Timer bên VB6 thì ngon lành hơn, không bị giật hình khi chạy chương trình!
    Sư huynh nào cao thủ chỉ giáo jum cho đệ với!
    Thanks mấy huynh nhiều!:nguguc:

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Sự kiện Timer trong Access

    Bạn xem lại logic của chương trình có bị các lệnh khác trong onTime chồng chéo lên thành vòng quẩn hay không.
    CHứ nếu chỉ có vài cái textbox và cái timer đơn giản như thế thì không thể giựt giựt được.

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Sự kiện Timer trong Access

    Thêm một câu trong cái Form_Timer, ở cuối:
    Me.Repaint
    Xem có cải thiện được miếng nào không.

  4. #4
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    Ðề: Sự kiện Timer trong Access

    Các bạn thử làm một chương trình mà trên giao diện chính của chương trình đó có đặt vài cái timer
    thì khi chạy sẽ thấy nó jut jut. Một số nút lệnh không hoạt động theo đúng ý đồ của người lập trình.
    Khi click một button trên Form1 có timer để mở một Form2 không có timer(Form1 chưa bị đóng lại)
    thì Form2 cũng sẽ bị khùng khùng theo nhiều cách.

    Trong Form mình có một nút command button với tên là cmdXoaHD để xóa SOHD.
    Nhưng trước khi xóa phải kiểm tra xem hóa đơn đó có chi tiết hay không? nếu không có
    thì cho xóa ngược lại thì thông báo cho người dùng biết là hóa đơn có chi tiết không thể xóa được.
    Trong phần VBA mình gõ lệnh như sau:
    Private sub cmdXoaHD_Click()
    on error goto Err_cmdXoaHD
    if msgbox ("Bạn có muốn xóa hóa đơn này hay không?",36,"Hoi_Dap")=6
    docmd.setwarnings false
    docmd.RunCommand accmdDeleteRecord ' không chạy dược khi có timer
    me.F_CHITIETHOADON.Requery
    end if
    Err_cmdXoaHD:
    if err.Number=3200 then
    msgbox "Co chi tiet khong xoa duoc"
    exit sub
    end if
    End sub
    Mấy câu lệnh trên vẫn chạy bình thường nhưng khi cài thêm cái sự kiện Timer vào là chạy hết được!
    Hóa đơn không có chi tiết thì không xóa được( không chạy được lênh Docmd.RunCommand accmDeleteRecord)
    Nhưng khi thay câu lệnh đó bằng câu SQL là ok.
    Dim s as string
    s="Delete from hoadon where sohd='" & sohd & "'")
    Docmd.RunSQL (Thay cho câu lệnh xóa mặc định của Access)
    Chung quy là do thằng Timer nó hoành hành hết cả!
    Cách của bác phatnq2002 và muontennguoi em sẽ test thử. hy vọng được!
    Nếu các bác có phương án nào hay để giải quyết những TH như thế này thì em cảm ơn!


    :xinchao:
    -----------------------------------------------------------------------------------------
    sử dụng me.repaint không được rồi bác phatnq2002 ơi! chương trình còn bị jut jut hơn lúc trước nữa.Có cách nào khác để giải quyết không?

  5. #5
    Ngày tham gia
    Aug 2015
    Bài viết
    0
    Ðề: Sự kiện Timer trong Access

    Bạn có thể gửi cái form có time bị lỗi lên diễn đàn để mọi người test rồi cho ý kiến. Tôi nghĩ bạn nên để time từ kiểu textbox sang label thì hay hơn

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •