Tạo đồng đếm thời gian trong quá trình tính toán

tienduyet

Member
Hội viên mới
Kính gửi các anh, các chị!

Trong một ứng dụng nho nhỏ em có frmTonKho, trên form này có: txtTonDau, txtNhap, txtXuat, txtTonCuoi, cmdTinh

Khi em bấm nút cmdTinh thì ứng dụng sẽ cộng giá trị đã nhập và đã xuất dùng, thời gian cho ứng dụng cộng lại cũng khá lâu nên giờ em mong được anh chị chỉ em viết code để tạo ra một đồng hồ đếm ngược hay giống như kiểu chạy từ trái sang phải trong copy của Windows cũng là đẹp rồi anh chị ah. Khi nào kết thúc thì báo là "Đã hoàn tất" và không bay từ trái sang phải nữa.

Cảm ơn anh chị!
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Kính gửi các anh, các chị!

Trong một ứng dụng nho nhỏ em có frmTonKho, trên form này có: txtTonDau, txtNhap, txtXuat, txtTonCuoi, cmdTinh

Khi em bấm nút cmdTinh thì ứng dụng sẽ cộng giá trị đã nhập và đã xuất dùng, thời gian cho ứng dụng cộng lại cũng khá lâu nên giờ em mong được anh chị chỉ em viết code để tạo ra một đồng hồ đếm ngược hay giống như kiểu chạy từ trái sang phải trong copy của Windows cũng là đẹp rồi anh chị ah. Khi nào kết thúc thì báo là "Đã hoàn tất" và không bay từ trái sang phải nữa.

Cảm ơn anh chị!

Lời khuyên của nha sĩ: đừng nên làm, vì như thế lại làm lâu thêm cho công việc.

Nếu muốn làm thì cũng không phải là quá khó:

Bạn làm một cái label (ví dụ tên nó labelSeconds). Khi bắt đầu tính thì nó nhảy số, khi kết thúc thì nó dừng.

Bạn sẽ thực hiện tiếp như sau:

Tạo thủ tục sự kiện Form_Timer, thêm:

labelSeconds.Caption = CStr(Val(labelSeconds.Caption) + 1)
Repaint

Trong nút cmdTinh:

Dòng đầu trong thủ tục Click, thêm:

TimerInterval = 1000 ' bật timer, khoảng cách giữa các lần là 1 giây

Dòng cuối trong thủ tục Click, thêm:
TimerInterval = 0 ' tắt timer
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Cho mình hỏi ké 1 tẹo nhen, mình thấy máy tính của 1 người bạn có chương trình nhắc nhở lịch làm việc. Có thể ghi chép những công việc cần làm, ghi chú và thời gian nhắc nhở để ko bị quên hay bỏ sót việc.
Có bạn nào biết cách cài đặt thì chỉ cho mình với với.....
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Lời khuyên của nha sĩ: đừng nên làm, vì như thế lại làm lâu thêm cho công việc.

Nếu muốn làm thì cũng không phải là quá khó:

Bạn làm một cái label (ví dụ tên nó labelSeconds). Khi bắt đầu tính thì nó nhảy số, khi kết thúc thì nó dừng.

Bạn sẽ thực hiện tiếp như sau:

Tạo thủ tục sự kiện Form_Timer, thêm:

labelSeconds.Caption = CStr(Val(labelSeconds.Caption) + 1)
Repaint

Trong nút cmdTinh:

Dòng đầu trong thủ tục Click, thêm:

TimerInterval = 1000 ' bật timer, khoảng cách giữa các lần là 1 giây

Dòng cuối trong thủ tục Click, thêm:
TimerInterval = 0 ' tắt timer

Có thêm nó thì thời gian lâu hơn sao anh? thề thì em thôi không làm mất thêm thời gian chờ đợi nữa.

Cám ơn câu trả lời hữu ích của anh!
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Có thêm nó thì thời gian lâu hơn sao anh? thề thì em thôi không làm mất thêm thời gian chờ đợi nữa.

