OverAC nói:
Sub Ontimer()
Application.OnTime Now + TimeValue("00:00:01"), "ProTimer"
End Sub
Nhờ bác Tuanktcdcn giải thích hộ em cái procedure này. Để em biết thêm thôi ấy mà. Ah bác giải thích hộ em cái method này luôn
Ontime (Earliesttime, procedure as string, [lastesttime], [schedule])
Cám ơn bác nhiều
Ontime (Earliesttime, procedure as string, [lastesttime], [schedule]) Ontime là một Procedure gồm có 4 đối số:
Earliesttime: là thời gian đợi để chạy "procedure as string", trong VD gọi là "Protimer"
Now() + TimeValue("00:00:01") cos nghĩa là tính từ thời điểm hiện tại sau 1 giây thi cho chạy Sub "Protimer"
procedure as string: kiểu đối số là String, là tên của một Procedure (Sub), Sub này sẽ được chạy sau TimeValue("00:00:01") tính từ thời điểm "bây giờ".
[lastesttime]: thời gian đợi cho Sub "Protimer" chạy xong thì EXCEL mới thực hiện các lệnh của nó như Copy, Cut,Paste...trong thời gian này mà "Protimer" không xong thì bị bỏ qua(bị ngắt để EXCEL dùng các lệnh của nó). Nếu đối số này được bỏ qua thì EXCEL sẽ thực hiện tuần tự chạy "Protimer" xong rồi mới thực hiện lệnh của nó.
[schedule]: là đối số kiểu Boolean (True/False). Nếu là True thì "Protimer" sẽ được nạp vào danh sách các Sub của Ontime để chạy, nếu False thì Ontime sẽ xóa các Sub được nạp từ trước để nhận Sub lần này (cuối cùng được gọi). Theo ngầm định thì đối số này nhận giá trị là True.
Ứng dụng Sub Ontime của EXCEL làm đồng hồ là một ví dụ nhỏ, nó có thể được bạn phát triển lập chu trình thực hiện một công việc nào đó theo thời gian: bạn có thể lập một chương trình báo thức trong ngày, lịch họp, thanh toán tiền theo thời gian dùng telephone, net,...Các ứng dụng trên Ontime nếu chúng ta không có một thủ thuật "lồng Sub" thì hiệu quả và tính lý thú sẽ không cao và Dongho.xla là một ví dụ của "lồng Sub"
Sub Ontimer
Ontime(....,"Protimer")
End Sub
Sub Protimer
Ontimer
End Sub
Chu trình lồng nhau đó được khép kín và nó trở thành một đồng hồ thực sự. Cái quan trọng nhất là bạn sẽ đưa lệnh gì vào trong các Sub đó.
Nếu bại nào đã làm một ứng dụng khác phát triển từ Ontime có thể đưa ra chúng ta thảo luận.+
lamquocuy nói:
tóm lại là em muốn mở và làm việc vơi file access trong môi trường excel được không??
về chương trình kế toán của anh em có thắc mắc như sau:
-Nếu số lượng chứng từ nhiều quá thì chương trình có bị đứng hay là mở ko được ko?(Hình như file nào co dung lượng hơi lớn thì không mơ được đâu)
-Cách tạo menu của anh có giống cách tạo menu của anh Duyệt ko?
(Hình như là khác).Anh vui lòng chỉ em cách tạo giống anh nha!!
-Còn điều này nữa File kế toán của anh không thể xem sourse được?Tại sao vậy?
Việc kết nối EXCEL và ACCESS là hoàn toàn thực hiện được nhưng từ ACCESS link file Excel vào dễ hơn. Còn từ EXCEL dùng file Access (*.mdb) Trong VBA bạn phải dùng ADO,ADO để kết nối (dùng Connection,Recordset,...) trong EFC đã có bài nói về kết nối này đó.
- Như anh LeVanDuyet đã nói số chứng từ bạn có thể có tối đa 65535 trong một Sheet. Nếu số chứng từ khoảng 5000 thì tốc độ xử lý vẫn đảm bảo tốt, nhiều như ## ### thì việc xử lý không đơn giản bạn phải dùng thuật toán dòng đợi để xử lý - đây cũng là cái ưu điểm mà nhiều PM muốn đạt được.
Nhân đây I chia sẻ chững bạn có file Excel nhiều dữ liệu, bạn đừng lập quá nhiều công thức khi mà bạn không cần dùng nó thường xuyên (VD bạn không cần phải có bảng Cân đối Tài khoản-CĐTK khi mà chưa phải cuối kỳ bạn chỉ cần để lại công thức ở dòng đầu đế cuối kỳ bạn mới copy cho các TK, và các sổ khác cũng vậy). Xây dựng một ứng dụng bạn phải quy hoạch dữ liệu cho đúng và cần tiết kiệm hết sức năng lực của EXCEL nếu không đến một lúc nào đó nó "Project" của bạn sẽ không thể tiếp tục được nữa.
- Tạo Menu của anh Duyệt là một cách và của tôi cũng là một cách và cuối cùng cũng là Menu mà thôi. Nhưng theo A-Excel thì I phải thiết kế theo kiểu riêng vì nó còn liên quan tới chức năng "Quản trị hệ thống". Một lúc nào đó ta sẽ chia sẻ ở một topic khác.
- Mã nguồn của A-Excel không thể mở được nhưng bạn quan tâm chung ta có thể chia sẻ mà.