Hướng dẫn viết phần mềm đơn giản bằng excel

Access cho roketbola.site 365 Access 2021 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007 Xem thêm...Ít hơn

Khi tạo cơ sở dữ liệu mới, bạn thường bắt đầu bằng cách tạo một số đối tượng cơ sở dữ liệu chẳng hạn như bảng, biểu mẫu và báo cáo. Cuối cùng, sẽ đến lúc bạn phải bổ sung một số thao tác lập trình để tự động hóa các quy trình nhất định và gắn kết các đối tượng cơ sở dữ liệu với nhau. Bài viết này sẽ định hướng cho bạn về các công cụ lập trình trong Access.

Bạn đang xem: Hướng dẫn viết phần mềm đơn giản bằng excel

Trong bài viết này

Lập trình là gì?

Trong Access, lập trình là quy trình thêm chức năng vào cơ sở dữ liệu của bạn bằng cách sử dụng macro hoặc mã Visual Basic for Applications (VBA) của Access. Ví dụ: giả sử bạn đã tạo một biểu mẫu và một báo cáo, rồi bạn muốn thêm nút lệnh vào biểu mẫu để khi bấm vào nút đó thì báo cáo sẽ mở ra. Trong trường hợp này, lập trình là quy trình tạo một macro hoặc thủ tục VBA, rồi đặt thuộc tính sự kiện OnClick của nút lệnh sao cho khi bấm vào nút lệnh đó, macro hoặc thủ tục sẽ chạy. Đối với một thao tác đơn giản, chẳng hạn như mở một báo cáo, bạn có thể sử dụng Trình hướng dẫn Nút Lệnh để thực hiện tất cả công việc hoặc bạn có thể tắt trình hướng dẫn và tự mình lập trình.


Lưu ý: Nhiều chương trình roketbola.site Office sử dụng thuật ngữ "macro" để nhắc tới mã VBA. Điều này có thể gây nhầm lẫn cho người dùng Access vì trong Access, thuật ngữ "macro" đề cập đến một tuyển tập đã đặt tên chứa các hành động macro mà bạn có thể kết hợp bằng cách sử dụng Bộ dựng Macro. Hành động macro Access chỉ đại diện cho một tập hợp con chứa các lệnh sẵn dùng trong VBA. Bộ dựng Macro cung cấp cho bạn một giao diện có cấu trúc hơn so với Trình soạn thảo Visual Basic, cho phép bạn thêm thao tác lập trình vào điều khiển và đối tượng mà không cần phải tìm hiểu mã VBA. Hãy nhớ rằng trong các bài viết Trợ giúp về Access, macro của Access được gọi là macro. Ngược lại, mã VBA được gọi là VBA, mã, hàm hoặc thủ tục. Mã VBA nằm trong mô-đun lớp (là một phần của các biểu mẫu hoặc báo cáo đơn lẻ và thường chỉ chứa mã dành cho những đối tượng đó) và trong mô-đun (vốn không được liên kết với đối tượng cụ thể và thường chứa mã "toàn cục" có thể được dùng trong toàn bộ cơ sở dữ liệu).


Các đối tượng (chẳng hạn như biểu mẫu và báo cáo) và các điều khiển (chẳng hạn như nút lệnh và hộp văn bản) có các thuộc tính sự kiện khác nhau mà bạn có thể đính kèm macro hoặc thủ tục. Mỗi thuộc tính sự kiện được liên kết với một sự kiện cụ thể, chẳng hạn như bấm chuột, mở biểu mẫu hoặc sửa đổi dữ liệu trong một hộp văn bản. Sự kiện cũng có thể được kích hoạt bằng các yếu tố bên ngoài Access, chẳng hạn như sự kiện hệ thống hoặc bằng macro hay các thủ tục đính kèm với các sự kiện khác. Cơ sở dữ liệu của bạn có thể trở nên phức tạp nếu bạn thêm nhiều macro hoặc thủ tục vào một vài thuộc tính sự kiện của nhiều đối tượng nhưng trong hầu hết các trường hợp, bạn có thể đạt được kết quả mong muốn mà chỉ cần lập trình rất ít.

Đầu Trang

Tôi nên sử dụng macro hay mã VBA?

Quyết định sử dụng macro, VBA hay cả hai phụ thuộc chủ yếu vào cách bạn dự định triển khai hoặc phân bổ cơ sở dữ liệu. Ví dụ, nếu cơ sở dữ liệu được lưu trữ trên máy tính của bạn và bạn là người dùng duy nhất, đồng thời nếu bạn thích sử dụng mã VBA thì bạn có thể quyết định sử dụng VBA để thực hiện hầu hết các tác vụ lập trình của mình. Tuy nhiên, nếu bạn dự định chia sẻ cơ sở dữ liệu với những người khác bằng cách đặt cơ sở dữ liệu đó trên máy chủ tệp thì bạn có thể muốn tránh sử dụng VBA vì lý do bảo mật.

