Cách sử dụng module ?

tienduyet

Member
Hội viên mới
Trong trường hợp "cứ coi như" em đã viết thành công một module thì em sẽ gọi mudule đó như thế nào khi dùng module đã tạo cho 1 form.
Em mong nhận được câu trả lời của anh, chị!

Ví dụ: em có 1form, có hai textbox: txt1 là số tiền bằng số, txt2 là số tiền bằng chữ. Khi đó em đã viết xong thủ tục đổi số thành chữ trong module mang tên Md1.
 
Ðề: Cách sử dụng module ?

Module chỉ là 1 trang văn bản. Trong trang đó sẽ gồm các đoạn Sub ... end sub, hoặc function ... end function. Ngoài ra còn dùng để khai báo các biến ...
Như vậy module nếu chia ra nhiều trang thì cũng chỉ để dễ nhớ, dễ tìm.
Khi gọi lệnh thì ta gọi thực hiện các sub hoặc function.
Như bài của em, giả sử thủ tục đổi số thành chữ được đặt trong 1 function docso(x) thì trong txt1 em đặt event onchange:
Private Sub Txt1_Change()
txt2.value = docso(txt1.value)
End Sub
 
Ðề: Cách sử dụng module ?

Module chỉ là 1 trang văn bản. Trong trang đó sẽ gồm các đoạn Sub ... end sub, hoặc function ... end function. Ngoài ra còn dùng để khai báo các biến ...
Như vậy module nếu chia ra nhiều trang thì cũng chỉ để dễ nhớ, dễ tìm.
Khi gọi lệnh thì ta gọi thực hiện các sub hoặc function.
Như bài của em, giả sử thủ tục đổi số thành chữ được đặt trong 1 function docso(x) thì trong txt1 em đặt event onchange:

Xí muontennguoi một cái nhé:

Theo Phờ tui thì đừng đặt ở Change mà nên đặt ở AfterUpdate của textbox.
Lý do: đơn giản thôi mà, nếu để ở Change thì mỗi lần gõ một số là mỗi lần gọi hàm để đổi. Về kỹ thuật lập trình, cái này không sure lắm. Để AfterUpdate thì sau khi gõ xong, chuyển con nháy sang control khác thì mới gọi hàm vào.
 
Ðề: Cách sử dụng module ?

Xí muontennguoi một cái nhé:

Theo Phờ tui thì đừng đặt ở Change mà nên đặt ở AfterUpdate của textbox.
Lý do: đơn giản thôi mà, nếu để ở Change thì mỗi lần gõ một số là mỗi lần gọi hàm để đổi. Về kỹ thuật lập trình, cái này không sure lắm. Để AfterUpdate thì sau khi gõ xong, chuyển con nháy sang control khác thì mới gọi hàm vào.

Hơ vấn đề là tôi muốn như thế mà.
Bởi vì đối với máy tính thì 1 hàm đơn giản như là đổi số thành chữ trong điều kiện chỉ đọc 1 số duy nhất và trong điều kịên phần cứng phát trỉển như hiện nay thì nó hiện lên màn hình bảo đảm trơn như mỡ, không phân biệt nổi nó chớp như thế nào đâu.
Đó là nói trường hợp người gõ cực nhanh đấy.
Đối với người gõ chậm thì càng nên dùng Onchange vì tác động tâm lý làm cho họ thấy chương trình đang chạy, chống buồn ngủ.

Thứ đến, rõ ràng là gõ tới đâu hiện kết quả lên tới đó. Nếu phát hiện gõ sai, nhấn Backspace hoặc mũi tên lùi về sửa ngay.
Dùng AfterUpdate thì phải ra khỏi mới biết chính xác mình gõ đúng hay sai. Nếu sai phải nhấn Shift+Tab để quay lại sửa.

Vậy về kỹ thuật lập trình cái nào sure hơn?
Phải tùy hoàn cảnh chứ, phải không? Đối tượng nhắm đến là người dùng chứ đâu phải cái máy. Cứ bắt máy làm hết công suất có thể.

Đã bỏ tiền ra mua máy thì phải dùng, đừng trùm mềm, hao mòn vô hình của máy tính lớn hơn hao mòn hữu hình nhiều lần.
Đó là lý do tôi thức khuya xài máy tính.
:cheers1:
 
Sửa lần cuối:
Ðề: Cách sử dụng module ?

Hơ vấn đề là tôi muốn như thế mà.
Bởi vì đối với máy tính thì 1 hàm đơn giản như là đổi số thành chữ trong điều kiện chỉ đọc 1 số duy nhất và trong điều kịên phần cứng phát trỉển như hiện nay thì nó hiện lên màn hình bảo đảm trơn như mỡ, không phân biệt nổi nó chớp như thế nào đâu.
Đó là nói trường hợp người gõ cực nhanh đấy.
Đối với người gõ chậm thì càng nên dùng Onchange vì tác động tâm lý làm cho họ thấy chương trình đang chạy, chống buồn ngủ.

Thứ đến, rõ ràng là gõ tới đâu hiện kết quả lên tới đó. Nếu phát hiện gõ sai, nhấn Backspace hoặc mũi tên lùi về sửa ngay.
Dùng AfterUpdate thì phải ra khỏi mới biết chính xác mình gõ đúng hay sai. Nếu sai phải nhấn Shift+Tab để quay lại sửa.

