Input Mask: 999 0000009 Caption: Điện thoại Bảng Hoadon Field Name Data Type Field Properties Mahd Text Field Size: 8 Caption: Mã hóa đơn Caption: Mã khách hàng Caption: Mã nhân viên..
Trang 1(tài liệu lưu hành nội bộ dành cho các học viên)
Biên Soạn : Châu Minh Hoàng Email : minhhoang12061993@gmail.com SĐT : 01265914628
Facebook : chauminhhoang1993@gmail.com
Tháng 7 năm 2016
Trang 2GIÁO TRÌNH ACCESS 2007
Giáo trình này được biên soạn dựa trên giáo trình Access của thầy Đặng Kiên Cường và thầy Trần Minh Hảo, trung tâm Tin học ứng dụng – Đại học Nông Lâm TP HCM cùng một số tài liệu khác
Mọi góp ý, phản hồi xin gửi về email: minhhoang12061993@gmail.com
Chân thành cảm ơn!
Trang 3Còn lại như hình bên
Trang 4Định dạng tiền tệ:
Decimal symbol: dấu chấm Digit grouping symbol: dấu phẩy ,
Biểu tượng ₫ lấy trong Word
2 Vai trò của Access
MS-Access 2007 là ứng dụng trong bộ phần mềm Microsoft Offices Access có khả năng hỗ trợ viết các chương trình quản lý, rất thuận tiện và đơn giản cho những người không chuyên về lập trình
Access rất cần thiết cho những người làm công việc quản lý: giáo viên, nhân viên văn thư, có thể hỗ trợ quản lý thông tin của thư viện, lớp học,…
Trong ngành chăn nuôi nói riêng, am hiểu Access là một lợi thế, có thể ứng dụng Access vào rất nhiều việc như quản lý phòng mạch, quản lý trại chăn nuôi, kiểm soát dịch bệnh,…
3 Giới thiệu cửa sổ làm việc
Nút Office Button
Thanh Navigation Pane
Giao diện Ribbon:
Trang 5
Bài 2:
TABLE
Vai trò của table là lưu trữ thông tin, khác với sheet trong Excel, trong Access không thể tính toán trực tiếp trên table
Mũi tên : Cột – Field
Mũi tên : Dòng – Record
1 Tạo mới Table
Create/Table Design
- Field Name: tên Field, không khoảng trắng, không dấu, ngắn gọn
- Data Type: chọn kiểu dữ liệu phù hợp
Data Type Ý nghĩa
Text Dữ liệu chuỗi (tối đa 255 ký tự)
Memo Đoạn văn bản (tối đa 64000 ký tự)
Trang 6< Chuyển tất cả các ký tự theo sau thành chữ thường VD: 00<LL
Default Value Giá trị mặc định
Validation Rule Giới hạn giá trị nhập Dữ liệu nhập vào sẽ được kiểm tra với điều kiện
này, nếu không thỏa mãn thông báo lỗi sẽ hiện ra
Validation Text Thông báo lỗi
Required Bắt buộc nhập dữ liệu
Allow Zero Length Cho phép chuỗi rỗng
Indexes Có được trùng lặp dữ liệu không?
Number
Field Size Phạm vi số
Byte Số nguyên từ 0 – 255 Integer Số nguyên từ -32768 – 32768 Long Integer Số nguyên từ -2147483648 – 214748647
Decimal Place Số số lẻ cố định
…
Date/Time
Long Date Dạng đầy đủ Medium Date Dạng trung bình Short Date Dạng ngắn gọn
Yes/No
2 Thiết lập mối quan hệ
Để hạn chế việc lưu trữ dư liệu trùng lắp, tốn dung lượng, người ta thường phân chia dữ liệu vào các bảng phù hợp, và liên kết các bảng đó lại
Trong Access có 2 kiểu quan hệ thường gặp:
- Quan hệ One – One: Dữ liệu trong mỗi bảng chỉ xuất hiện 1 lần
- Quan hệ One – Many: Trong bảng One, dữ liệu xuất hiện 1 lần, nhưng trong bảng Many dữ liệu đó có thể xuất hiện nhiều lần VD: Bảng hóa đơn: chứa các thông tin về
đơn hàng bao gồm: ngày giao dịch, mã khách hàng, mã nhân viên, sản phẩm Bảng Khách hàng chứa thông tin về khách hàng bao gồm: Mã khách hàng, tên khách hàng,
địa chỉ Như vậy trong bảng Khách hàng, mỗi Mã khách hàng chỉ xuất hiện 1 lần, trong khi trong bảng Hóa đơn Mã khách hàng đó có thể lặp lại nhiều lần do khách hàng đó giao dịch vào nhiều thời gian khác nhau
Trang 7Các bước tạo quan hệ:
dữ liệu tồn tại trên field khóa ngoại
phải có trên field khóa chính
- Cascade Update Related Fields:
Chỉnh sửa trên khóa chính, khóa ngoại
tự động sửa lại
- Cascade Delete Related Records:
Xóa giá trị trên khóa chính, khóa ngoại
tự động xóa theo
3 Nhập dữ liệu vào Table
Quy tắc: Một trước nhiều sau
Dữ liệu trong “bảng một” nhập trước, “bảng nhiều” nhập sau
Caption: Mã nhân viên
Trang 8Input Mask: (999) 0000009 Caption: Điện thoại
Bảng Hoadon
Field Name Data Type Field Properties Mahd Text Field Size: 8
Caption: Mã hóa đơn
Caption: Mã khách hàng
Caption: Mã nhân viên
Trang 9Ngaylaphd Date/Time Caption: Ngày lập hóa đơn
Bảng Chitiet
Field Name Data Type Field Properties Mahd Text Field Size: 8
Caption: Mã hóa đơn
Masp Number Field Size: Byte
Format: 000 Caption: Mã sản phẩm
Caption: Số lượng Tạo quan hệ:
Nhập dữ liệu:
Trang 12not, cú pháp: not {Điều kiện}
and, cú pháp: {Điều kiện} and {Điều kiện}
or, cú pháp: {Điều kiện} or {Điều kiện}
- Phép so sánh chuỗi: {Giá trị cần so sánh} like {Điều kiện}
Nếu thỏa điều kiện thì trả về True, ngược lại trả về False
Lưu ý: Có thể sử dụng ký tự đại diện để đặt điều kiện
* : Đại diện cho 1 chuỗi ký tự
? : Đại diện cho 1 ký tự
# : Đại diện cho 1 chữ số
- Phép toán between – and:
{Giá trị cần so sánh} between {Giá trị khởi đầu} and {Giá trị kết thúc}
VD: [Ngaylaphd] between #1/1/2# and #31/1/2#
Ý nghĩa: Kiểm tra Ngày lập hóa đơn có nằm trong tháng 1 năm 2002 hay không Lưu ý: Trong biểu thức, tên field nằm trong dấu ngoặc vuông [ ], giá trị ngày tháng năm, nằm trong 2 dấu # #, giá trị chuỗi nằm trong 2 dấu nháy kép “ ”
- Phép toán in:
{Giá trị cần so sánh} in({Giá trị 1}; {Giá trị 2}; …)
b Hàm thông dụng
IIF(), MONTH(), DATEPART(), VAL()
Lưu ý hàm DATEPART({tham số}; {ngày})
Tham số: “d” – lấy ngày, “m” – lấy tháng, “q” – lấy quý, “yyyy” – lấy năm
c Tạo mới một field trên query
Cú pháp: {Tên Field} : {Biểu thức}
VD:
Hoten : Holot & “ ” & Ten
3 Bài toán sắp xếp, lọc dữ liệu
Sắp xếp dữ liệu Sử dụng dòng Sort trên lưới QBE
Trang 13Lọc dữ liệu Sử dụng dòng Criteria trên lưới QBE
Bài tập:
Tạo truy vấn hiện thông tin về các nhân viên Nữ gồm các trường: Mã nhân viên,
Họ và tên, Tuổi Sắp xếp theo tên
4 Bài toán query có thuộc tính
Trang 145 Bài toán Parameter Query
Hiển thị các hóa đơn lập trong tháng X với X nhập từ bàn phím Gồm: Mã hóa đơn, tên khách hàng, giá trị hóa đơn (Số lượng * Đơn giá)
6 Bài toán Query Wizard
Hiển thị các khách hàng ở cùng thành phố
Sử dụng Find Duplicates Query Wizard
Hiển thị nhân viên chưa thực hiện giao dịch nào
Sử dụng Find Unmatched Query Wizard
Cho phép gom nhóm theo 2 tiêu chí để tổng hợp dữ liệu
Bài tập: Cho biết tổng số hóa đơn mà khách hàng đã giao dịch trong năm 2004, tổng trị giá các giao dịch theo từng quý
Lưu ý: Thuộc tính của Crosstab Query – Column Heading
9 Action Query và một số thủ thuật
Make Table Query: cho phép tạo table
Delete Query: cho phép xóa các record theo 1 điều kiện nào đó
Update Query: cho phép chỉnh sửa các record
Append Query: cho phép thêm các bản ghi vào table
Thủ thuật: Sử dụng Macro để ẩn thông báo xác nhận SetWarnings
Trang 153 QS3: Hiển thị các đơn đặt hàng được lập trong tháng 3 năm 2004 Gồm các trường:
Mã hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên khách hàng, sắp xếp theo thứ tự tăng dần của ngày lập hóa đơn
4 QS4: Hiển thị các hóa đơn của nhân viên số 5, và nhân viên số 4 Gồm: Mã hóa đơn, trị giá (Đơn giá * Số lượng)
5 QS5: Hiển thị các hóa đơn được lập trong quý 2 năm 2004 Gồm: Mã hóa đơn, tên khách hàng, tên nhân viên, ngày lập hóa đơn
6 QS6: Hiển thị danh sách nhân viên của công ty, gồm: Họ và tên (Ghép từ Họ lót với Tên), ngày sinh, tuổi đời Sắp xếp theo Tên, nếu trùng tên thì ưu tiên xếp theo Họ lót
7 QS7: Hiển thị danh sách chi tiết về các đơn đặt hàng Gồm các field: mã hóa đơn, tên sản phẩm, số ngày lưu kho, đơn giá, số lượng, thành tiền Biết:
Số ngày lưu kho = Khoảng cách từ ngày lập hóa đơn đến ngày nhận hàng Trừ trường hợp khách hàng chưa nhận hàng thì Số ngày lưu kho = 0
Thành tiền: Nếu số ngày lưu kho lưu kho ít hơn 20 thì giảm 20% trị giá hóa đơn, nếu số ngày lưu kho lớn hơn 40 thì tăng 20% trị giá hóa đơn Còn lại giữ nguyên trị giá Khai báo thuộc tính: “#,##0 $” cho các field Đơn giá, Thành tiền
8 QS8: Cho biết các hóa đơn chưa giao hàng Gồm: Mã hóa đơn, tên khách hàng, địa chỉ khách hàng
9 QS9: Cho biết nhân viên có tuổi đời cao nhất
10 QS10: Cho biết khách hàng chưa thực hiện giao dịch nào
11 QS11: Hiển thị thông tin tra cứu về nhân viên Biết từ khóa được nhập từ bàn phím
VD: nhập từ bàn phím từ “nguyễn” thì sẽ trả về kết quả tất cả các nhân viên có từ
“nguyễn” trong họ tên
12 QS12: Cho biết tổng trị giá các giao dịch của 6 tháng đầu năm và 6 tháng cuối năm
2004
13 QS13: Cho biết trị giá mỗi hóa đơn mà khách hàng đã đặt mua Gồm tên khách
hàng, trị giá
14 QS14: Cho biết tổng số hóa đơn và tổng trị giá mà mỗi nhân viên đã giao dịch
trong 6 tháng đầu năm 2004
15 QS15: Cho biết tổng trị giá của các hóa đơn của mỗi khách hàng điều kiện trị giá
hóa đơn lớn hơn 300000
16 QS16: Hiển thị các khách hàng có tổng giao dịch lớn hơn 5000000
17 QS17: Cho biết tổng số tiền mua hàng của mỗi khách hàng trong mỗi tháng của
năm 2004
18 QS18: Cho biết tổng số tiền giao dịch trong từng quý của từng khách hàng và cho
biết tổng giá trị giao dịch trong năm 2004
Lưu ý về thuộc tính Column Heading
19 QS19: Thiết kế query cho biết tổng trị giá thu được trong từng quý năm 2004 của
mỗi khách hàng Đồng thời cho biết tổng số tiền thu được và tổng số hóa đơn đã đặt trong năm
20 QS20: Hiện thị tiền thưởng cuối năm Gồm các trường: họ và tên, tuổi đời, năm
kinh nghiệm, tiền thưởng Biết:
Trang 17Giới tính Năm kinh nghiệm Tuổi đời Tiền thưởng
>= 30
2.000.000 2.500.000
>= 15 >= 40
>= 50
4.000.000 5.000.000
>= 30
2.000.000 2.500.000
>= 10 >= 40
>= 50
4.000.000 5.000.000
Trang 18- Form có nguồn: Dùng để cập nhật dữ liệu
- Form không có nguồn: Dùng làm giao diện người dùng
Cửa sổ làm việc: (Chế độ Design)
Trang 19Một số thuộc tính quan trọng:
Tab Format:
- Caption: Tiêu đề form khi chuyển sang chế độ Form View
- Scroll Bars: Thanh cuộn
- Record Selectors: Ký hiệu xác định record
- Navigation Buttons: Thanh di chuyển giữa các record
- Auto Resize: Tự động điều chỉnh kích thước khi mở Form
- Auto Center: Tự động căn chính giữa màn hình khi mở Form
Tab Data:
- Record Source: Nguồn dữ liệu của Form
Tab Event: Chứa các sự kiện
Tab Other:
- Pop Up: Hiển thị Form lên trên cùng, bắt buộc tương tác với Form
Các đối tượng trong thiết kế form:
Textbox, Label, Combobox, ListBox, Option Group, Command Button
Giới thiệu về Property Sheet
2 Bài tập căn bản
Thiết kế các form sau:
Trang 20Lưu ý: công thức truyền dữ liệu từ combobox/listbox:
=[Tên combobox/listbox].column(Chỉ số cột)
Trang 223 Main-Sub Form
Quy trình thiết kế:
- Xác định dữ liệu nguồn của Main, Sub form
- Xác định field dùng để liên kết
- Thiết kế Main, Sub Lưu ý đặt tên các đối tượng liên kết
Lưu ý: Thuộc tính Link Master Field, Link Child Field
Bài tập:
Trang 24Bài 2:
REPORT
1 Giới thiệu
Bố cục:
Trang 273 Tính năng trộn thƣ
Report Label Wizard