Cám ơn câu trả lời hữu ích của anh!
Tôi thử chạy theo cách trên nhưng không được: form (frmNhapDULIEU), nút lệnh (cmdThuchien), label (lblTB) Khi chạy xong lblTB mới hiện lên
Các PRO xem giúp tôi với nhé. Các đoạn code như sau:

Private Sub cmdThuchien_Click()

If (Forms!frmNhapDULIEU!optChon) = 1 Then
'Tao cac table tam
lblTB.Visible = True

TimerInterval = 5000

DoCmd.TransferDatabase acImport, "dBASE 5.0", "c:-/httttd\hosogd", acTable, "hsku.dbf", "zt_hsku", False

DoCmd.TransferDatabase acImport, "dBASE 5.0", "c:-/httttd\hosogd", acTable, "hscv.dbf", "zt_hscv", False

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "zt_hskh", "c:-/httttd\hosogd\hskh.xls", True

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "zt_hssv", "c:-/httttd\hosogd\hssv.xls", True

DoCmd.TransferDatabase acImport, "dBASE 5.0", "c:-/httttd\hosogd", acTable, "kugntn.dbf", "zt_kugn", False

DoCmd.TransferDatabase acImport, "dBASE 5.0", "c:-/httttd\hosogd", acTable, "btgntn.dbf", "zt_btgn", False

DoCmd.TransferDatabase acImport, "dBASE 5.0", "c:-/httttd\hosogd", acTable, "kulai.dbf", "zt_kulai", False

DoCmd.TransferDatabase acImport, "dBASE 5.0", "c:-/httttd\hosogd", acTable, "hsb3.dbf", "zt_hsb3", False

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "zt_dmtruong", "c:-/httttd\hosogd\dmtruong.xls", True

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "zt_caphoc", "c:-/httttd\hosogd\caphoc.xls", True

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "zt_loaidt", "c:-/httttd\hosogd\loaidt.xls", True

lblTB.Visible = False
TimerInterval = 0
MsgBox "Da nhap xong du lieu giao dich.", vbOKOnly, "THONG BAO"

End If
----
Private Sub Form_Timer()

lblTB.Caption = CStr(Val(lblTB.Caption) + 1)

Repaint
End Sub
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Bài viết tham khảo của Noname trên KHPT. Tuy không tạo được đồng hồ nhưng cũng hiện được 1 thông báo, sau khi xng tập lệnh thì tự đóng lại:
Noname nói:
Giờ bạn thử theo cách sau nhé:

Tạo 1 form đặt tên Form: frmStatus
Title : Watting....

Trong form, vẽ 1 Label, nội dung : Đang nhập dữ liệu, xin chờ trong giây lát

Rồi set các thuộc tính như sau:

frmthongbao_thuoctinh.jpg


Dung nhan Form thông báo của bạn sẽ thế này:

frmthongbao.jpg



Giờ Quay lại vấn đề chính.
Trong events click của nút thực hiện, bạn làm như sau:
Mã:
Private Sub cmdThuchien_Click()
' load form frmStatus lên
DoCmd.OpenForm "frmStatus" 
' chờ load xong
DoEvents  
[B] ' Lệnh thực thi chương trình của bạn ở đây[/B]

' Xong rồi thì đóng Flash form lại!
DoCmd.Close acForm, "frmStatus" 

End sub
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Bài viết tham khảo của Noname trên KHPT. Tuy không tạo được đồng hồ nhưng cũng hiện được 1 thông báo, sau khi xng tập lệnh thì tự đóng lại:

Làm như bạn thì thà để dòng thông baó hiện ở Statusbar khoẻ hơn là phải thiết kế thêm một form nữa cho nặng
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Làm như bạn thì thà để dòng thông baó hiện ở Statusbar khoẻ hơn là phải thiết kế thêm một form nữa cho nặng

Hì, tùy sở thích mỗi người thôi! Chạy 1 báo cáo vài giờ đồng hồ so với load 1 form vài giây thì chả là gì! :)
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Làm như bạn thì thà để dòng thông baó hiện ở Statusbar khoẻ hơn là phải thiết kế thêm một form nữa cho nặng
Tớ thử rồi. Chạy tốt. Nhưng Form STATUS vẫn chiếm cả màn hình. CÓ cách nào cho thu nhỏ lại vào giữa màn hình không vậy a, các PRO.
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Tớ thử rồi. Chạy tốt. Nhưng Form STATUS vẫn chiếm cả màn hình. CÓ cách nào cho thu nhỏ lại vào giữa màn hình không vậy a, các PRO.

