Sự kiện Timer trong Access

TranDang

Member
Hội viên mới
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:
 
Ðề: 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.
 
Ðề: 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.
 
Ðề: 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?
 
Sửa lần cuối:
Ðề: 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
 

CẨM NANG KẾ TOÁN TRƯỞNG


Liên hệ: 090.6969.247

KÊNH YOUTUBE DKT

Cách làm file Excel quản lý lãi vay

Đăng ký kênh nhé cả nhà

SÁCH QUYẾT TOÁN THUẾ


Liên hệ: 090.6969.247

Top