Tổng quan về ngôn ngữ VBA; Cơ bản về ngôn ngữ lập trình VBA; Lập trình tạo các Macro hỗ trợ cho các công việc xử lý trên bảng tính bằng phần mềm Microsoft Excel; Lập trình tạo các Macro hỗ trợ cho các công việc soạn thảo văn bản bằng phần mềm Microsoft word;... Mời các bạn cùng tham khảo!
UỶ BAN NHÂN DÂN TỈNH ĐỒNG THÁP TRƯỜNG CAO ĐẲNG NGHỀ ĐỒNG THÁP GIÁO TRÌNH MƠ ĐUN: QUẢN TRỊ CSDL ACCESS NGÀNH, NGHỀ: CƠNG NGHỆ THƠNG TIN (UDPM) TRÌNH ĐỘ: CAO ĐẲNG (Ban hành kèm theo Quyết định Số: /QĐ-CĐCĐ-ĐT ngày tháng Hiệu trưởng Trường Cao đẳng nghề Đồng Tháp) Đồng Tháp, năm 2017 năm 2017 TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm Bài mở đầu: Tổng quan ngôn ngữ VBA -*****1 Giới thiệu VBA - Ngơn ngữ lập trình VBA ( Visual basic for Application ) ngơn ngữ lập trình dựa tảng Visual Basic, Microsoft lựa chọn cơng cụ tích hợp sản phẩm mình, ví dụ người sử dụng sử dụng VBA Microsoft Word, Microsoft Excel, Microsoft Access, Microsoft Powerpoint, Microsoft Outlook, ngồi cịn VBA Autocad - Ngôn ngữ hỗ trợ sử dụng (nhưng không tạo ra), DLL ActiveX (COM), phiên sau tăng thêm hỗ trợ dành cho module, cho phép sử dụng cơng nghệ lập trình hướng đối tượng VBA chương trình hữu ích, phiên gần đây, bao gồm mơi trường phát triển tổng hợp (IDE) - Với VBA, thao tác thực cách tự động theo ý muốn người sử dụng - Cũng giống ngôn ngữ lập trình khác, ngơn ngữ VBA có số quy định cách khái báo biến, cấu trúc lệnh, cách khai báo thủ tục, hàm - Các cú pháp tương đương Visual Basic 6.0 + Thêm số cú pháp khác - Không phân biệt hoa/thường Đặc điểm VBA - VBA công cụ lập trình cho phép phát triển nhanh phần mềm tích hợp vào ứng dụng Về thực chất, VBA xây dựng dựa kiến trúc COM1, người dùng sử dụng thành phần sẵn có ứng dụng việc xây dựng chương trình với VBA - Một dự án xây dựng VBA dựa ứng dụng phụ thuộc chặt chẽ vào ứng dụng đó, theo mặc định, dự án VBA hoạt động sử dụng thành phần ứng dụng Điều có nghĩa ta khó chuyển đổi dự án VBA từ loại ứng dụng sang ứng dụng khác tạo ứng dụng chạy độc lập - Sự khác biệt VBA ứng dụng (ví dụ VBA AutoCAD VBA Excel) cách thức sử dụng thành phần (đối tượng) ứng dụng Cho nên xây dựng ứng dụng VBA, việc phải tìm hiểu mơ hình đối tượng ứng dụng cách sử dụng chúng - Xây dựng dự án VBA, cách tổng quát, người dùng cần nắm vững hai phần: + Ngôn ngữ lập trình Visual Basic giao diện lập trình VBA IDE + Mơ hình đối tượng ứng dụng cách sử dụng chúng Cấu trúc dự án VBA -Khi nói đến thành phần tạo nên dự án VBA cấu trúc nó, tổng quát, sau: + Mô-đun chuẩn (Module): nơi chứa mã lệnh khai báo, chương trìnhcon (hàm thủ tục) Việc tạo mô-đun chuẩn thường theo khối chức mà người thiết kế hệ thống đặt + Mô-đun lớp (Class Module): nơi chứa định nghĩa cho lớp dự án + Userform: giao diện dạng hộp thoại giúp cho việc giao tiếp người sử dụng chương trình thuận tiện Thơng thường người ta sử dụng Userform để nhập số liệu, xuất kết chương trình Trong số dự án, việc nhập số liệu biểu diễn kết thực trực tiếp ứng dụng nền, không cần sử dụng Userform -Những thành phần khung để người dùng xây dựng chương trình lên đó, ví dụ viết mã lệnh hay thiết kế giao diện cho chương trình Mơ-đun lớp UserForm hai thành phần xuất không thùy thuộc vào dự án tất thành phần sử dụng dự án hiển thị giao diện VBA IDE Cấu trúc dự án thể vba IDE - Tuy nhiên, xây dựng chương trình (viết mã lệnh) cụ thể khái niệm cấu trúc chương trình bố trí, xếp câu lệnh chương trình Như khái niệm cấu trúc phụ thuộc vào loại ngơn ngữ lập trình Đối với ngơn ngữ lập trình Visual Basic (VB), cấu trúc tập trung vào chương trình (hàm thủ tục) khơng có quy định cấu trúc chương trình Chi tiết cấu trúc chương trình đề cập đến phần sau Môi trường phát triển tích hợp VBA IDE - Trong cơng cụ lập trình ứng dụng nền, ln có mơi trường lập trình nhằm hỗ trợ người dùng xây dựng, thử nghiệm hồn thiện chương trình Trong AutoCAD Microsoft Office, sử dụng VBA để lập trình, mơi trường lập trình gọi Mơi trường phát triển tích hợp (viết tắt VBA IDE) Trên tất ứng dụng nền, VBA IDE có cấu trúc hoạt động tương đương với giao diện cách gọi giao diện VBA IDE từ ứng dụng sau: + Phím tắt: từ giao diện ứng dụng nền, nhấn tổ hợp phím Alt+F11 + Menu: * WORD, EXCEL, PowerPoint, Outlook, Access 2003: Tool/Macro/Security (Security Level: Chọn Medium hay Low) * WORD, EXCEL, PowerPoint, Outlook, Access 2007: Show Developer tab in Ribbon Giao diện VBA IDE 1/Thanh trình đơn (Menu bar): chứa tất lựa chọn cần thiết để thao tác với VBA IDE 2/Cửa sổ dự án (Project Explorer Window): liệt kê dạng phân cấp dự án mở VBA IDE thành phần có dự án tài liệu thành phần, mô-đun chứa chương trình con, mơ-đun lớp, cửa sổ người dùng tạo 3/Cửa sổ mã lệnh (Code Window): thành phần liệt kê cửa sổ dự án có cửa sổ mã lệnh riêng, chứa mã lệnh cho thành phần Người dùng hiệu chỉnh mã lệnh, tạo mã lệnh cửa sổ mã lệnh 4/Cửa sổ tra cứu đối tượng (Object Browser Window): hiển thị lớp, phương thức, thuộc tính, kiện số có thư viện đối tượng dự án mà người dùng vừa tạo Ta sử dụng cửa sổ để tìm kiếm, tra cứu tất đối tượng mà ta vừa tạo đối tượng chương trình khác 5/ Cửa sổ đối tượng trực quan (Visual Object Window): người dùng tạo đối tượng trực quan cửa sổ cho phép người dùng thao tác điều khiển cách dễ dàng thuận tiện 6/Hộp công cụ chứa điều khiển (Tool Box): chứa cơng cụ giúp người dùng chèn điều khiển vào cửa sổ người dùng (UserForm) 7/Cửa sổ thuộc tính (Properties Window): cửa sổ liệt kê tất thuộc tính đối tượng, qua người dùng tham khảo thay đổi thuộc tính cần màu chữ, tên đối tượng… Bài 1: Cơ ngôn ngữ lập trình VBA -*****1 Những qui định cú pháp Cú pháp hiểu một tập hợp bao gồm quy tắc, luật lệ trật tự hình thức viết câu lệnh hay cấu trúc lệnh Trong ngơn ngữ lập trình Visual Basic (VB), ngơn ngữ lập trình khác, có quy định cú pháp cho việc viết mã lệnh người lập trình cần phải tuân theo quy tắc để trình biên dịch dịch mã lệnh mà không phát sinh lỗi Sau quy định cú pháp VB: + Các câu lệnh phải dòng riêng biệt Nếu có nhiều lệnh dịng lệnh ngăn cách dấu hai chấm ( : ) Nếu dòng lệnh dài, muốn ngắt lệnh thành hai dịng sử dựng dấu cách dấu gạch ( _ ) + Nếu muốn chèn thêm ghi chú, phải bắt đầu dịng thích dấu nháy đơn ( ‘ ) + Qui ước đặt tên: phải bắt đầu kí tự kiểu chữ thơng thường; không chứa dấu chấm, dấu cách hay ký tự đặc biệt khác; khơng q 255 kí tự; khơng trùng với từ khố; biến có phạm vi khơng đặt tên trùng Các trợ giúp cú pháp trình viết mã lệnh -Các quy tắc cú pháp thường khó nhớ người học lập trình hay sử dụng ngơn ngữ lập trình mới, cho nên, để thuận tiện cho người lập trình, VBA IDE cung cấp tính tự động phát lỗi cú pháp trình viết mã lệnh Tuy nhiên việc kiểm tra tự động gây khó chịu cho lập trình viên chuyên nghiệp, người mắc lỗi cú pháp lập trình, chức hoạt động kích hoạt, cách chọn trình đơn Tools \ Options \ Editor \ Code Settings Bật /Tắt trợ giúp phát lỗi cú pháp VBA IDE -Ý nghĩa hai tùy chọn sau: +Tự động kiểm tra lỗi cú pháp (Auto Systax Check): Tùy chọn cho phép VBA IDE tự động phát lỗi cú pháp sau người dùng kết thúc dòng lệnh (xuống dòng mới), hộp thoại (như hình đây) thơng báo vị trí gây lỗi nguyên nhân gây lỗi Nếu người dùng bỏ qua khơng sửa dịng lệnh có lỗi đánh dấu VBA IDE tự động kiểm tra lỗi cú pháp thông báo cho người dùng +Kiểm tra biến (Require Variable Declaration): Trong VB, người dùng sử dụng biến mà không cần khai báo Trong trường hợp biến khởi tạo nhận giá trị mặc định Tuy nhiên, lạm dụng điều này, làm cho chương trình khó quản lý dễ nhầm lẫn, VBA IDE cung cấp tùy chọn phép người dùng thiết lập tính kiểm sốt q trình khai báo biến Khi tùy chọn kích hoạt, tất biến phải khai báo trước sử dụng VBA IDE tự động thêm vào đầu mơ-đun dịng lệnh “Option Explicit” VBA IDE tự động thông báo lỗi biến sử dụng mà chưa khai báo Tính gợi nhớ tự hoàn thiện mã lệnh - Mã lệnh, thông thường tập hợp bao gồm từ khóa, câu lệnh, tên biến hay tốn tử xếp theo trật tự định Tên thành phần khó nhớ xác dài, VBA IDE đưa tính cách hiển thị thành phần phù hợp với vị trí dịng lệnh soạn thảo danh sách tự động điền vàochương trình theo lựa chọn người dùng (bấm phím Tab) Để kích hoạt tính này, VBAIDE, chọn trình đơn Tools \ Options \ Editor Bật / tắt trợ giúp hoàn thiện mã lệnh tự động VBA IDE -Ý nghĩa tùy chọn sau: + Tự động hiển thị danh sách thành phần đối tượng (Auto List Member): Với tùy chọn này, đối tượng ứng dụng hay chương trình gọi để sử dụng danh sách thành phần (bao gồm phương thức thuộc tính) tự động hiển thị để người dùng chọn, sau bấm phím Tab, tên thành phần tự động điền vào vị trí thích hợp dịng lệnh Danh sách thành phần tự động hiển thị + Tự động hiển thị cú pháp cho chương trình (Auto Quick Info): Với tùy chọn này, VBA IDE hiển thị thông tin tham số hàm hay thủ tục (đã xây dựng từ trước) người dùng sử dụng Các thơng tin bao gồm tên tham số với kiểu Tự động hiển thị thơng tin tham số chương trình + Tự động hiển thị giá trị biến (Auto Data Tips): Với tùy chọn này, chế độ gỡ rối (Break mode), giá trị biến (được gán trình chạy chương trình) hiển thị người dùng đặt chuột vị trí biến - Ngồi ra, tính trợ giúp chưa kích hoạt, q trình viết mã lệnh, người dùng kích hoạt tạm thời chúng cách nhấn tổ hợp phím Ctrl + Space Cần ý rằng, danh sách trợ giúp ra, người dùng sử dụng chuột phím mũi tên để lựa chọn mục cần sử dụng danh sách bấm phím Tab để xác nhận Từ khoá VBA -Từ khố tập hợp từ cấu thành ngơn ngữ lập trình Mỗi ngơn ngữ lập trình có từ khoá riêng, danh sách từ khố ngơn ngữ lập trình VB: As Binary ByRef ByVal Date Else Empty Error False For Friend Get Input Is Len Let Lock Me Mid New Next Nothing Null On Option Optional ParamArray Print Private Property Public Resume Seek Set Static Step String Then Time To True WithEvents - Các từ khóa từ dùng riêng cho chức khác ngôn ngữ lập trình, ví dụ từ khóa “Private” hạn chế phạm vi sử dụng biến hay chương trình Do việc đặt tên (biến, chương trình con) bắt buộc phải khác so với từ khóa, khơng phát sinh lỗi cú pháp Cột Macro Names xuất hình thiết kế Macro -Khi cột Macro Name xuất ta xác định tên macro cột Macro Name Tên macro đặt lưu macro lại tên maro nhóm Khi có pháp để gọi macro thi hành là: . Vi dụ: M_Motable.hosonv Trong M_Motable tên macro nhóm, hosonv tên macro Gắn kết Macro theo biến cố Ms Acces cung cấp số hành động để tạo macro, hành động thực tác vụ CSDL tuỳ thuộc vào tham số hành động 6.1 Open table: Mở bảng liệu Table name: Tên bảng cần mở View: Chọn dạng thể bảng (Datasheet/ Design/ Print Preview Data mode: Add: Dùng để nhập liệu Edit: Dùng để thêm, xoá, sửa liệu bảng Read Only: Mở bảng để xem liệu 6.2 Open Query: Mở truy vấn Query name: Tên truy vấn cần mở View: Chọn dạng thể bảng (Datasheet/ Design/ Print Preview Data mode: Add: Dùng để nhập liệu Edit: Dùng để thêm, xoá, sửa liệu bảng Read Only: Mở bảng để xem liệu 6.3 Open Form: Mở biểu mẫu Form name: Tên biểu mẫu View: Chọn dạng thể ( Form/ Design/ Print preview/ Datasheet) Filter name: Tên Query lọc liệu để hiển thị form Where condition: Điều kiện lọc liệu hiển thị form Data mode: Add : Dùng để nhập liệu Edit : Dùng để thêm, xoá, sửa liệu bảng Read Only : Mở bảng để xem liệu Window mode: Normal : Dạng cửa sổ form bình thường Hidden : Dạng cửa sổ form ẩn Icon : Cửa sổ form thu nhỏ thành biểu tượng Dialog : Dạng hộp thoại 6.4 Open Report: Mở báo cáo Report name: Tên báo cáo View: Chọn kiểu in Print preview:In hình Design: Dạng thiết kế báo cáo Print: In máy in Filter name: Tên Query lọc liệu để hiển thị Report Where condition: Điều kiện lọc liệu hiển thị Report 6.5 Run macro: Thực tập lệnh Macro name: Tên macro cần thực Repeat count: Số lần thực macro lặp lại Repeat Expression: Biểu thức điều kiện để lặp lại thực macro Macro dừng khi biểu thức điều kiện nhận giá trị False 6.6 Open module: Mở cửa sổ soạn thảo thủ tục module Module name: Tên module chứa thủ tục cần mở Procedure name: Tên thủ tục mở 6.7 Run code: Gọi thực hàm Access Basic Function name: Tên hàm cần thực đối số hàm 6.8 Run App: Cho thực ứng dụng môi trường Windows Command line: đường dẫn đến tập tin ứng dụng 6.9 Run SQL: Cho thực câu lệnh SQL SQL Statement: Nội dung câu lệnh SQL 6.10 Maximize: Cực đại cửa sổ thời 6.11Minimize:Cực tiểu cửa sổ thời thành biểu tượng 6.1Restore: Phục hồi cửa sổ trở kích thước cũ 6.12 Move size: Di chuyển thay đổi kích thước cửa sổ thời Right: Khoảng cách từ góc trái cửa sổ đến cạnh trái cửa sổ chứa Down: Khoảng cách từ góc trái cửa sổ đến đến cạnh cửa sổ chứa Width: Chiều rộng cửa sổ Height: Chiều cao cửa sổ 6.13 Stop Macro: Dừng macro thực 6.14 Beep: Phát tiếng kêu bíp 6.15 Hourglass: Đổi dạng trỏ thành đồng hồ cát macro chạy Hourglass On: Yes/No (Đổi/ Khơng đổi) 6.16 Close: Đóng cửa sổ hoạt động Object Type: Loại cửa sổ đối tượng cần đóng Table, Query, form, Report, Macro Module Object name: Tên đối tượng cần đóng 6.17 Quit: Thốt khỏi MS Access trở Windows Option Prompt: Hiển thị hộp thoại có lưu trữ khơng? Nếu đối tượng có thay đổi Save all: Lưu trữ tất đối tượng Exit: Thốt mà khơng cần lưu trữ 6.18 Print: In đối tượng thời Print Range: Phạm vi cần in ấn All: In tất đối tượng Selection: In phần trang chọn Pages: In trang chọn Page from: Trang bắt đầu in Page to: Trang kết thúc in Print Quality: Chất lượng in Copies: Số cần in 6.19 Collate Copies: Có xếp thứ tự in teo trang 6.20 Msg Box: Hiển thị hộp thông báo Message: Câu thông báo cần hiển thị Beep: Yes/ No: Có/ Khơng phát tiếng Bíp hiển thị hộp thơng báo Type: Loại hộp thông báo Title: Tiêu đề hộp thông báo 21 CancelEvent: Huỷ bỏ kiện thực 6.22 Requery: Cập nhật liệu cho đối tượng hoạt động cách cập nhật lại liệu nguồn đối tượng Control name: Tên đối tượng cần cập nhật liệu (Nếu không cập nhật lại liệu nguồn đối tượng hoạt động) 6.23 Select Object: Chọn đối tượng CSDL Object Type: loại đối tượng cần chọn Object name: Tên đối tượng cần chọn In Database Window: (Yes/No) Xác định MS access có chọn đối tượng cửa sổ CSDL không, mặc định No 6.24 Set value: Gán giá trị cho trường, điều khiển, thc tính Form Report Item:Tên trường, đối tượng hay thuộc tính muốn gán giá trị Expression: Biểu thức cần gán giá trị cho Item Chú ý: Nếu tên trường, tên đối tượng, tên thuộc tính Form Report khác phải mơ tả đầy đủ Trong Form khác: [Forms]![Tên Form]![Tên trường/Tên đối tượng] Trong Report khác: [Reports]![Tên Report]![Tên trường/Tên đối tượng] Đối với thuộc tính [Forms/Reports]![Tên Form/Tên Report]![Tên trường].[Tên thuộc tính] 6.25 Add menu: Tạo thêm Drop Down Menu vào menu bar cho form Report Menu name: Tên Drop Down Menu muốn thêm vào menu bar Menu macro name: Tên macro chứa lệnh việc tạo menu Status bar: Thông báo trạng thái chọn menu 6.26 Apply Filter: Lọc (Truy vấn) liệu xử lý Table, Form, Report Filter name: Tên truy vấn lọc liệu Where condition: Điều kiện lọc liệu 6.27 FindRecord: Tìm ghi nằm phạm vi thoả mãn điêu kiện Find What: Nội dung liệu cần tìm giá trị biểu thức, biểu thức bắt đầu dấu "=" Where: Qui định cách so sánh giá trị cần tìm với giá trị trường Any part of field: Một phần trường Match Whole field: Giá trị cần tìm giá trị trường Start of field: Giá trị cần tìm phần đầu trường Match Case: Yes/No: Có/Khơng phân biệt chữ in hoa chữ in thường Direction: Quy định hướng tìm All: Tìm tồn Up: Tìm từ ghi thời lên phía Down: Tìm từ ghi thời lên phía Search As Formatted: Qui định việc tìm có dựa liệu sau định dạng trường hay khơng? Search in: Qui định việc tìm trường thời tất trường Current Field: Tìm trường thời All Fields: Tìm tất trường Find First: Yes/No: Qui định tìm từ ghi hay tìm từ ghi thời 6.28 Findnext:Tìm ghi thoả mãn điều kiện tìm kiếm lệnh FindRecord 6.29 CopyObject: Sao chép đối tượng tập tin CSDL thời thành đối tượng khác tập tin CSDL khác MS Access Destionation Database: Tên tập tin CSDL đích New name: Tên đối tượng sau chép Source Object Type: Kiểu đối tượng nguồn Source Object Name: Tên đối tượng nguồn 6.30 DeleteObject: Xoá đối tượng tập tin CSDL thời Object Type: Kiểu đối tượng Object Name: Tên đối tượng Làm việc với Form điều khiển Quy tắc chung gọi đối tượng Đối với form : Forms![Tên form]![Tên đối tượng] Đối với Report : Reports![Tên Report]![Tên đối tượng] 7.1 Các thuộc tính đối tượng Muốn gắn nút lệnh biểu mẫu báo cáo với Macro vào nút lệnh ta thực hiện: Click chuột phải vào nút lệnh, chọn Properties gắn Macro vào hành động tương ứng On Enter: Macro thi hành nhấn Enter vào bên đối tượng On Exit: Macro thi hành thoát khỏis đối tượng On Got Focus: Thiết lập nhận biết có di chuyển trỏ đến form trường form mở On Click: Macro thi hành click vào đối tượng On Dbl Click: Macro thi hành Double click vào đối tượng On Mouse Down: Macro thi hành ấn giữ chuột đối tượng On Mouse Move: Macro thi hành di chuyển chuột khỏi đối tượng On Mouse Up: Macro thi hành nhã chuột khỏi đối tượng On Key Down: Macro thi hành ấn giữ phím đối tượng On Key Press: Macro thi hành ấn phím đối tượng On Key Up: Macro thi hành nhã phím đối tượng 7.2 Macro tự động thực sau mở tập tin CSDL -Chúng ta tạo Macro mà mở tập tin CSDL Macro tự động thực -Để tạo Macro tự động thực ta tiến hành thao tác sau: -Tạo macro -Lưu trữ Macro với tên AutoExec Thực hành Tạo CSDL có tên “ Quanlykhachhang.mdb “, 1/ Tạo Table sau đây: a/ DMKH (Danh mục khách hàng ) Field Name Description Mã khách hàng MAKH Data type Field Properties Text Field Size: 10 Required:Yes Indexed: Yes(No Duplicates) Field Size: 50 Field Size: 50 TENKH DIACHIKH Tên khách hàng Text Địa khách Text hàng DONVIKH Đơn vị khách hàng Text b/ DMKHO( Danh mục kho) Field Name MAKHO TENKHO DIACHIKHO c/ HOADON( Hóa đơn) Field Name SOHD NGAYHD LOAIHD Description Data type Field Properties Mã kho Text Tên kho Địa kho Text Text Field Size: 10 Required:Yes Indexed: Yes(No Duplicates) Field Size: 50 Field Size: 50 Description Data type Số hóa đơn Text Ngày hóa Date/Time đơn Loại hóa đơn Text MAKHO Mã khách Text hàng Mã kho Text TRIGIA Trị Gía MAKH DIENGIAIHD Diễn giaỉ Field Size: 50 Number Text Field Properties Field Size: Format: dd/mm/yy Field Size: Display Control: Combo box Row Source Type: Value list Row Source: “Nhập”,”Xuất” Field Size: 10 Indexed: Yes(Duplicates OK) Field Size: 10 Indexed: Yes(Duplicates OK) Field Size: Double Format: Standard Decimal Places: Field Size: 50 2/ Nhập liệu vào Table sau: 3/ Tạo Form theo sau: a/ (hd)Tạo Form theo mẫu lưu với tên “FormQLKH” Trong Form có Tab Control Nhap, Xuat HD: -Tạo subform nhập xuất -Tạo main form , sau Tab Control -Liên kết sub main (Makh) b/(hd) Tạo Form để lọc theo tên lưu với tên “FormLocTen” u cầu: Khi chọn nút có chữ B hiển thị tên khách hàng đầu chữ B Tươn tự cho nút C, D, H, L, M, N, T Nút lệnh Stop có tác dụn đón Form lại HD: - Tạo Form gồm phần: + Tạo thông tin : makh, tenkh, diachikh +Tạo Toggle button lọc macro: Ví dụ : lọc tên bất đầu chữ B điều kiện : Left( [DMKH]![TENKH],1)=‖B‖ -Liên kết Option Group \chuột phải chọn properties \ on click : chọn tên macro vừa tạo c/ (hd)Tạo Form theo mẫu lưu với tên “FormPhieuXuatNhap” Theo yêu cầu sau: - LOAIHD : combo box - Phiếu Xuất Hàng, Tổng số lượng, Tổng số thành tiền : text box - Khi người dùng click combo box LOAIHD: “xuất” , hình bên dười ngược lại click vào “nhập” Hd: -Tạo subform gồm: makh,tenkh,diachikh, trigia, loaihd, Tổng số lượng(count)Tổng số thành tiền(sum) : text box -Tạo mainform : LOAIHD : combo box - Liên kết main sub : loaihd -Tiêu đề: textbox -Tạo macro cho tiêu đề -Liên kết command boxvà tiêu đề Macro: d/(hd) Tạo Form theo mẫu lưu với tên “FormLoc_makho_loai” Yêu cầu: Khi chọn command “X” Option button “kh10” xuất hình D: -Tạo form gồm: + Tạo thông tin form: makh, loaihd, trigia, makho + Tạo nút: *FormA,B : Option Group , với tên a,b *Tạo nút N, X : toggle button, với tên NN, XK *Tạo nút kh01, kh10 : Option button, với tên k1,k10ppp *Tạo macro cho nút : *Liên kết nút với form: chuột phải lên form a,b \properties e/ Tạo Form DANH MỤC KHO HD: - Tạo form Dmkho hình - Tạo macro cho nút sau: Macro name toi lui Condition [MAKHO]Dlast(“[MAK GoToRecord HO]”,”[DMKHO]”) [MAKHO]=Dlast(“[MAKH MsgBox O]”,”[DMKHO]”) [MAKHO]Dfirst(“[MAKH O]”,”[DMKHO]”) Action Ảguments Action GoToRecord Next Previous [MAKHO]=Dfirst(“[MAKH O]”,”[DMKHO]”) dau cuoi moi dong MsgBox GoToRecord GoToRecord GoToRecord RunCommand xoa MsgBox(“Bạn có muốn xố RunCommand liệu kg?”,32+4+256)=6 - Liên kết command với macro :on click Ví dụ: f/ Tạo Form Giao Diện sau Record : First Record: Last Record: New Command : Close Command: DeleteRecord HD: - Tạo Form giao diện - Tạo macro - Liên kết: on click Kiểm tra ... -3 .4 028 23E38 đến -1 .40 129 8E-45 từ 1.40 129 8E-45 đến 3.4 028 23E38 -1 .7976931348 623 1E308 đến -4 .9406564584 124 7E- 324 từ 4.9406564584 124 7E- 324 đến 1.7976931348 623 2E308 Từ - 922 ,337 ,20 3,685,477.5808 đến 922 ,337 ,20 3,685,477.5807... giá trị kiểu logic V = True „ Gán biến V với liệu kiểu thời gian V = #01/06 /20 07# -Sử dụng hàm VarType(vVariant) cho ta mã kiểu liệu lưu trữ biến Variant Giá trị VarType 0-vbEmpty 1-vbNull 2- vbInteger... / (2 * Me.a.Text), 2) Else Me.kq.Text = "x1=" & Round((-Val(Me.b.Text) + Sqr(delta)) / (2 * Me.a.Text), 2) & "x2=" & Round((-Val(Me.b.Text) - Sqr(delta)) / (2 * Me.a.Text), 2) End If End If End