Muốn thu nhỏ thì dùng chuột kéo lề cho nó nhỏ lại.
Muốn nằm giữa màn hình thì đặt Auto Center = Yes
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Tớ thử rồi. Chạy tốt. Nhưng Form STATUS vẫn chiếm cả màn hình. CÓ cách nào cho thu nhỏ lại vào giữa màn hình không vậy a, các PRO.

Ý tôi nói là câu lệnh "Đang nhập dữ liệu, xin chờ trong giây lát" cho nó hiện ở thanh Statusbar ấy chứ không phải là nằm trong form frmStatus. Bạn dùng hàm Sys của Access mà làm
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Ý tôi nói là câu lệnh "Đang nhập dữ liệu, xin chờ trong giây lát" cho nó hiện ở thanh Statusbar ấy chứ không phải là nằm trong form frmStatus. Bạn dùng hàm Sys của Access mà làm
Đặt trong thanh status bar thì làm thế nào, PRO Xuanthanh cho xin code đi.
-----------------------------------------------------------------------------------------
Muốn thu nhỏ thì dùng chuột kéo lề cho nó nhỏ lại.
Muốn nằm giữa màn hình thì đặt Auto Center = Yes
Làm rồi, nhưng frmStatus vẫn chiếm cả màn hình. Có cách nào không, các PRO ơi.
 
Sửa lần cuối:
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Đặt trong thanh status bar thì làm thế nào, PRO Xuanthanh cho xin code đi.

PHP:
Msgbox "Máy đang làm! Mai mới xong. Bạn đi kiếm ly café đi!"

Sếp có la thì bảo là máy bảo thế :dangiuqua::tapta::dangiuqua:
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Đang viết tự nhiên dân kế nhà mình nó ngỏm!

PHP:
Msgbox "Máy đang làm! Mai mới xong. Bạn đi kiếm ly café đi!"

Sếp có la thì bảo là máy bảo thế :dangiuqua::tapta::dangiuqua:

Mai mới xong thì đi kiếm bữa nhậu luôn ấy chứ!

Mã:
Private Sub Command9_Click()

Command9.StatusBarText = "Đang chạy gần chết nè! Nhậu đi rồi về lấy report"
'[COLOR="Green"] Dòng lệnh ở đây[/COLOR]

Command9.StatusBarText = "Xỉn chưa!Về lấy report nè"
End Sub

statusbar.jpg
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Đang viết tự nhiên dân kế nhà mình nó ngỏm!



Mai mới xong thì đi kiếm bữa nhậu luôn ấy chứ!

Mã:
Private Sub Command9_Click()

Command9.StatusBarText = "Đang chạy gần chết nè! Nhậu đi rồi về lấy report"
'[COLOR="Green"] Dòng lệnh ở đây[/COLOR]

Command9.StatusBarText = "Xỉn chưa!Về lấy report nè"
End Sub

statusbar.jpg
Làm được như bác rồi.Nhưng làm sao để nó không hiện thi nữa.Chứ Click một phát là nó nằm im dưới thanh luôn.Không mất đuọc
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Làm được như bác rồi.Nhưng làm sao để nó không hiện thi nữa.Chứ Click một phát là nó nằm im dưới thanh luôn.Không mất đuọc

Thì sau khi hoàn thành xong bạn set dòng status thành "Form View"
Thế thôi!
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Bac nói rọng và rõ hơn chút nữa đi.Chỉ như thế thì em làm sao làm theo được
 
Ðề: Tạo đồng đếm thời gian trong quá trình tính toán

Private Sub Command9_Click()

Command9.StatusBarText = "Đang chạy gần chết nè! Nhậu đi rồi về lấy report"

' Các lệnh thực thi của bạn ở đây


Command9.StatusBarText = "Form View"
End Sub
 

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