Bạn nên quyết định sử dụng macro hay mã VBA dựa trên hai yếu tố cần cân nhắc: bảo mật và chức năng bạn muốn. Bảo mật là một vấn đề vì VBA có thể được sử dụng để tạo mã gây tổn hại tới việc bảo mật dữ liệu của bạn hoặc có thể gây hại tới các tệp trên máy tính của bạn. Khi sử dụng cơ sở dữ liệu được tạo bởi người khác, bạn chỉ nên bật mã VBA nếu biết cơ sở dữ liệu đó đến từ một nguồn đáng tin cậy. Khi tạo cơ sở dữ liệu mà những người khác sẽ sử dụng, bạn cần cố gắng tránh đưa vào các công cụ lập trình yêu cầu người dùng cấp cụ thể trạng thái tin cậy cho cơ sở dữ liệu đó. Phần sau của mục này sẽ đề cập đến các kỹ thuật chung dùng để tránh việc yêu cầu người dùng tin cậy cơ sở dữ liệu của bạn.

Để giúp đảm bảo tính bảo mật cho cơ sở dữ liệu của mình, bạn nên cố gắng sử dụng macro khi có thể và chỉ sử dụng lập trình VBA cho các thao tác mà hành động macro không thể thực hiện. Ngoài ra, bạn nên cố gắng chỉ sử dụng những hành động macro không yêu cầu cấp trạng thái tin cậy cho cơ sở dữ liệu để chạy. Khi giới hạn việc sử dụng hành động macro theo cách này, người dùng sẽ tự tin rằng cơ sở dữ liệu không có thao tác lập trình nào có thể gây hại tới dữ liệu hoặc các tệp khác trên máy tính của họ.

Những điều cần cân nhắc về macro

Bắt đầu từ bản phát hành Access 2010, Access có chứa nhiều hành động macro mới cho phép bạn dựng các macro mạnh mẽ hơn so với khi dựng bằng cách sử dụng các phiên bản Access cũ hơn. Ví dụ: giờ đây, bạn có thể tạo và sử dụng các biến tạm thời toàn cục bằng cách sử dụng hành động macro và bạn có thể xử lý lỗi dễ dàng hơn bằng các hành động macro xử lý lỗi mới. Trong các phiên bản Access cũ hơn, những loại tính năng này chỉ sẵn dùng khi sử dụng VBA. Ngoài ra, bạn có thể nhúng macro trực tiếp vào thuộc tính sự kiện của một đối tượng hoặc điều khiển. Macro được nhúng sẽ trở thành một phần của đối tượng hoặc điều khiển và đi kèm với đối tượng hoặc điều khiển nếu đối tượng hoặc điều khiển đó được di chuyển hoặc sao chép.

Macro cung cấp một cách dễ dàng để xử lý nhiều tác vụ lập trình, chẳng hạn như mở và đóng biểu mẫu và chạy báo cáo. Bạn có thể nhanh chóng và dễ dàng gắn kết các đối tượng cơ sở dữ liệu mà bạn đã tạo (biểu mẫu, báo cáo, v.v.) với nhau vì bạn hầu như không phải ghi nhớ cú pháp nào. Các tham đối của từng hành động được hiển thị trong Bộ dựng Macro.

Bên cạnh tính bảo mật cao và dễ sử dụng do macro đem lại, bạn phải sử dụng macro để thực hiện các tác vụ sau đây:

Gán một hành động hoặc tập hợp các hành động cho một khóa. Tác vụ này yêu cầu tạo một nhóm macro có tên là AutoKeys.

Thực hiện một hành động hoặc một chuỗi các hành động khi cơ sở dữ liệu mở ra lần đầu tiên. Tác vụ này yêu cầu tạo một macro có tên là AutoExec.


Lưu ý:  Macro AutoExec sẽ chạy trước bất kỳ mã VBA hay macro nào khác, ngay cả khi bạn đã chỉ định một biểu mẫu khởi động trong hộp thoại Tùy chọn Access và đính kèm một macro hoặc mã VBA vào sự kiện OnOpen hoặc OnLoad của biểu mẫu đó.


Để biết thêm thông tin về cách dựng macro, hãy xem mục Tìm hiểu về macro.

Những điều cần cân nhắc về VBA

Bạn nên sử dụng lập trình VBA thay vì macro nếu muốn thực hiện bất kỳ thao tác nào sau đây:

Sử dụng hàm tích hợp sẵn hoặc tạo hàm của riêng bạn Access bao gồm nhiều hàm tích hợp sẵn như hàm IPmt để tính toán khoản thanh toán lãi. Bạn có thể sử dụng các hàm tích hợp sẵn này để thực hiện tính toán mà không cần phải tạo các biểu thức phức tạp. Bằng cách sử dụng mã VBA, bạn cũng có thể tạo các hàm của riêng mình để thực hiện tính toán vượt quá khả năng của một biểu thức hoặc thay thế các biểu thức phức tạp. Ngoài ra, bạn có thể sử dụng các hàm mà bạn tạo trong biểu thức để áp dụng một phép toán phổ biến cho nhiều đối tượng.

Tạo hoặc điều chỉnh đối tượng Trong hầu hết mọi trường hợp, bạn sẽ nhận thấy rằng cách dễ nhất để tạo và sửa đổi một đối tượng là thực hiện trong cửa sổ Thiết kế của đối tượng đó. Tuy nhiên, trong một số trường hợp, có thể bạn muốn điều chỉnh định nghĩa của đối tượng trong mã. Bằng cách sử dụng VBA, bạn có thể điều chỉnh tất cả các đối tượng trong cơ sở dữ liệu, bên cạnh chính cơ sở dữ liệu đó.

Thực hiện hành động ở cấp độ hệ thống Bạn có thể thực hiện hành động RunApp trong macro để chạy một chương trình khác (chẳng hạn như roketbola.site Excel) từ bên trong Access nhưng bạn không thể sử dụng macro để thực hiện nhiều hành động khác bên ngoài Access. Bằng cách sử dụng VBA, bạn có thể kiểm tra xem liệu một tệp có tồn tại trên máy tính hay không, sử dụng Tự động hóa hoặc Trao đổi Dữ liệu Động (DDE) để liên lạc với các chương trình dựa trên roketbola.site Windows khác, chẳng hạn như Excel và gọi các hàm trong các thư viện nối kết động (DLL) của Windows.

Điều chỉnh từng bản ghi Bạn có thể sử dụng VBA để lướt qua một tập hợp bản ghi, lần lượt từng bản ghi một và thực hiện một phép toán trên mỗi bản ghi. Ngược lại, macro làm việc với toàn bộ các tập hợp bản ghi cùng một lúc.

Đầu Trang

Sử dụng Trình hướng dẫn Nút Lệnh để thực hiện các tác vụ lập trình phổ biến

Nếu bạn đang thêm nút lệnh vào một biểu mẫu, Trình hướng dẫn Nút Lệnh có thể giúp bạn bắt đầu lập trình. Trình hướng dẫn sẽ giúp bạn tạo nút lệnh để thực hiện một tác vụ cụ thể. Trong tệp (.accdb) Access, trình hướng dẫn sẽ tạo macro được nhúng trong thuộc tính OnClick của nút lệnh đó. Trong tệp .mdb hoặc .adp, trình hướng dẫn sẽ tạo mã VBA, vì macro được nhúng sẽ không sẵn dùng ở các định dạng tệp đó. Trong cả hai trường hợp, sau đó bạn đều có thể sửa đổi hoặc nâng cao macro hoặc mã VBA cho phù hợp hơn với nhu cầu của mình.

Trong Ngăn Dẫn hướng, bấm chuột phải vào biểu mẫu bạn muốn thêm nút lệnh, rồi bấm vào Cửa sổ Thiết kế.

Trên tab Thiết kế, bấm vào mũi tên xuống để hiển thị thư viện Điều khiển, rồi đảm bảo chọn Sử dụng Trình hướng dẫn Điều khiển.

Trên tab Thiết kế, trong thư viện Điều khiển, bấm vào Nút.

Xem thêm: Top 10 Phim Thái Lan Hay Nhất Về Tình Yêu, Top 10 Phim Tình Cảm Thái Lan Hay Đáng Xem Nhất

Trong lưới thiết kế biểu mẫu, bấm vào vị trí bạn muốn đặt nút lệnh.

Trình hướng dẫn Nút Lệnh sẽ bắt đầu.

Trên trang đầu tiên của trình hướng dẫn, hãy bấm vào từng danh mục trong danh sách Danh mục để xem trình hướng dẫn có thể lập trình cho nút lệnh thực hiện những hành động nào. Trong danh sách Hành động, chọn hành động mà bạn muốn, rồi bấm vào Tiếp theo.

Bấm vào tùy chọn Văn bản hoặc tùy chọn Ảnh, tùy thuộc vào việc bạn muốn hiển thị văn bản hay ảnh trên nút lệnh.

Nếu bạn muốn hiển thị văn bản thì bạn có thể chỉnh sửa văn bản đó trong hộp bên cạnh tùy chọn Văn bản.

Nếu bạn muốn hiển thị ảnh thì trình hướng dẫn sẽ đề xuất một ảnh trong danh sách. Nếu bạn muốn chọn ảnh khác, hãy chọn hộp kiểm Hiển thị Tất cả Ảnh để hiển thị danh sách tất cả ảnh nút lệnh mà Access cung cấp hoặc bấm vào Duyệt để chọn ảnh được lưu trữ ở nơi khác.