Vậy về kỹ thuật lập trình cái nào sure hơn?
Phải tùy hoàn cảnh chứ, phải không? Đối tượng nhắm đến là người dùng chứ đâu phải cái máy. Cứ bắt máy làm hết công suất có thể.

Đã bỏ tiền ra mua máy thì phải dùng, đừng trùm mềm, hao mòn vô hình của máy tính lớn hơn hao mòn hữu hình nhiều lần.
Đó là lý do tôi thức khuya xài máy tính.
:cheers1:

Khà khà, mai mốt nếu có chung xuồng thì tui xuống lái, muontennguoi ở mũi nghen. Chứ cả hai ở chung chỗ sẽ "cãi" nhau hoài.

Nói đùa chút thôi, Phờ tui không có ý "xấu xa" như vậy đâu.

Quan điểm của mỗi người mỗi khác, tranh luận nhiều thì tốt thôi mà. Tuy nhiên có cái quan điểm của muontennguoi mà Phờ tui chưa đồng ý lắm là việc căn cứ vào sức mạnh hiện tại của máy mà chúng ta cứ thoải mái sử dụng tài nguyên của nó. Trước đây, khi được học về lập trình, các thầy đều luôn lưu ý chúng tôi về việc tối ưu hoá trong coding, phải sử dụng tài nguyên máy sao cho thích hợp, tránh lạm dụng, bởi vì khi chương trình ta chạy có thể còn những chương trình khác cũng đang chạy. Và như thế có khả năng tràn bộ nhớ hoặc tốc độ xử lý chung sẽ bị chậm lại.

muontennguoi và [you] có thể xem cái cách mà Excel nó xử lý khi chế độ Auto Calculate của nó được áp dụng. Mỗi khi người sử dụng gõ 1 ký tự bất kỳ vào trong một ô nào đó, Excel nó sẽ tự động dò tìm và tính toán lại hết thảy các ô nào có chứa công thức. Những công thức nào có gọi hàm thì nó cũng sẽ gọi tính lại.

Một tập tin Excel đủ lớn chứa nhiều công thức tính toán thì điều gì sẽ xảy ra?
Chứng thực luôn là: ở công ty tôi, bộ phận kế toán có cái file Excel dùng theo dõi các nghiệp vụ kế toán, file này hiện chứa khá nhiều dữ liệu và công thức tính toán kể cả macro, ... Lúc này khi bên kế toán nhập vào một ô nào đó thì bảo đảm 3-5 phút sau con trỏ mới từ đồng hồ cát trở về bình thường?
(Máy thì P4 2.97GHz, RAM 512MB).
 
Ðề: Cách sử dụng module ?

Chào các bạn!
Mình nghĩ bạn Muontennguoi cũng đúng mà phatng2002 cũng đúng,mình nghĩ việc gọi hàm ở Event nào là do yêu cầu của công việc(đối với mình là khách hàng), họ đòi thấy ngay sau khi gỏ 1 ký tự thì mình cho ở on change,còn không yêu cầu thì để ở Event After update. Tuy nhiên có những tình huống mà không cho sự lựa chọn Event, ví dụ gọi hàm tính toán hai số thì phải sau after update...
OK?
 
Ðề: Cách sử dụng module ?

Thì đấy mới nói là còn tuỳ hoàn cảnh mà ứng dụng khéo léo.
Hà cớ gì bắt người giàu không được chơi golf chỉ vì còn nhiều người khác đang đói ăn? Chơi golf là vô đạo đức sao?

Phòng kế toán lập bảng tính Excel quá tệ vậy thì chẳng lẽ tôi phải chịu trách nhiệm về chuyện đó sao? Hay là Bill Gate là người chịu trách nhiệm?
Tại làm sao anh bắt tôi phải tắt Auto calculate và phải liên tục nhấn F9 vì nguyên nhân là: phòng kế toán của anh không biết xài Excel?


Còn về tối ưu hoá: cách đưa vào Onchange cũng là 1 phương pháp tối ưu hoá đó.
Tương tự như trong tài chánh, tối ưu chưa bao giờ và cũng không bao giờ có nghĩa là chi phí thấp nhất.
Nó luôn có nghĩa là hiệu quả cao nhất. Hiệu quả = lợi ích - chi phí.

Bởi vì, thông thường ngay sau khi nhập liệu 1 dữ liệu nào đó thì công việc cần làm là kiểm soát hợp lệ của dữ liệu đó.
Chẳng hạn sau khi nhập liệu số lượng hàng xuất kho thì chương trình sẽ kiểm tra xem kho có bị âm hay không.
Việc đưa phần không liên quan (đọc số sang chữ) vào Onchange là để giảm tải cho BeforeUpdate.
 
Ðề: Cách sử dụng module ?

Ha ha, đủ người cho nhóm Development Team IT4DKT rùi :ibbanana::ibbanana:.
Mấy anh em cùng nhau làm cái Sổ tay IT4DKT đi (Dự án nho nhỏ bằng Access, làm đúng quy trình phần mềm từ A --> Z). Chúng ta sẽ chọn code nào hay thì ứng dụng zô chương trình. Cả hội nghĩ sao?. SND tham gia 1 chưng :happy3:
 
Ðề: Cách sử dụng module ?

như thế nào là hiệu quả vậy ab;
 

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