Tạo Macro trong GT Access3 để xử lý tùy chọn người dùng

MỤC LỤC

BÀI TẬP

  • Sử dụng Macro tạo các hành động theo yêu cầu sau
    • Là một số trả về giá trị mà người sử dụng đã chọn

      Ví dụ: Sử dụng Option Group tạo Form với các mục lựa chọn như hình dưới đây và đặt tên cho Option Group là: OPT. − B3: Nhắp mouse vào một trong 3 biểu tượng tạo: Option button, Check box hay Toggle button và drag mouse bên trong phạm vi của Option Group để tạo các nút lựa chọn cho Option Group (tối thiểu phải là 2 nút lựa chọn). Giá trị này dùng để chỉ định một chức năng ( tức là một lựa chọn ) nào đó trong danh sách các chức năng của Option Group sẽ được chọn khi mở Form.

      Là Macro có chứa các điều kiện cho từng hành động, nếu điều kiện thoả thì hành động mới được thực hiện. − Xuất hiện thêm cột Condition ghi điều kiện cho hành động vào cột Condition , cùng dòng với hành động. Ghi chú: Khi có một điều kiện đúng mà ta phải cho thực hiện nhiều hành động, để khỏi viết lại các điều kiện trên các dòng của hành động, từ dòng thứ hai trở đi ta ghi … ( 3 dấu chấm).

      Ta tạo một Macro để thực hiện các công việc trên form SU DUNG OPTION GROUP (Với tên của Option group trên là OPT và các thành phần trong Option group lần lượt chứa các giá trị là 1, 2, 3, 4). Chọn Properties của Option Group (Phải đảm bảo chọn đúng Option Group) chọn phiếu sự kiện, chọn Onclick, click chọn vào dấu trải xuống bên góc phải, chọn Macro tên SU DUNG OPTION GROUP. Bạn hóy thờm một nỳt Toggle Button ĐểNG FORM vào Option Group trờn và gỏn giỏ trị của Option Group này = 5.

      Hãy thêm điều kiện ở Macro SU DUNG OPTION GROUP để khi Click chuột vào nỳt ĐểNG FORM thỡ sẽ cho đúng Form hiện hành. Chúng ta có thể kết hợp các số này lại với nhau để cho cùng lúc trên hộp thoại xuất hiện các nút và biểu tượng bằng cách cộng hai số lại với nhau. − Khi chọn một loại khách hàng nào thì trên Form chỉ xuất hiện tất cả hoá đơn của khách hàng đó và đồng thời hiện mã khách hàng lên Text Box lọc theo khách hàng và cho biết tổng số hoá đơn khách hàng đó là bao nhiêu.

      Dùng Option Group, sử dụng Macro với Action là Applyfilter để lọc theo từng khách hàng với điều kiện lọc ghi ở dòng và sử dụng Macro với Action là Setvalue để gán giá trị trực tiếp cho text box lọc theo khách hàng và sử dụng hàm Count([SOHD]) để đếm tổng số hoá đơn. Với form thống kê khách hàng thì điều kiện lọc là mã khách hàng, thống kê theo loại vật tư thì điều kiện loạc là Loại vật tư là nhập (N) hay xuất (X), thống kê theo kho thì điều kiện lọc theo từng kho. ⇒ Để lọc dữ liệu theo mã khách hàng ta sử dụng hành động ApplyFilter với Action Aguments cột Where condition: [MAKH] = [FORMS]![THONGKE]![DIEUKIEN].

      ⇒ Để lọc dữ liệu theo Loại vật tư ta sử dụng hành động ApplyFilter với Action Aguments cột Where condition: [LOAIVT] = [FORMS]![THONGKE]![DIEUKIEN]. SOHD đồng thời sử dụng tiếp hành động Runcommand với dòng Command ở Action Arguments là: SortAscending.

      MENU

      THANH COÂNG CUẽ 1. Tạo thanh công cụ

         Chọn trang ToolBars, kích chuột vào Check Box thanh thực đơn cần thiết lập thuộc tính, rồi chọn lệnh Properties, cửa sổ Toolbar Properties xuất hiện.  Toolbar Name: Chỉ định tên của thanh lệnh (công cụ, thực đơn hay một thực đơn tắt).  Docking: Cho phép người sử dụng thay đổi dáng thể hiện của thanh thực đơn hay thanh công cuù.

         Show On Toolbar Menu: Hiển thị thanh lệnh mới trên thanh công cụ, thực đơn.

          LẬP TRÌNH MODULE

                KHAI BÁO BIẾN VÀ HẰNG

                  Dim Hoten as String (khai báo biến Hoten có kiểu dữ liệu là kiểu chuỗi). − Không được dùng từ khoá của Visua Basic For Application để đặt tên cho các biến. Hằng cũng có tên duy nhất trong thủ tục và cũng phải được khai báo trước khi dùng.

                  − Nếu bỏ qua phần khai báo As <Kiểu> thì hằng có kiểu là Variant. Khi nhập vào 2 số A và B và khi Click chọn một trong nút tính thì sẽ cho kết quả của phép toán đó đồng thời sẽ xuất hiện câu thông báo trong Text box thông báo. Hướng dẫn: Đặt tên cho các Text Box (Ví dụ: TxtA, TxtB, TxtKQ, TxtTB), Đặt tên cho các nút lệnh ( CONG, TRU, NHAN, CHIA) bằng cách chọn properties của từng Control chọn phiếu Other, chọn mục Name và nhập tên nút lệnh vào.

                  Kích phải chuột chọn lệnh Properties\Event\On Click\ Kích chọn mũi tên trải xuống chọn lệnh Event Procedure\ kích chọn dấu 3 chấm.

                  CÁC PHÉP TOÁN - PHÁT BIỂU – HÀM

                  • CÁC PHÁT BIỂU

                    Nếu điều kiện 1 thoả thì thực hiện câu lệnh 1 còn ngược lại nếu điều kiện 2 thoả thì thực hiện câu lệnh 2. ⇒ Dùng vòng lặp if viết chương trình cho phép nhập vào 2 số a, b bất kỳ từ bàn phím. ⇒ Sử dụng phát biểu if viết chương trình cho phép nhập vào bán kính hình tròn và tính diện tích hình tròn đó.

                    ⇒ Viết một hàm cho nhập vào một số bất kỳ và cho biết số đó âm hay dương hay bằng không Function doanso(). Doanso = Loai ‘Gán giá trị lại cho hàm đoán số và sau đó dùng hàm MsgBox xuất KQ ra màn hình’. Phát biểu SELECT CASE: Lựa chọn những trường hợp của biến, tùy theo giá trị của biến mà thực hiện các phát biểu tương ứng.

                    Để tránh những dòng lệnh dài dòng và lập đi lập lại nhiều lần ta có thể chia chúng ra thành những hàm hay thủ tục nhỏ. Mục đích của việc chia ra những hàm hay thủ tục để cho ta dễ dàng kiểm tra và chỉnh sửa lỗi khi gặp phải. Một hàm hay thủ tục có thể được gọi bất kỳ lúc nào khi ta cần.

                    − Thủ tục Sub: Thực hiện một số câu lệnh nào đó và không trả về giá trị.

                    Sử dụng hai hàm trên vào biến cố OnClick của hai nút lệnh tương ứng trên Form theo hình sau

                      Ví dụ 1: Tạo một thủ tục Sub Vidumang() trong Module Viduvemang tính tổng của các phần tử trong mảng với chiều dài là 6 và sử dụng vòng lặp For…Next để cập nhập phần tử mảng. Ví dụ 2: Tạo một hàm cho nhập vào một chuỗi sau đó cắt khoảng trắng thừa đầu và cuối chuỗi.

                      OBJECT & COLLECTION (Đối tượng và lớp rong Ms Access)

                      • THAM CHIẾU ĐẾN CONTROL TRÊN FORM/REPORT

                        Là các thành phần hiện diện bên trong đối tượng Form, chẳng hạn như hộp Textbox, các nút lệnh command Button. Me.Save (Phương thức .Save của form dùng để lưu Form) Me.Close (Phương thức .Close của form dùng để đóng Form). Để biểu thị tên của một lớp bạn thêm s vào cuối tên của loại đối tượng trong lớp (trừ lớp DBEngine).

                        Các kiểu đối tượng thường dùng rong visual Basic: DBEngine, WorkSpace, DataBase, Form, Report, TableDef, QueryDef, Recordset, Control, Field, Index. Bắt đầu là đối tượng khởi thủy (là đối tượng không nằm trong bất kỳ đối tượng khác – đó là Forms, Reports, DBEngine), kế đó là danh sách các đối tượng có quan hệ phụ thuộc (Đối tượng sau là thành phần của đối tượng trước), cuối cùng là thành phần cần biểu thị.  Dấu chấm trong các trường hợp còn lại (đối tượng sau là thuộc tính, phương thức hay đối tượng do Access định nghĩa).

                         Microsoft Dao cung cấp các đối tượng truy cập dữ liệu (Dao_Data Access Object) như các đối tượng TableDef, QueryDef, để định cấu trúc cơ sở dữ liệu và thao tác với dữ liệu trong Visual Basic. Ví dụ các đối tượng Form và Report tương ứng với Form và Report, trong khi các đối tượng TableDef và QueryDef của Dao tương ứng với các Table và Query của cơ sở dữ liệu. Gán giá trị “HC05” cho điều khiển MANV trong Form LYLICHNHANVIEN Forms![LYLICHNHANVIEN].[MANV] = “HC05”.

                        Đối với Form đang hiện hành có thể dùng Me để thay thế cho phần Form![Tên Form] hoặc bỏ haún luoân Me.[MANV]=”HC05”. Gọi phương thức Requery để đọc lại nguồn dữ liệu Form LYLICHNHANVIEN Forms![LYLICHNHANVIEN].ReQuery. Tham chiếu tới các thuộc tính control trong Form, Report Form![tên Form]![tên Control].[tên thuộc tính Control].

                        Tham chiếu tới các control trên SubFormhoặc SubReport Form![teân Form]![teân SubForm].Form![teân Control]. Tham chiếu tới các thuộc tính của SubForm hoặc SubReport Form![tên Form]![tên SubForm].Form![tên thuộc tính]. Tham chiếu tới các thuộc tính của các control trên SubForm hoặc SubReport Form![tên Form]![tên SubForm].Form![tên thuộc tính ].

                        Tạo Form sau và lưu lại với tên DOINGOAITE

                          Set fld = tdf.CreateField(“Tên filed”, [kiểu field], [kichs thước field]) Tdf.Fields.Append fld. Set fld = tdf.CreateFile(“Tên field”, [kiểu field], [kích thước field]) Tdf.Fields.Append fld.