Bấm vào Tiếp theo.

Nhập tên có ý nghĩa cho nút lệnh. Đây là một bước tùy chọn và tên này sẽ không được hiển thị trên nút lệnh. Tuy nhiên, bạn nên nhập tên có ý nghĩa để sau này, khi cần tham chiếu đến nút lệnh (ví dụ: nếu bạn đang đặt thứ tự tab cho các điều khiển trên biểu mẫu), bạn có thể phân biệt các nút lệnh dễ dàng hơn nhiều. Ví dụ: nếu nút lệnh có tác dụng đóng biểu mẫu, bạn có thể đặt tên cho nút lệnh đó là cmdClose hoặc CommandClose.

Bấm vào Kết thúc.

Access đặt nút lệnh lên biểu mẫu.

Nếu bạn muốn biết trình hướng dẫn "đã lập trình" gì cho bạn, hãy làm theo các bước tùy chọn sau:

Nếu bảng thuộc tính chưa được hiển thị, bấm F4 để hiển thị.

Trong bảng thuộc tính, bấm vào tab Sự kiện.

Trên tab Thiết kế, trong nhóm Dạng xem, bấm vào Dạng xem, rồi bấm vào Dạng xem Biểu mẫu. Bấm vào nút lệnh mới để xác nhận rằng nút này hoạt động như bạn mong đợi.

Đầu Trang

Tìm hiểu về macro

Macro là một công cụ cho phép bạn tự động hóa các tác vụ và thêm chức năng vào biểu mẫu, báo cáo và điều khiển. Ví dụ: nếu bạn thêm một nút lệnh vào biểu mẫu, bạn liên kết thuộc tính sự kiện OnClickcủa nút đó với macro chứa các lệnh mà bạn muốn nút đó thực hiện mỗi lần bấm.

Sẽ rất hữu ích nếu xem macro của Access như một ngôn ngữ lập trình đơn giản hóa cho phép bạn tạo mã bằng cách xây dựng một danh sách các hành động cần thực hiện. Khi dựng một macro, bạn chọn từng hành động từ danh sách thả xuống, rồi điền thông tin bắt buộc cho từng hành động. Macro cho phép bạn thêm chức năng vào biểu mẫu, báo cáo và điều khiển mà không cần viết mã trong mô-đun VBA. Macro cung cấp một tập hợp con chứa các lệnh sẵn dùng trong VBA và hầu hết mọi người đều thấy việc dựng macro dễ dàng hơn là viết mã VBA.

Bạn tạo macro bằng cách sử dụng Bộ dựng Macro được hiển thị trong hình minh họa sau đây.

*

Để hiển thị Bộ dựng Macro:

Trên tab Tạo, trong nhóm Macro & Mã, bấm vào Macro.

Đầu Trang

Tìm hiểu về mã VBA

Giống như macro, VBA cho phép bạn thêm tự động hóa và chức năng khác vào ứng dụng Access của mình. Bạn có thể mở rộng VBA bằng cách sử dụng điều khiển của bên thứ ba và bạn có thể viết các hàm cũng như thủ tục riêng cho nhu cầu cụ thể của mình.

Một cách nhanh chóng để bắt đầu lập trình VBA là dựng một macro Access trước, rồi chuyển đổi macro này thành mã VBA. Hướng dẫn cách thực hiện điều này có trong mục Chuyển đổi macro thành mã VBA. Tính năng này sẽ tạo một mô-đun VBA mới để thực hiện các phép toán tương đương trong macro. Tính năng này cũng sẽ mở Trình soạn thảo Visual Basic để bạn có thể bắt đầu sửa đổi thủ tục. Khi đang làm việc trong Trình soạn thảo Visual Basic, bạn có thể bấm vào các từ khóa và nhấn F1 để bắt đầu Trợ giúp Nhà phát triển Access và tìm hiểu thêm về mỗi từ khóa. Sau đó, bạn có thể khám phá Trợ giúp Nhà phát triển Access và khám phá các lệnh mới để có thể thực hiện các tác vụ lập trình mà bạn muốn.

Đầu Trang

Chuyển đổi macro thành mã VBA

Bạn có thể sử dụng Access để tự động chuyển đổi macro thành mô-đun VBA hoặc mô-đun lớp. Bạn có thể chuyển đổi các macro được đính kèm vào một biểu mẫu hoặc báo cáo, dù chúng tồn tại dưới dạng đối tượng riêng biệt hay macro được nhúng. Bạn cũng có thể chuyển đổi macro toàn cục không được đính kèm với một biểu mẫu hoặc báo cáo cụ thể.