Khởi đầu với Access
Giới thiệu Access
Kể từ cuối những năm 80, Microsoft đã giới thiệu hệ điều hành Windows, đánh dấu bước ngoặt quan trọng trong sự phát triển ứng dụng phần mềm với giao diện người dùng đồ họa (GUI) Bộ phần mềm nổi bật nhất ra mắt cùng thời điểm là Microsoft Office, và từ đó đến nay, nó vẫn giữ vị trí số 1 trên toàn cầu trong lĩnh vực tin học văn phòng.
Ngoài các ứng dụng văn phòng như MS Word, MS Excel và MS PowerPoint, MS Access là phần mềm quản trị cơ sở dữ liệu nổi tiếng, với phiên bản mới nhất là Access 2010 Giáo trình này tập trung vào Access 2000, nhưng các phiên bản từ Access 97 trở về sau có cách sử dụng tương tự Mỗi phiên bản chỉ khác nhau ở một số tính năng đặc biệt và giao diện Học Access 2000 sẽ giúp bạn có kiến thức cần thiết để tiếp thu các phiên bản mới cũng như sử dụng tốt các phiên bản cũ hơn.
Access làm được gì, và những ứng dụng của nó trong thực tế?
Access là một hệ quản trị cơ sở dữ liệu quan hệ (RDMS) lý tưởng cho các bài toán quản lý quy mô vừa và nhỏ Phần mềm này nổi bật với hiệu suất cao và giao diện thân thiện, tương tự như các ứng dụng trong bộ MS Office như MS Word và MS Excel, giúp người dùng dễ dàng làm quen và sử dụng.
Access cung cấp hệ thống công cụ phát triển mạnh mẽ, hỗ trợ các nhà phát triển phần mềm dễ dàng xây dựng các dự án quản lý quy mô vừa và nhỏ Đây là lựa chọn lý tưởng cho những ai muốn học phát triển phần mềm, mang lại cách học nhanh chóng và hiệu quả để giải quyết các bài toán phức tạp.
- Đến đây có thể khẳng định được 2 ứng dụng chính của Access là :
Hệ cơ sở dữ liệu có thể được xây dựng bằng nhiều công cụ khác nhau, trong khi phần phát triển phần mềm có thể sử dụng các ngôn ngữ lập trình như Visual Basic, Visual C, Delphi, và NET để hoàn thiện ứng dụng.
+ Có thể dùng để xây dựng trọn gói những phần mềm quản lý qui mô vừa và nhỏ.
Access 2000 có gì mới so với các phiên bản cũ (Acces97)?
Giao diện sử dụng đã có những cải tiến đáng kể, với các thao tác giảm thiểu và trở nên đơn giản hơn, mang lại trải nghiệm thân thiện cho người dùng.
Công nghệ ADO (ActiveX Data Objects) có khả năng thay thế hoàn toàn DAO (Data Access Objects) trong Access nhờ vào nhiều ưu điểm về cách sử dụng và tối ưu kỹ thuật Chi tiết về công nghệ này sẽ được giới thiệu trong Phần 2 của cuốn giáo trình.
- Ngôn ngữ lập trình VBA được cải tiến, đặc biệt bản MS Access
2000 Developer cung cấp công cụ giúp đóng gói dự án Access, cho phép tạo bộ cài đặt mà không cần cài đặt Access trên máy tính.
Phiên bản mới có khả năng tạo ra các ứng dụng truy cập cơ sở dữ liệu thông qua giao diện web, một tính năng chưa từng có trong các phiên bản trước Mặc dù vậy, tính năng này vẫn còn một số hạn chế và chưa đạt được sức mạnh như các công cụ chuyên nghiệp khác như ASP, PHP, hay NET.
Cách khởi động
Có khởi động Access theo nhiều cách:
- Mở lệnh Start | Programs | Microsoft Access của Window;
Để mở tệp có phần mở rộng MDB, bạn có thể nhấn đúp chuột vào tên tệp có biểu tượng Microsoft Access Sau khi lệnh chạy chương trình Access, màn hình tiếp theo sẽ hiển thị cho phép bạn chọn cách làm việc.
- Chọn Blank Access database để bắt đầu tạo một tệp Access mới (tạo mới tệp);
- Hoặc Access database wizard, page, and project để tạo một CSDL theo mẫu có sẵn (không trình bày trong giáo trình này);
- Hoặc Open an existing file để mở tệp Access đã tồn tại để làm việc tiếp.
Tạo tệp Access mới
Dự án Access (Access project) bao gồm một hoặc nhiều tệp Access được thiết kế để hoàn thành một công việc lớn Trong khuôn khổ giáo trình này, chúng tôi chỉ trình bày các dự án với một tệp duy nhất.
Tệp Access có phần mở rộng *.MDB, và các tệp *.DBE cũng có thể mở nhưng chỉ cho phép thực thi mà không thể chỉnh sửa cấu trúc Tệp Access bao gồm 5 thành phần chính.
- Tables – nơi chứa toàn bộ các bảng dữ liệu;
- Queries – nơi chứa toàn bộ các truy vấn dữ liệu đã được thiết kế;
- Forms – nơi chứa các mẫu giao diện phần mềm;
- Reports – nơi chứa các mẫu báo cáo đã được thiết kế;
- Macro – nơi chứa các Macro lệnh phục vụ dự án;
- Modules – nơi chứa các khai báo, các thư viện chương trình con phục vụ dự án.
Để bắt đầu tạo một tệp mới trong Access, bạn cần chọn mục "Blank Access database" ở cửa sổ mục 2, sau đó nhấn OK Hộp thoại sẽ xuất hiện yêu cầu bạn chọn thư mục lưu trữ và đặt tên cho tệp Access.
Choose the storage location in the "Save in" box, enter the file name in the "File Name" field, and click the "Create" button to save your settings You are now ready to use the Access file you just created.
Môi trường làm việc
Sau khi một tệp Access được mở, môi trường làm việc trên Access xuất hiện với những thành phần như sau:
(1) - Hệ thống thực đơn (menu) và các thanh công cụ (Toolbar)- nơi thực hiện các lệnh khi cần;
Cửa sổ tệp Access bao gồm 7 phần chính: Tables, Queries, Forms, Reports, Pages, Macros và Modules, và chúng ta sẽ tìm hiểu cách làm việc với từng phần này trong các chương tiếp theo.
Mở tệp Access đã tồn tại
Mỗi tệp Access chỉ cần được tạo mới một lần duy nhất và có thể mở lại để làm việc và ghi chép trong các lần sau Để mở một tệp Access đã tồn tại, bạn chỉ cần thực hiện các bước sau đây.
Bước 1: Từ môi trường Access gọi thực đơn: File | Open (hoặc nhấn nút
Open trên thanh công cụ), hộp thoại Open xuất hiện:
Bước 2: Tìm đến tệp Access cần mở trên hộp thoại Open bằng cách:
- Tìm đến thư mục – nơi chứa tệp Access cần mở ở hộp Look in;
Để mở tệp Access, bạn chỉ cần chọn tệp từ danh sách và nhấn nút Open hoặc Enter Sau đó, cửa sổ làm việc của Access sẽ xuất hiện với tệp vừa mở, cho phép bạn tiếp tục công việc của mình.
Thoát khỏi Access
Khi không làm việc với Access, hãy ra lệnh thoát khỏi Access bằng một trong các cách:
- Mở thực đơn File | Exit;
- Nhấn tổ hợp phím nóng Alt + F4;
- Hoặc sử dụng nút Close trên cửa sổ Access đang mở.
Xây dựng cơ sở dữ liệu
Tạo cấu trúc các bảng dữ liệu
CSDL Access là một hệ thống bao gồm các bảng dữ liệu và mối quan hệ giữa chúng, được thiết kế hợp lý nhằm phục vụ cho việc lưu trữ dữ liệu trong các ứng dụng quản lý thông tin.
CSDL quản lý học sinh bao gồm các bảng dữ liệu như HOCSINH, LOP, KHOI, MONHOC và DIEM, được kết nối hợp lý nhằm phục vụ cho việc lưu trữ thông tin trong ứng dụng quản lý học sinh của trường Cấu trúc này được thiết kế trên nền tảng Access, giúp tối ưu hóa quy trình quản lý dữ liệu học sinh.
CSDL quản lý bán hàng bao gồm các bảng dữ liệu như HANG, KHACH, HOADON và HANGBAN, được kết nối hợp lý để hỗ trợ ứng dụng quản lý bán hàng tại cửa hàng Sơ đồ cấu trúc của CSDL này thể hiện sự liên kết chặt chẽ giữa các bảng nhằm tối ưu hóa quy trình quản lý.
CSDL quản lý lương cán bộ bao gồm các bảng PHONGBAN, CHUCVU và CANBO, được kết nối để lưu trữ dữ liệu phục vụ cho ứng dụng quản lý lương của cơ quan Cấu trúc CSDL này đảm bảo tính liên kết và hiệu quả trong việc quản lý thông tin lương cán bộ.
CSDL Quản lý việc nhập-xuất vật tư một cửa hàng Bao gồm các bảng:
VATTU, KHACH, PHIEUNHAP, PHIEUXUAT, VATTU_NHAP, VATTU_XUAT được biểu diễn như sau:
Bảng dữ liệu (Tables) đóng vai trò quan trọng trong cơ sở dữ liệu (CSDL), là nơi lưu trữ dữ liệu tác nghiệp cho ứng dụng Một CSDL có thể chứa nhiều bảng, và việc thiết kế các bảng cần đảm bảo lưu trữ đầy đủ dữ liệu cần thiết, đồng thời giảm thiểu tình trạng dư thừa dữ liệu Dư thừa dữ liệu, hay lưu trữ thông tin không cần thiết, có thể dẫn đến sai lệch dữ liệu và tăng dung lượng không cần thiết Do đó, việc tối ưu hóa dung lượng CSDL là cần thiết để tạo ra môi trường làm việc thuận lợi cho phát triển ứng dụng trong tương lai.
Một bảng dữ liệu trong Access bao gồm các thành phần chính như tên bảng, các trường dữ liệu, trường khoá, tập hợp thuộc tính cần thiết cho mỗi trường và tập hợp các bản ghi.
Mô tả một bảng dữ liệu trong trạng thái Datasheet (nhập, xem, sử dữ liệu):
Mô tả một bảng dữ liệu trong trạng thái Design view (đang thiết kế cấu trúc):
Mỗi bảng trong cơ sở dữ liệu đều có một tên gọi, thường được xác định sau khi cấu trúc bảng được hoàn thành Tuy nhiên, tên bảng cũng có thể được thay đổi dễ dàng thông qua cửa sổ Database, tương tự như việc đổi tên tệp dữ liệu trong Windows Explorer.
Không nên sử dụng dấu cách (Space), các ký tự đặc biệt hoặc chữ tiếng Việt có dấu trong tên bảng.
Mỗi cột dữ liệu trong bảng đại diện cho một trường dữ liệu cụ thể, mỗi trường sẽ có tên và các thuộc tính mô tả như kiểu dữ liệu, trường khóa, độ lớn và định dạng.
Mỗi trường dữ liệu phải được định kiểu dữ liệu Trong Access, trường dữ liệu có thể nhận một trong các kiểu dữ liệu sau:
TT Kiểu dữ liệu Độ lớn Lưu trữ
1 Number Tuỳ thuộc kiểu cụ thể
Số: số thực, số nguyên theo nhiều kiểu
2 Autonumber 4 bytes Số nguyên tự động được đánh số.
3 Text tuỳ thuộc độ dài xâu
4 Yes/No 1 bytes Kiểu logic
5 Date/Time 8 bytes Lưu trữ ngày, giờ
6 Currentcy Sing Lưu trữ dữ liệu kèm ký hiệu tiền tệ
7 Memo Tuỳ thuộc giá trị Kiểu ghi nhớ
8 Hyperlink tuỳ thuộc độ dài xâu
Lưu trữ các siêu liên kết (hyperlink)
9 OLE tuỳ thuộc dữ liệu Âm thanh, hình ảnh, đồ hoạ, …
Không nên sử dụng dấu cách (Space), các ký tự đặc biệt hoặc chữ tiếng Việt có dấu trong tên trường.
Mỗi dòng dữ liệu trong bảng được gọi là một bản ghi, và mỗi bảng có một con trỏ bản ghi để xác định vị trí của bản ghi hiện tại mà người dùng có thể chỉnh sửa Đáng chú ý, bản ghi trắng cuối cùng trong mỗi bảng được gọi là EOF.
Trường khoá trong cơ sở dữ liệu giúp phân biệt giá trị của các bản ghi trong cùng một bảng Nó có thể được thiết lập từ một trường đơn lẻ hoặc từ một tập hợp nhiều trường, được gọi là bộ trường khoá.
(1)- bảng THISINH của CSDL thi tuyển sinh, trường khoá là
SoBaoDanh Vì mỗi thí sinh có thể nhiều trường có giá trị hệt nhau, nhưng
(2)- bảng CANBO trường MaCanBo sẽ là trường khóa vì không thể tồn tại 2 cán bộ nào trong bảng này trùng MaCanBo
Bảng HANGBAN trong CSDL Quản lý bán hàng sử dụng hai trường hangID và hoadonID làm bộ khoá chính Điều này đảm bảo rằng trong một hoá đơn, không có mặt hàng nào được ghi lặp lại hai lần.
1.3 Liên kết các bảng dữ liệu
Liên kết giữa các bảng dữ liệu là một kỹ thuật quan trọng trong thiết kế cơ sở dữ liệu quan hệ, giúp tạo mối liên hệ giữa hai bảng theo thiết kế đã định sẵn Kỹ thuật này đảm bảo việc lưu trữ dữ liệu một cách hiệu quả cho ứng dụng.
Trong Access tồn tại 2 kiểu liên kết: liên kết 1-1 và liên kết 1-n (một- nhiều)
Liên kết 1-1 là: mỗi bản ghi của bảng này sẽ liên kết với duy nhất tới một bản ghi của bảng kia và ngược lại;
Mô tả dữ liệu 2 bảng này như sau:
Liên kết 1-n là mối quan hệ trong cơ sở dữ liệu, trong đó mỗi trường của bảng 1 có thể liên kết với một hoặc nhiều bản ghi của bảng nhiều (n) Ngược lại, mỗi bản ghi của bảng nhiều chỉ liên kết với duy nhất 1 trường của bảng 1.
Có thể tham khảo mỗi cha có thể có nhiều con qua 2 bảng sau:
Hoặc xem theo một kiểu khác:
Mục này cung cấp hướng dẫn chi tiết về cách thiết kế cấu trúc bảng dữ liệu trong CSDL Access Để thực hiện hiệu quả, học viên cần tuân thủ theo thứ tự các bước được liệt kê dưới đây.
Minh hoạ này hướng dẫn cách tạo cấu trúc bảng HANG bao gồm các trường hangID, tenhang, donvi, dongia
Bước 1: Khởi động trình thiết kế cấu trúc bảng ở chế độ Design View Ở thẻ Tables, nhấn nút New, chọn Design View, nhấn OK
Hoặc nhấn trên thẻ Tables Hộp thoại thiết kế cấu trúc một bảng xuất hiện:
Bước 2: Khai báo danh sách tên các trường của bảng: bằng cách gõ danh sách tên các trường lên cột Field Name của cửa sổ thiết kế.
Chú ý : tên trường không nên chứa dấu cách (space), chữ tiếng Việt có dấu.
Sau khi gõ vào danh sách tên các trường của bảng HANG, hộp thoại thiết kế sẽ có dạng:
Bước 3: Khai báo kiểu dữ liệu cho các trường trong bảng bằng cách chọn kiểu dữ liệu tương ứng ở cột Data Type Sau khi hoàn tất việc chọn kiểu dữ liệu, hộp thoại thiết kế sẽ hiển thị theo dạng đã chọn.
Thiết lập thuộc tính LookUp
Việc nhập dữ liệu cho trường tham gia liên kết của bảng nhiều trong cơ sở dữ liệu yêu cầu độ chính xác cao với dữ liệu từ bảng quan hệ 1, đặc biệt khi mã số cần nhớ có thể lên đến hàng trăm hoặc hơn Điều này dễ dẫn đến việc nhập sai mã hoặc nhầm lẫn mã, gây ra rủi ro trong quá trình quản lý dữ liệu Thuộc tính LOOKUP sẽ hỗ trợ phần nào trong việc giảm thiểu khó khăn này khi nhập dữ liệu trên các bảng quan hệ nhiều.
Thuộc tính LOOKUP được thiết lập tại trường tham gia liên kết trên bảng có quan hệ nhiều sang trường tham gia liên kết của bảng có quan hệ 1.
Ví dụ: Với CSDL Quản lý bán hàng thì:
- Trường khachID của bảng HOADON phải thiết lập thuộc tính LOOKUP sang trường khachID của bảng KHACH;
- Trường hangID của bảng HANGBAN phải thiết lập thuộc tính LOOKUP sang trường hangID của bảng HANG;
- Trường hoadonID của bảng HANGBAN phải thiết lập thuộc tính LOOKUP sang trường hoadonID của bảng HOADON.
Để thiết lập thuộc tính LOOKUP cho trường tham gia liên kết từ bảng quan hệ 1 sang bảng quan hệ nhiều trong CSDL quản lý bán hàng, bạn có thể sử dụng trình LookUp Wizard của Access Ví dụ, thuộc tính LOOKUP cho trường khachID của bảng HOADON có thể được thiết lập để liên kết với trường khachID của bảng KHACH.
Bước 1: Mở bảng có trường cần thiết lập LOOKUP ra (bảng HOADON) ở chế độ Design View bằng cách: chọn tên bảng, nhấn nút Design;
Bước 2: Kích hoạt trình LookUp Wizard bằng cách: Tại cột Data Type của trường cần thiết lập thuộc tính LOOKUP (trường khachID), chọn mục
Lookup Wizard từ danh sách thả xuống:
Hộp thoại Lookup Wizard xuất hiện:
Hộp thoại này yêu cầu người dùng xác định nguồn dữ liệu cho danh sách chọn Đối với trường hợp này, danh sách dữ liệu sẽ được lấy từ bảng KHACH, vì vậy bạn cần chọn tùy chọn "I want the lookup column to look up the values in a table or query." Sau đó, hãy nhấn Next để tiếp tục.
Bước 3: Chọn dữ liệu cho danh sách:
Hộp thoại trên xác định bảng nào chứa dữ liệu cần thiết để đưa vào danh sách Trong trường hợp này, dữ liệu được lấy từ bảng KHACH.
View chọn Tables; và chọn bảng KHACH.
Chọn xong nhấn Next, hộp thoại sau xuất hiện:
Hộp thoại này cho phép người dùng chọn giá trị của các trường trong bảng (query) để hiển thị trên danh sách Để thực hiện, hãy sử dụng các nút >, >>, =1,000,000:
Toán tử BETWEEN được sử dụng để lọc các giá trị nằm trong một khoảng nhất định, thường áp dụng để xác định các yêu cầu lớn hơn hoặc bằng một giá trị nhất định và nhỏ hơn hoặc bằng một giá trị khác.
Cú pháp toán tử Between như sau:
Between And
Sử dụng Total Query
Tổng hợp dữ liệu là một phương pháp xử lý thông tin phổ biến, và trong Access, truy vấn (query) là công cụ hiệu quả để thực hiện điều này Một ví dụ điển hình là truy vấn tổng (Total query).
Tất cả yêu cầu có thể được đáp ứng thông qua các truy vấn TOTAL Bài viết dưới đây sẽ hướng dẫn cách tạo truy vấn TOTAL, ví dụ như cách tạo truy vấn tổng hợp bảng Tenchucvu và tổng số cán bộ trong truy vấn thứ hai.
Bước 1: Tạo một select query với đầy đủ các thông tin liên quan bảng tổng hợp:
Bước 2: Tuỳ chọn Total query bằng cách mở thực đơn View | Total hoặc nhấn nút Total trên thanh công cụ;
Bước 3: Thiết lập các tuỳ chọn Total cho các trường một cách phù hợp như sau:
- Vì bài toán yêu cầu tổng hợp thông tin theo từng loại chức vụ, nên
Total của trường Tenchucvu là Group By;
Trường canboID được sử dụng để đếm số lượng cán bộ theo từng chức vụ, vì vậy cần chọn phép tổng hợp là Count Sau khi hoàn thành, bạn có thể thực hiện truy vấn để nhận kết quả.
Ngoài phép Count để đếm, Total query còn cung cấp một số phép tổng hợp khác như:
AVG: tính trung bình cộng;
Max: xác định giá trị lớn nhất;
Min: xác định giá trị nhỏ nhất
Sử dụng Crosstab Query
Trên thực tế còn rất nhiều các yêu cầu tổng hợp khác mà Total query không thể đáp ứng được Nhiều trong số đó như là:
Yêu cầu tổng hợp dữ liệu là các tiêu đề dòng và cột!
Tất cả các yêu cầu trên có thể được đáp ứng bằng cách sử dụng truy vấn Crosstab Trước khi khám phá cách tạo truy vấn Crosstab, chúng ta cần hiểu cấu trúc của nó, được minh họa qua hình ảnh sau.
Row heading là tiêu đề của các dòng trong bảng, chứa các giá trị của các trường được sử dụng làm tiêu chí thống kê Mỗi bảng Crosstab cần có ít nhất một trường để làm Row heading.
Column heading là tiêu đề của các cột trong bảng, chứa giá trị của một trường cụ thể dùng làm tiêu chí thống kê Mỗi Crosstab chỉ có một trường duy nhất được sử dụng làm Column heading.
Value là một vùng dữ liệu tổng hợp, bao gồm các con số, với một trường duy nhất được xác định là Value Trường này có thể thực hiện các phép toán tổng hợp như đếm, tính tổng, tính trung bình cộng, giá trị lớn nhất (max) và giá trị nhỏ nhất (min).
Các bước để tạo một Crosstab query Ví dụ tạo query đưa ra được bảng tổng hợp sau:
Bước 1: Tạo một select query với đầy đủ các trường có liên quan đến phép tổng hợp (không thừa và cũng không thể thiếu một trường nào) như sau:
Bước 2: Ra lệnh chọn kiểu Crostab query bằng cách mở thực đơn
Bước 3: Thiết lập các thuộc tính Total cũng như Crosstab cho các trường phù hợp như sau:
Tên trường Thuộc tính Total Thuộc tính Crosstab
Tenphongban Group By Row Heading
Tenchucvu Group By Column Heading canboID Count Value
Sử dụng Delete Query
Delete Query là một loại Action Query có khả năng thay đổi dữ liệu trong cơ sở dữ liệu (CSDL) Nó được sử dụng để xoá các bản ghi trong CSDL mà thỏa mãn các điều kiện nhất định.
Hướng dẫn dưới đây sẽ giúp bạn tạo một truy vấn Detele để xóa những cán bộ đến tuổi nghỉ hưu khỏi CSDL Quản lý lương cán bộ Khi thực hiện truy vấn này, danh sách cán bộ đến tuổi hưu sẽ bị loại bỏ khỏi bảng cán bộ.
Bước 1: Tạo một Select query như sau:
Bước 2: đổi query hiện hành thành Delete query bằng cách mở thực đơn
Queries | Delete Query Để thi hành việc xoá cán bộ, nhấn nút Run trên thanh công cụ Khi đó một hộp thoại cảnh báo xuất hiện:
Nhấn "Yes" để xác nhận xóa các bản ghi (lưu ý rằng bản ghi đã xóa sẽ không thể phục hồi); nhấn "No" để hủy lệnh Hãy thận trọng trước khi quyết định xóa dữ liệu.
Sử dụng Update Query
Câu lệnh Update query được sử dụng để cập nhật dữ liệu trong một số trường cụ thể của cơ sở dữ liệu (CSDL) Tương tự như câu lệnh Delete query, Update query là một loại câu lệnh hành động, có tác dụng thay đổi nội dung dữ liệu trong CSDL.
Bước 1: Tạo một query và có chứa bảng canbo và chuyển thành Update query bằng cách mở thực đơn Queries | Update query; hộp thoại thiết kế query như sau:
Bước 2: Thiết lập các trường cần cập nhật dữ liệu bằng cách:
- Chọn tên trường cần cập nhầt dữ liệu ở dòng Field;
- Gõ vào biểu thức tính giá trị cho trường đó ở dòng Update To;
- Gõ vào điều kiện để tính toán nếu cần ở dòng Criteria.
Với yêu cầu trên, luongchinh = hesoluong * 290000 cửa sổ thiết kế query sẽ như sau: Để thi hành việc xoá cán bộ, nhấn nút Run trên thanh công cụ.
Khi đó một hộp thoại cảnh báo xuất hiện:
Để cập nhật dữ liệu, hãy nhấn Yes; lưu ý rằng dữ liệu sau khi cập nhật sẽ không thể phục hồi Nếu bạn muốn hủy bỏ lệnh, nhấn No Cần thận trọng trước khi đưa ra quyết định này.
6 Sử dụng Make table Query
Câu lệnh Select và Total trong Access luôn trả về một bảng kết quả với giá trị tức thời, phản ánh dữ liệu mới nhất từ cơ sở dữ liệu tại thời điểm thực hiện Tuy nhiên, khi thực hiện lại câu lệnh này vào thời điểm khác, bảng kết quả có thể không giống như trước Để lưu trữ bảng kết quả của một truy vấn tại một thời điểm cụ thể, người dùng có thể sử dụng câu lệnh MAKE TABLE để chuyển dữ liệu từ truy vấn vào một bảng (Table) nhằm bảo đảm lưu trữ lâu dài.
Các bước tạo một Make table query để lưu trữ kết quả một query ra một bảng dữ liệu được tiến hành theo 2 bước chính:
Bước 1: Tạo một Select query hoặc một Total query đưa ra được bảng kết quả cần lưu trữ;
Bước 2: Ra lệnh tạo Make table query từ query đang thiết kế và thi hành để thu được bảng kết quả như mong muốn.
Giả sử đã tạo được một Select query đưa ra được bảng kết quả như sau:
Bài toán đặt ra là: đưa toàn bộ kết quả của query đang hiển thị ra một bảng mới có tên bangluong Cách làm như sau:
Bước 1: mở select query đã tạo được ở chế độ Design View;
Bước 2: ra lệnh tạo Make table query bằng cách mở thực đơn Queries | Make Table query, hộp thoại Make table xuất hiện:
Hãy nhập vào tên bảng dữ liệu cần lưu vào ô Table Name: Chú ý:
Nếu tên bảng được nhập là mới, Access sẽ tự động tạo bảng mới và sao chép toàn bộ dữ liệu từ truy vấn vào bảng đó.
Khi nhập tên bảng trong Access, nếu tên trùng với bảng đã tồn tại, hệ thống sẽ tự động xoá bảng cũ và thay thế bằng dữ liệu mới Do đó, người dùng cần cân nhắc kỹ lưỡng khi đặt tên cho bảng để tránh mất dữ liệu quan trọng.
Bước 3: Thi hành query để nhận kết quả bằng cách:
- Nếu query đang ở chế độ thiết kế, nhấn nút Run trên thanh công cụ;
- Hoặc nháy đúp chuột lên query cần thực hiện.
Khi đó một hộp thoại cảnh báo việc bạn đang ra lệnh thi hành một query có thể làm thay đổi đến dữ liệu trên CSDL:
Nhấn Yes để tiếp tục hoặc nhấn No để huỷ bỏ lệnh.
Khi bạn thực hiện một truy vấn để lưu dữ liệu vào một bảng trong CSDL, nếu bảng đó đã tồn tại, Access sẽ cảnh báo rằng bảng xxx đã có sẵn và sẽ bị xóa hoàn toàn khi truy vấn được thực hiện Bạn có muốn tiếp tục không?
Nhấn Yes để tiếp tục (tất nhiên bảng dữ liệu đó sẽ bị xoá và thay vào nội dung mới); nhấn No để huỷ bỏ.
Cuối cùng một hộp thoại hỏi một lần cuối xem bạn có đồng ý dán xxx bản ghi vào bảng đã chỉ định hay không?
Nhấn Yes để đồng ý, No để huỷ bỏ Thi hành xong hãy mở bảng vừa tạo được để kiểm tra kết quả.
Thực hiện trên CSDL Quản lý lương cán bộ các yêu cầu:
Bài số 1: Hãy tính và in ra bảng lương của cơ quan bao gồm các thông tin: Hoten, ngaysinh, tenchucvu, tenphongban, luongchinh, phucapcv, dangphi, congdoanphi, thuclinh.
Dangphi = 20,000 với những ai là Đảng viên
Congdoanphi = 5%Luongchinh với những ai đã vào công đoàn
Bài số 2: Hãy đưa ra danh sách các cán bộ là Đảng viên mà chưa vào công đoàn;
Bài số 3: Hãy lọc ra danh sách cán bộ của một phòng ban nào đó, tên phòng ban được nhập từ bàn phím khi query được kích hoạt;
Bài số 4 yêu cầu lọc danh sách cán bộ là Đảng viên có thực lĩnh lớn hơn một số được nhập từ bàn phím khi kích hoạt truy vấn.
Bài số 5: Hãy tạo một danh sách cán bộ dựa trên khoảng năm sinh được nhập từ bàn phím Khi thực hiện truy vấn, Access sẽ yêu cầu người dùng nhập vào khoảng năm sinh cụ thể, từ năm nào đến năm nào Dựa trên thông tin này, truy vấn sẽ lọc ra danh sách các cán bộ phù hợp với điều kiện đã nhập.
Bài số 6 hướng dẫn cách lọc danh sách cán bộ dựa trên tên được nhập từ bàn phím khi kích hoạt truy vấn Khi thực hiện truy vấn, hệ thống sẽ yêu cầu người dùng nhập tên cần xem Sau khi nhập tên (bao gồm cả họ hoặc họ và tên), máy tính sẽ tự động lọc ra danh sách cán bộ phù hợp với điều kiện đã nhập.
Bài số 7: Lọc ra danh sách cán bộ đến tuổi nghỉ hưu, biết rằng điều kiện nghỉ hưu xác định như sau:
Bài số 8: Hãy đưa ra bảng tổng hợp số cán bộ đã vào Đảng hay chưa vào Đảng theo giới tính như sau:
Bài số 9: Hãy đưa ra bảng tổng hợp tổng số cán bộ theo từng loại chức vụ của các phòng ban như sau:
Bài số 10: Đưa ra bảng tổng hợp về chức vụ theo giới tính như sau:
Bài số 11: Đưa ra bảng tổng hợp lương theo từng phòng ban như sau:
Thực hiện trên CSDL Quản lý bán hàng các yêu cầu:
Bài số 12: Tạo query hiển thị chi tiết thông tin từng hàng bán:
Bài số 13: Tạo query đưa ra bảng tổng hợp tổng tiền bán được từng ngày của cửa hàng như sau:
Bài số 14: Tạo query đưa ra bảng tổng hợp tổng số bán và tổng tiền đã bán ra của từng loại mặt hàng như sau:
Bài số 15: Tạo bảng tính tổng tiền từng hoá đơn bán hàng như sau:
Bài số 16: Lập bảng tổng hợp số lượng bán ra từng ngày của từng mặt hàng như sau:
Bài số 17: Lập bảng tổng hợp số lượng mua từng mặt hàng của các khách hàng như sau:
Thiết lập giao diện
Các khái niệm về Forms
Khi sử dụng ứng dụng, người dùng chủ yếu tương tác qua các hộp thoại và cửa sổ, được gọi chung là Form Đối với người dùng, Form chính là giao diện phần mềm, trong khi đối với các nhà phát triển, Form là yếu tố quan trọng cần được thiết kế sao cho tạo cảm giác thoải mái, phù hợp và dễ sử dụng cho người dùng.
Có 2 môi trường dùng tạo Form trong Access:
Sử dụng trình Form Wizard là một phương pháp đơn giản và nhanh chóng để tạo Form, nhưng các Form được tạo ra thường có nhiều hạn chế và không đáp ứng tốt nhu cầu của người dùng.
- Sử dụng trình Form Design View - một công cụ tương đối hoàn chỉnh để tạo ra các form đáp ứng nhiều yêu cầu khác nhau của người sử dụng.
Sử dụng Form Wizard
Form Wizard là một công cụ trong Access, giúp người dùng dễ dàng và nhanh chóng tạo ra các Form để nhập dữ liệu cho các bảng trong cơ sở dữ liệu Bài viết này sẽ hướng dẫn các bước để tạo một Form dùng làm giao diện nhập dữ liệu cho bảng CANBO trong hệ thống quản lý lương cán bộ.
Bước 1: Kích hoạt trình Form Wizard: Ở thẻ Forms, nhấn nút New, chọnForm Wizard, nhấn OK;
Hoặc có thể nhấn đúp chuột lên Shortcut Creat Form by using Form wizard
Bước 2 là bước quan trọng nhất trong việc khai báo thông tin cho form, nơi bạn cần lựa chọn các trường dữ liệu sẽ được nhập Học viên cần cân nhắc kỹ lưỡng để xác định bảng và các trường phù hợp để đảm bảo tính chính xác và hiệu quả của form.
- Chọn bảng - nơi có trường cần đưa lên form để nhập dữ liệu ở hộp Tables/Queries;
-Tiếp theo đưa các trường cần nhập dữ liệu lên form từ danh sách
Available Fields: sang danh sách Selected Fields: bằng các nút lệnh: >, >>,