Bai 1. TỔNG QUAN VỀ ACCESS
2007
1.1. KHÁI NIỆM HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUAN HỆ
- Cơ sở dữ liệu (Database): Là một tập hợp các dữ liệu có liên quan với nhau chứa
thông tin về một tổ chức nào đó (như một trường đại học, một ngân hàng, một công
ty, một nhà máy, .), được lưu trữ trên các thiết bị nhớ như đĩa từ, băng từ ) để đáp
ứng nhu cầu khai thác thông tin của nhiều người sử dụng với nhiều mục đích khác
nhau.
- Mô hình CSDL quan hệ: Theo mô hình này, dữ liệu bên ngoài được đưa vào
máy tính thể hiện trong các bảng. Mỗi bảng gồm nhiều cột và nhiều dòng. Mỗi cột có
một tên duy nhất mô tả về một thuộc tính của thực thể mà ta đang quản lý gọi là
trường hoặc vùng (field). Mỗi dòng mô tả thông tin chi tiết về các thuộc tính của một
đối tượng cụ thể trong quản lý gọi là một bản ghi hay một bộ (Record).
- Hệ Quản Trị CSDL quan hệ: là phần mềm dùng để tạo lập CSDL theo mô hình
CSDL quan hệ và thao tác trên CSDL đó.
278 trang |
Chia sẻ: phuongt97 | Lượt xem: 423 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Giáo trình Lập trình Quản lý - Huỳnh Tôn Nghĩa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
a các Report đang mở.
c) MODULES COLLECTION
Tập hợp cá Module đang mở bao gồm các Module chung và các Module của
Form hoặc Report.
d) CONTROLS COLLECTION
Tập hợp các Control (điều khiển) có trên Form, SubForm, Report hoặc Section
đang mở.
9.2. CÖ PH P CHỈ ĐỊNH ĐẾN M T OBJECT V CONTROL
9.2.1. CÖ PH P CHỈ ĐỊNH ĐẾN M T FORM
a) CÖ PH P
Forms!
b) TH DỤ
Muốn chỉ định tới Form F Hoadon ta viết như sau:
Forms!F_Hoadon
9.2.2. CÖ PH P CHỈ ĐỊNH ĐẾN SUBFORM
a) CÖ PH P
Forms!!.Form
b) TH DỤ
Muốn chỉ định đến SubForm có tên vùng nhúng là CTHoaDon và tên
MainForm là F_Hoadon, ta viết như sau:
Forms!F_Hoadon!CTHoaDon.Form
223
9.2.3. CÖ PH P CHỈ ĐỊNH ĐẾN M T REPORT
a) CÖ PH P
Reports!
b) TH DỤ
Muốn chỉ định đến Report tên R HoaDon, ta viết như sau:
Reports!R_HoaDon
9.2.4. CÖ PH P CHỈ ĐỊNH ĐẾN M T CONTROL
a) CÖ PH P
Điều khiển nằm trên Form
Forms!!
Điều khiển nằm trên SubForm
Forms!!
Điều khiển nằm trên Report
Reports!!
b) TH DỤ
+ Muốn chỉ định tới điều khiển là TextBox SOHD nằm trên Form tên
F_HoaDon, ta viết như sau:
Forms!F_HoaDon!SOHD
+ Muốn chỉ định tới điều khiển là TextBox MASP nằm trên Report tên
R_SanPham, ta viết như sau:
Reports!R_SanPham!MASP
+ Muốn chỉ định tới điều khiển là TextBox MAKH nằm trên SubForm có tên
vùng nhúng là HoaDon và tên MainForm là F_KhachHang, ta viết như
sau:
Forms!F_Khachhang!HoaDon.Form!MAKH.
Chú ý: Ta có thể sử dụng từ Me để thay thế cho đường dẫn đến form hoặc report
chứa module mà ta đang lập trình. Khi đó cú pháp chỉ định đến control nằm trên form
hoặc report đó sẽ là: Me.
Ví dụ: Giả sử ta đang lập trình trên module của form F_Hoadon thì:
Me sẽ thay thế cho đường dẫn Forms!F_Hoadon
Me.SoHD thay thế cho đường dẫn Forms!F_Hoadon!SoHD
9.2.5. CÁCH THAY ĐỔI THU C TÍNH CỦA Đ I TƯỢNG.
Để tham khảo hoặc thay đổi thuộc tính của đối tượng ta có thể sử dụng một trong hai
cách sau:
224
Cách 1: Áp dụng để thay đổi thuộc tính ngay khi khởi tạo ra đối tượng.
Vào hộp thoại thuộc tính của đối tượng
Khai báo lại giá trị cho các thuộc tính của đối tượng để làm cho đối tượng phù
hợp với bói cảnh chương trình.
Cách 2: Thay đổi bằng lệnh. Cách này được áp dụng để thay đổi thuộc tính của
đối tượng khi đối tượng đang mở.
Cú pháp:
Đường dẫn đến đ i tư ng . Tên thu c tính Giá trị mới
TH DỤ
Muốn làm mờ đối tượng CommandButton (nút lệnh) tên cmdLuu trên Form có
tên là F ChiTietHoaDon, ta viết như sau:
Fomrs!F_ChiTietHoaDon!cmdLuu.Enabled = False
9.2.6. CÁCH GỌI PHƯƠNG THỨC CỦA M T OBJECT THI H NH
CÖ PH P
Đường dẫn đến đ i tư ng . Tên phư ng thức [ Danh sách tham s
TH DỤ
Muốn tính toán lại các điều khiển tính toán trên Form F CapNhatHangHoa, ta
sử dụng phương thức Recalc như sau:
Forms!F_CapNhatHangHoa.Recalc
Để di chuyển một TextBox MANSX trong Form F DMNSX đến vị trí góc trên
bên trái là 50,50 và có độ rộng 400, chiều cao 200, ta viết lệnh như sau:
225
Forms!F_DMNSX!MANSX.Move 50,50,400,200
Phương thức Move có 4 tham số Move Left [,Top][,Width][,Height]
Left: khoảng cách từ bên trái cửa sổ đến đối tượng di chuyển.
Top: khoảng cách từ bên trên cửa sổ đến đối tượng di chuyển.
Width: chiều rộng của đối tượng di chuyển.
Height: chiều cao của đối tượng di chuyển.
Các số đo tính bằng đơn vị Twip (1cm = 567 Twip).
Chú ý:
Ta có thể sử dụng Me để thay thế cho đường dẫn đến form hoặc report chứa
đoạn lệnh mà ta đang lập trình khi đó đường dẫn đến một control đang nằm
trên form hoặc report đó sẽ là: Me..
Ví dụ: giả sử ta đang lập trình trong module của form F_Hoadon thì:
o Me sẽ thay thế cho đường dẫn Forms!F_Hoadon
o Me.Sohd sẽ thay thế cho đường dẫn Forms!F_Hoadon!Sohd
9.2.7. MÔ TẢ V G N BIẾN Đ I TƯỢNG
a) Ý NGH A
Biến đối tượng là biến dùng để chỉ định đến một loại đối tượng như cơ sở dữ
liệu, bộ mẩu tin (Recordset), Form, Control.
b) CÖ PH P KHAI B O BIẾN Đ I TƯỢNG
Dim As
Set =
c) CÖ PH P SỬ DỤNG BIẾN Đ I TƯỢNG
Sau khi khai báo và gán giá trị khởi tạo cho biến đối tượng, ta sử dụng biến đối
tượng bình thường như một đối tượng.
. hoặc
.
d) CÖ PH P GIẢI PHÓNG BIẾN Đ I TƯỢNG
Sau khi đã làm việc xong với một biến đối tượng, ta giải phóng tài nguyên vùng
nhớ hệ thống bằng cách gán từ khóa Nothing cho biến đối tượng.
Set = Nothing
e) C C THU C T NH ĐẶC BIỆT CHỈ ĐỊNH ĐẾN C C Đ I TƯỢNG
Visual Basic for Applications cung cấp các thuộc tính đặc biệt dùng để chỉ định đến
các đối tượng trong mô hình đối tượng của Access.
Tên thuộc tính Chỉ định
ActiveControl Điều khiển đang nhận sự tập trung trên đối tượng màn hình,
226
Form, Report
Previous Control Điều khiển gần nhất ở trước điều khiển hiện tại
RecordsetClone Bộ mẩu tin dữ liệu nguồn bên dưới của Form
ActiveForm Form đang nhận sự tập trung
ActiveReport Report đang nhận sự tập trung
Form Form con chứa trong một Form
Report Report con chứa trong một Report
Me
Đối tượng Form hoặc báo cáo nơi chứa đoạn mã lệnh hiện tại
đang thực hiện
Parent Đối tượng cha của đối tượng hiện tại
9.2.8. CÖ PH P LỆNH WITH
a) Ý NGH A
Khi ta không muốn lặp đi lặp lại nhiều lần tên biến đối tượng hoặc tên đối tượng
trong các câu lệnh thì ta có thể dùng phát biểu With.
b) CÚ PHÁP
With
.
.
End With
c) THÍ DỤ : Đoạn lệnh sau đây
Me.Caption = "Quan ly khach hang"
Me.AllowAdditions = False
Me.AllowDeletions = False
Me.AllowEdits = True
Có thể viết lại theo cấu trúc With là:
With Me
.Caption = "Quan ly khach hang"
.AllowAdditions = False
.AllowDeletions = False
.AllowEdits = True
End With
9.3. M T S THU C T NH PHƯƠNG THỨC BIẾN C CỦA
M T S Đ I TƯỢNG THƯỜNG DÙNG
9.3.1. FORM
227
a) THU C TÍNH
- Caption: Đặt tiêu đề cửa sổ của form
Thí dụ Đang ở cửa sổ viết Code cho Form hiện hành
Forms!F_Hoadon.Caption = “ ơn đ t hàng” „Đặt tiểu đề cho Form là
“Đơn đặt hàng”
- RecordSource: Chọn Table/Queries làm nguồn cho Form.
Thí dụ Chọn nguồn dữ liệu cho Form là query Q_DONDATHANG
Me.RecordSource = “Q DONDATHANG”
- Visible: n hoặc hiện form khi mở form ra. Có 2 giá trị là True hiện hoặc
False ẩn .
Thí dụ Muốn ẩn Form hiện hành
Me.Visible = False „ n Form hiện hành
- AllowDeletions: Cho (True) hoặc không cho (False) xóa dữ liệu trên Form
Thí dụ
Me.AllowDeletions = False „Không cho phép xóa dữ liệu trên Form
- AllowAdditions: Cho (True) hoặc không cho (False) thêm dữ liệu trên Form
Thí dụ
Me.Additions = True „Cho phép thêm dữ liệu trên Form
- AllowEdits: Cho (True) hoặc không cho (False) sửa dữ liệu trên Form
Thí dụ
Me.AllowEdits = False „Không cho phép sửa dữ liệu trên Form
- NavigationButtons: hiện True hoặc ẩn False thanh chứa các nút di chuyển
mẩu tin của Form
Thí dụ
Me.NavigationButtons = False „ n thanh chứa các nút di chuyển mẩu tin.
- BookMark: Di chuyển mẩu tin hiện hành của form đến vị trí có BookMark nào
đó. (BookMark là số hiệu đánh dấu của từng mẩu tin trên bộ mẩu tin)
Thí dụ
Me.BookMark = Rs.BookMark „Di chuyển mẩu tin hiện hành của Form đến
mẩu tin mà con trỏ mẩu tin Recordset đang
trỏ tới (Rs là biến có kiểu Recordset)
- CurrentRecord: Trả về một số có kiểu Long cho biết mẩu tin hiện hành của
Form được chỉ định nào đó (Form này đang hiển thị ở chế độ Form View) là
mẩu tin thứ mấy. Thuộc tính này read only nên chỉ cho phép người lập trình
tham khảo chứ không cho phép thay đổi.
228
- AllowFilters: Cho phép (True) hoặc không cho phép (False) lọc các mẩu tin
trên Form. Mặc nhiên là cho phép lọc.
Thí dụ
Me.AllowFilters = False „Không cho phép lọc các mẩu tin trên Form
- Filter: cho phép xác định điều kiện lọc cho Form hoặc Report. Điều kiện lọc là
một biểu thức đặt trong dấu nháy đôi.
- FilterOn: tiến hành lọc True theo điều kiện được khai báo trong thuộc tính
Filter hoặc B lọc False .
Ví dụ Trong form F_HosoNV trên đó có 2 nút lệnh cmdLoc và cmdBoloc. Nếu
bấm vào nút Lọc thì xuất hiện hộp thoại yêu cầu nhập vào tên nhân viên cần lọc.
Sau khi nhập tên nhân viên và bấm OK thì tiến hành lọc những mẩu tin của
form F_HosoNV chỉ cho hiển thị những nhân viên có tên được nhập từ bàn
phím mà thôi. Nếu bấm vào nút Bỏ Lọc thì hiện đầy đủ các mẩu tin như ban
đầu.
Hình 9.6: Form F CHITIETHOADON khi chưa lọc
Khi bấm vào nút Lọc xuất hiện hộp thông báo:
229
Hình 9.7: Hộp thoại yêu cầu nhập tên nhân viên cần lọc
Sau đây là mã lệnh viết cho 2 nút trên:
Private Sub CmdBoloc_Click()
Me.FilterOn = False
End Sub
Private Sub Cmdloc_Click()
Dim dk As String
dk = InputBox("Nhap vao ten nhan vien can loc:")
Me.Filter = "ten='" & dk & "'"
Me.AllowFilters = True
Me.FilterOn = True
End Sub
b) PHƯƠNG THỨC
- Undo: dùng quay về trạng thái ban đầu cho Form khi nó đang được sửa đổi.
Thí dụ
Me.Undo „Dùng phục hồi trạng thái cũ của Form hiện hành khi nó đang
hiệu chỉnh.
- Requery: ta sử dụng phương thức này để cập nhật lại dữ liệu mới nhất mà
Form có được. Phương thức này thực hiện một trong các việc sau:
+ Trả về query nguồn cho Form.
+ Hiển thị dữ liệu mới nhất của Table nguồn khi ta Thêm, Xóa hoặc Sửa mẩu
tin trên đó.
+ Cập nhật lại sự thay đổi mẩu tin khi ta ta áp dụng phương thức Lọc dữ liệu
trên Form.
Thí dụ
Me.Requery „Dùng làm tươi dữ liệu lại cho Form
- Recalc: cập nhật tức thời toàn bộ các điều khiển tính toán trên Form
230
Thí dụ
Me.Recalc
c) BIẾN C
- On Open (Cancel As Integer): biến cố xảy ra khi cửa sổ form được mở ra.
Tham số Cancel có giá trị là True hoặc False. Mặc nhiên là False. Nếu là True
có tác dụng hủy bỏ biến cố.
- On Load: biến cố xảy ra khi dữ liệu được nạp lên form.
- On Unload (Cancel As Integer): biến cố xảy ra khi nguồn dữ liệu trên form bị
đóng lại. Tham số Cancel có giá trị là True hoặc False. Mặc nhiên là False. Nếu
là True có tác dụng hủy bỏ biến cố.
- On Close: biến cố xảy ra khi cửa sổ form bị đóng lại.
Thứ tự các biến c xảy ra
Các biến cố lần luợt xảy ra khi mở form:
Các biến cố lần luợt xảy ra khi đóng form:
9.3.2. TEXTBOX
a) THU C TÍNH
- Name: dùng đặt tên cho TextBox. Ta chỉ đặt tên cho TextBox khi Form ở chế
độ Design View. Trong quá trình đối tượng đang mở ta không được phép sử
dụng lệnh để đổi tên đối tượng.
- Control Source: khai báo nguồn dữ liệu cho TextBox. Nếu thay đổi bằng lệnh
thì giá trị thay đổi phải đặt trong cặp dấu nháy đôi.
Thí dụ Trên Form một form ta co textbox mang tên txtthang. Để gán cho
txtbox này hiển thị tháng hiện hành ta sử dụng lệnh
Me.txtthang.RecordSource=”=Month(Date())”
- Visible: Hiện (True) hoặc ẩn (False) TextBox. Mặc nhiên là True.
Thí dụ
Me.txtKETQUA.Visible = False „Làm ẩn TextBox txtKETQUA
- Enabled: làm mờ (False) hoặc sáng lại bình thường (True) Mặc nhiên là True.
Ví dụ
Me.txtTongTriGia.Enabled = False „Làm mờ TextBox txtTongTriGia
- Locked: Cho phép (False) hoặc không cho phép (True) sửa đổi dữ liệu trên
TextBox. Mặc nhiên là False.
Open Load Resize Current Active
UnLoad Close Deactive
231
Thí dụ
Me.txtTongTriGia.Locked = False „Không cho phép sửa đổi dữ liệu trên
TextBox txtTongTriGia
- AutoTab: tự động (True) hay không tự động (False) di chuyển con trỏ sang
control kế tiếp (nằm trong bảng thứ tự Order Tab) khi đã nhập xong ký tự cuối
cùng trong TextBox nếu như trong thuộc tính Input Mark của textbox có quy
định khuôn mẫu nhập liệu.
Thí dụ
Me.txtMaSP.AutoTab = True „Cho phép con nháy tự động nhảy sang điều
khiển khác.
- ControlTipText: đặt lời mách nước về TextBox khi ta đưa con trỏ chuột vào
nó.
Hình 9.13: Khi đưa con tr chuột vào TextBox Manv thì xuất hiện lời mách nước
b) PHƯƠNG THỨC
- SetFocus: Cho TextBox nhận sự tập trung. Hay nói cách khác làm cho con trỏ
chèn nhảy vào TextBox.
Thí dụ Khi ta bấm vào nút THÊM để thêm mẩu tin mới cho Form
F CAPNHATSANPHAM, ta muốn con trỏ nhảy ngay tới TextBox txtMASP
nào đó để ta nhập ngay thông tin cho cột MASP, ta dùng phương thức
SetFocus.
Private Sub THEM_Click()
Me.txtMASP.SetFocus „Cho con trỏ chèn nhảy ngay tới TextBox
txtMASP
End Sub
232
c) BIẾN C
- GotFocus: xảy ra khi TextBox nhận được sự tập trung (con trỏ chèn nhảy vào
TextBox).
- On Change: xảy ra khi có sự thay đổi dữ liệu trên TextBox
- BeforeUpdate: xảy ra trước khi dữ liệu được cập nhật xuống Control Source
của TextBox.
- AfterUpdate: xảy ra sau khi dữ liệu đã được cập nhật xuống Control Source
của TextBox.
- LostFocus: xảy ra khi TextBox mất sự tập trung, con trỏ chèn đi ra khỏi
TextBox.
9.3.3. COMMAND BUTTON
a) THU C TÍNH
- Name: đặt thuộc tính Name cho Command Button
- Caption: Đặt thuộc tính nhãn cho CommandButton
Thí dụ Đoạn lệnh sau đây có chức năng kiểm tra thuộc tính Caption của nút
nút lệnh có tên là CmdVd nếu nhãn của nó đang là “Yes” thì đổi lại trở thành
“No” và ngược lại nếu đang là “No” thì đổi lại trở thành “Yes”.
If Me.CmdVd.Caption=”Yes” Then
Me.CmdVd.Caption=”No”
Else
Me.CmdVd.Caption=”Yes”
End If
- Picture: Khai báo đường dẫn đến file hình để làm nhãn cho nút lệnh thay dòng
chữ.
Thí dụ Đặt hình lên nút. Hình là file maybay.ico nằm ở thư mục Hinh của ổ
đĩa C:
Me.cmdLoc.Picture=”C:\Hinh\maybay.ico”
- ControlTipText: tương tự TextBox
Thí dụ Cho lời mách của nút cmdThem là “Thêm mẩu tin mới” khi mở Form
F_HOADON
Me.cmdThem.ControlTipText = “Thêm mẩu tin mới”
233
Hình 9.17: Lời mách nước của n t lệnh cmdThem xuất hiện khi ta đưa con tr chuột
vào n
- Visible: tương tự như TextBox
Thí dụ n nút cmdThoat
Me.cmdThoat.Visible = False
- Enabled: tương tự như TextBox
Thí dụ làm mờ nút cmdCong, cmdTru, cmdNhan, cmdChia
Me.cmdCong.Enabled = False
Me.cmdTru.Enabled = False
Me.cmdNhan.Enabled = False
Me.cmdChia.Enabled = False
b) PHƯƠNG THỨC
- SetFocus: làm cho nút lệnh nhận sự tập trung
Thí dụ Khi ta bấm vào nút cmdLuu để lưu mẩu tin thì ta muốn nút cmdThem
nhận được sự tập trung để ta có thể bấm Enter là có thể nhập mẩu tin mới
khác.
Me.cmdThem.SetFocus
c) BIẾN C
On Click: xảy ra khi ta Click chuột vào nút
On Dbl Click: xảy ra khi ta Double Click chuột vào nút
234
BÀI TẬP THỰC HÀNH
ÀI TẬP DATA ASE
1. Khởi động Access (Start->Programs->Microsoft Office->Microsoft Office Acsess
2007) Tạo một Blank Database có tên Banhang.accdb
2. Sử dụng chức năng Design View để tạo table hóa đơn có cấu trúc sau
T_HOADON
Field name Data type Field size Description
Msp Text 5 Ma san pham
Ngay Date/Time
Soluong Number Integer
Dongia Number Long Integer
Mkh Text 2 Ma khach hang
Ghichu Memo
Stt Autonumber So thu tu
loaivt Text 1
Httt Text 2 Hinh thuc thanh toan
Yêu cầu:
Msp chỉ nhập được 3 ký tự đầu là in, 2 ký tự sau là số (Trong thuộc tính Input
Mask >LLL00)
Trong Format của trường ngày chọn Short date
Vùng số lượng yêu cầu dữ liệu nhập vào phải >0 nếu vi phạm sẽ thông báo lỗi
(Trong thuộc tính Validation Rule: >0, trong Validation Text: Ban phai nhap vao
so luong lon hon 0)
Chọn Msp làm Primary key
3. Thêm vào cấu trúc Table các trường sau:
Field name Data type Field size Vị trí trường thêm vào
Sohd Text 4 Vào sau vùng số lượng
Dvt Text 1 Vào sau vùng số hóa đơn
Tenkh Text 25 Vào sau vùng ghi chú
4. Sửa lại tên các trường sau:Msp thành Masp, Mkh thành Makh
5. Di chuyển trường Stt lên trên cùng
6. Hãy chọn lại trường Sohd làm Primary key
7. Xoá các trường Dvt, Tenkh, Ghichu, Stt
8. Trong thuộc tính Default Value của trường loaivt gõ vào X
9. Khai báo lại trường Httt có Data Type là Lookup Wizard để tạo Combobox cho
trường này với các giá trị là : TM, TP, NO.
10. Trong thuộc tính Caption của trường Makh gõ vào Mã khách hàng.
11. Xóa các trường Masp,Soluong,Dongia
12. Mở Table ở chế độ Datasheet View để nhập dữ liệu cho table T Hoadon theo nội
dung sau (di chuyển các cột của Table theo thứ tự như sau để dễ nhập liệu) :
Sohd Mã khách hàng Ngay Loaivt Httt
0001 TT 1/1/91 N TM
235
0002 TB 3/4/91 X TM
0003 BT 3/4/91 X TM
0004 PV 3/4/91 X TP
0005 TT 3/3/91 X TM
0001 TT 3/4/91 X TM
0002 BT 1/4/91 N NO
0008 TT 3/3/91 N TM
13. Thay đổi độ rộng các cột sao cho vừa khít với dữ liệu trong bảng. Lưu lại dữ liệu
vừa nhập và đóng Table lại.
14. Mở lại table ở chế độ Datasheet View và cho biết trong table có bao nhiêu mẩu tin
và mẩu tin hiện hành là mẩu tin số mấy?.
15. Hãy chọn mẩu tin số 2 làm mẩu tin hiện hành.
16. Hãy chọn mẩu tin cuối cùng làm mẩu tin hiện hành.
17. Di chuyển mẩu tin hiện hành về mẩu đầu tiên.
18. Đóng cửa sổ Table lại.
19. Tạo table T_CTHOADON có cấu trúc như sau:
T_CTHOADON
Field name Data type Field size Description
SOHD Text 4 Ma san pham
MASP Text 5
SOLUONG Number Integer
DONGIA Number Long Integer
Chọn SoHD và Masp cùng làm khóa chính
21.Nhập dữ liệu cho table có nội dung sau:
T_CTHoadon
Sohd Masp Soluong Dongia
0001 COM46 23 500
0001 DIS12 20 23
0002 MOU11 10 12
0002 MOU12 12 12
0002 PRN11 2 70
0003 MOU12 12 12
0003 PRN11 3 66
0004 DIS12 12 20
0004 MON99 2 120
0004 PRN11 20 65
0005 COM46 2 500
0005 DIS12 10 4
0005 MON99 3 120
0006 COM46 12 275
0006 MON99 2 120
0007 COM46 5 270
0007 FPP12 100 80
236
T_CTHoadon
Sohd Masp Soluong Dongia
0008 COM46 4 120
0008 DIS12 5 200
0008 PRN11 30 65
BÀI TẬP DATABASE 2
1. Mở tập tin Banhang.accdb
2. Tạo Table T_KHACHHANG có cấu trúc sau (Makh làm khóa chính):
Field name Data type Field size Description
Makh Text 2 Ma khach hang
TenKh Text 25 Ten khach hang
Diachi Text 25 Dia chi
Phone Text 2 Dien thoai
WebSite Hyperlink Địa chỉ website
a. Vùng Makh qui định phải nhập 2 ký tự hoa
b. Chọn Makh làm Primary key
c. Nhập dữ liệu cho table có nội dung như sau:
T_Khachhang
Makh Tenkh Diachi Phone website
BT Công ty Bitis 1 Trần Hưng Đạo 9891554
LS Công ty Lam sơn 132 Lê Lợi 9236456
PV Công ty Phong Vũ 9 Lê Duẩn 9897455
TB Công ty Thanh Bình 43 Lê Lơi 6546545
TT Công ty Thanh Thanh 177 Phạm Ngũ Lão 5454875
3. Tạo Table T_SANPHAM có cấu trúc sau (chọn Masp làm Primary key):
Field name Data type Field size Description
Masp Text 5 Ma san pham
Tensp Text 25 Ten san pham
Dvt Text 1 Don vi tinh
Dongia Number
4. Nhập Nội dung cho table T_SANPHAM như sau:
Masp Tensp Dvt DongiaM
COM41 Computer 481-11 Cái 500
COM51 Computer Pentium 100 Cái 1000
DIS12 Ổ đĩa 1.2Mb Cái 20
DIS14 Ổ đĩa 1.44MB Cái 23
FPP12 Đĩa mềm 1.2Mb Hộp 1
GLA11 Kính lọc Cái 2
MON99 Monitor color 14 inch
CTX
Cái 120
MOU11 Mouse Protec Con 12
MOU12 Mouse Genius Con 10
PRN11 Máy in LQ-1120 Cái 15
BÀI TẬP DATABASE 3
237
1. Trong Tập tin Banhang.accdb tạo table T HOSONV có cấu trúc sau:
Field name Data type Field size Description
Manv Text 4 Ma nhan vien
Holot Text 18 Ho lot
Ten Text 10 Ten
DalapGD Yes/No Da lap gia dinh
Tdvh Text 2 Trinh do van hoa
Phainam Yes/No (Nam:Yes, Nữ :No)
Lcb Number Long integer Luong can ban
Ngaysinh Date/time Ngay sinh
Ngayvaolv Date/Time Ngay vao lam viec
Socon Number Byte So con
Hinh Ole Object (Lay hinh tu Clipart)
2. Chọn Manv làm Primary key
3. Nhập nội dung cho Table như sau:
T_Hosonv
Manv Holot Ten DalapGD Tdvh Phainam Lcb Ngaysinh Ngayvaolv Socon Hinh
HC01 Nguyễn
thị
An Yes DH No 290 1/1/1960 12/12/80 2
HC02 Đào bạch Lý No DH No 256 2/2/1962 1/1/80 0
HC03 Nguyễn
thị
Thúy Yes TH No 256 12/12/1950 3/2/1971 1
HC04 Phan thị
thu
Trang No DH No 290 1/1/1961 3/3/95 0
HC06 Trần thị
thu
Cúc No TH No 290 1/1/1961 4/3/85 0
KT01 Nguyễn
ngọc
Phú Yes DH Yes 345 4/4/1968 1/1/90 2
KT02 Nguyễn
phương
Anh No TH Yes 256 30/4/75 15/1/95 0
KT06 Nguyễn
hoàng
Vũ No DH Yes 310 2/2/1970 14/3/93 0
KT09 Nguyễn
hữu
Đông No DH Yes 345 27/5/1959 12/5/81 0
TH01 Trịnh
thanh
Tri No DH Yes 330 14/3/1960 1/1/80 0
TH02 Nguyễn
xuân
Dung Yes DH No 310 12/3/1968 24/5/91 3
TH03 Trần ngọc Sơn Yes DH Yes 345 1/1/1967 12/12/90 2
TH04 Nguyễn
hoàng
Long Yes DH Yes 190 12/12/1968 3/1/95 0
TH05 Trần thị Bông Yes TH No 234 3/3/1954 4/4/74 1
TH07 Lê thị
thúy
Nga Yes TH No 256 14/3/1960 5/12/96 0
238
T_Hosonv
Manv Holot Ten DalapGD Tdvh Phainam Lcb Ngaysinh Ngayvaolv Socon Hinh
TH08 Trần anh Tuấn No DH Yes 345 9/9/1963 4/3/90 0
TH09 Trần anh Bi No DH Yes 345 9/9/1963 4/3/90 0
TH10 Trần
thanh
Trang No DH No 290 10/10/1971 12/12/93 0
TH11 Phạm thị
thu
Nga No TH No 310 5/5/1968 8/5/96 0
TH12 Lê thị
thanh
Hoa No DH No 345 5/12/1968 1/10/89 0
TH13 Phùng
khắc
Dung No DH No 312 12/10/1966 10/10/96 0
TH14 Chu duy Tân Yes DH Yes 355 25/10/1970 1/1/96 0
TH15 Hồ thanh Ngân Yes DH Yes 355 28/12/1965 12/10/86 0
4. Làm ẩn các cột DalapGD,Tdvh,phai,ngaysinh sau đó cho các cột này xuất hiện
trở lại
5. Làm đóng băng cột tên thử di chuyển thanh trượt ngang để quan sát dữ liệu trên
table sau đó huỷ bỏ chế độ đóng băng cột tên.
6. Định dạng table có nền màu xanh, đuờng kẽ dọc màu đỏ, bỏ đi đường kẽ ngang
ngăn cách giữa các mẩu tin trong table.
7. Sắp xếp thứ tự cột Manv theo thứ tự tăng dần, Sau đó theo thứ tự giảm dần.
8. Sắp xếp thứ tự cột tên tăng dần theo tên, nếu trùng tên thì xếp tăng dần theo họ lót
9. Dùng chức năng Filter để lọc các thông tin thõa mãn theo yêu cầu sau:
a. Hiển thị những mầu tin có phái là nữ
b. Hiển thị những mẩu tin có phái là nam
c. Hiển thị những mẩu tin có họ lót là Nguyễn
d. Hiển thị những mẩu tin có tên là Nga
e. Hiển thị những mẩu tin có tên là Long và Vũ
f. Hiển thị những mẩu tin có tên có ký tự đầu tiên là T
g. Hiển thị những mẩu tin có tên lót là Ngọc
h. Hiển thị những mẩu tin phái nữ và có Lcb nhỏ hơn hoặc bằng 310
i. Hiển thị những mẩu tin có ngày sinh nằm trong khoảng 01/01/50 đến 01/01/85
(dữ liệu khi hiển thị được sắp xếp theo tên nhân viên tăng dần, nếu cùng tên thì
sắp xếp theo ngày sinh giảm dần)
j. Hiển thị những mẩu tin có tháng sinh là tháng 3
k. Hiển thị những mẩu tin có năm sinh là 1910
l. Hiển thị những mẩu tin có 2 ký tự đầu tiên của Manv là TH
m. Hiển thị những mẩu tin không phải ở phòng Tin học
n. Hiển thị những mẩu tin có phái là nữ và năm sinh từ 1910 trở đi
10. Dùng chức năng Find để tìm kiếm những mẩu tin thoã mãn yêu câù sau:
a. Tìm những mẩu tin có phái là nam
b. Tìm những mẩu tin có họ là Trần
c. Tìm những mẩu tin có tên là Bi
d. Tìm những mẩu tin có tháng sinh là tháng 9
e. Tìm những mẩu tin có năm sinh là 1913
239
f. Tìm và thay thế những mẩu tin có Lcb là 290 và thay thế bằng 310
BÀI TẬP DATABASE 4
1. Mở tập tin Banhang.accdb
2. Tạo Table T Chamcong08 có cấu trúc sau:
Field name Data type Field size Description
Manv Text 4 Ma nhan vien
Thang Number
Ngaycong Number Ngay cong
Ngayphep Number Ngay phep
Ngoaigio Number Ngoai gio
3. Nhâp nội dung của table như sau:
T_Chamcong08
Manv Thang Ngaycong Ngayphep Ngoaigio
HC01 1 25 1 2
HC01 2 26 1 1
HC02 1 23 0 3
HC02 2 29 0 1
HC03 1 29 0 0
HC03 2 24 0 0
HC04 1 26 0 0
HC04 2 25 0 0
HC06 1 26 0 2
HC06 2 24 0 2
KT01 1 25 1 4
KT01 2 27 1 4
KT02 1 23 0 0
KT02 2 29 0 0
KT06 1 23 3 6
KT06 2 25 3 6
KT09 1 26 0 0
KT09 2 27 0 0
TH01 1 23 3 2
TH01 2 28 3 2
TH02 1 25 1 2
TH02 2 29 1 2
TH03 1 24 1 3
TH03 2 25 1 3
TH04 1 29 0 0
TH04 2 28 0 0
TH05 1 24 0 0
240
T_Chamcong08
Manv Thang Ngaycong Ngayphep Ngoaigio
TH05 2 25 0 0
TH07 1 24 2 12
TH07 2 27 2 12
TH08 1 26 0 0
TH08 2 28 0 0
TH09 1 20 2 0
TH09 2 29 2 0
TH10 1 26 0 2
TH10 2 28 0 2
TH11 1 24 3 2
TH11 2 29 3 2
TH12 1 26 3 5
TH12 2 29 3 5
TH13 1 24 2 3
TH13 2 25 2 3
TH14 1 26 2 3
TH14 2 28 2 3
TH15 1 24 3 2
TH15 2 29 3 2
BÀI TẬP DATABASE 5
1. Mở tập tin Banhang.mdb
2. Dùng chức năng RelationShips để tạo các liên kết giữa các tập tin sau:
3. Thử huỷ bỏ mối liên kết giữa 4 Table trên
4. Tạo lại mối liên kết giống như trên
5. Tạo liên kết giữa hai table như sau:
BÀI TẬP DATABASE 6
241
1. Mơ table T hosoNV để khai triển theo dõi tình hình chấm công của nhân viên
theo dạng sau:
ÀI TẬP QUERY 1
1. Mở tập tin Banhang.mdb
2. Hãy sử dụng Table T HOADON,T CTHOADON để tạo Quyery
Q QLHOADON như sau:
a. Loaivt là X thì ghi Xuất, Nếu N thì ghi Nhập
b. Nếu Httt là TP thì ghi là Tín phiếu, TM thì ghi là Tiền Mặt, NO thì ghi là Nợ
(Dùng hàm IIF để thành lập các cột Loaivattu và Htttoan)
Q_QLHOADON
Sohd Makh Masp Soluong Dongia trigia Loaivattu Htttoan
0001 TT COM46 23 500 11500 Nhập Tiền mặt
0001 TT DIS12 20 23 460 Nhập Tiền mặt
0002 TB MOU11 10 12 120 Xuất Tiền mặt
0002 TB MOU12 12 12 144 Xuất Tiền mặt
0002 TB PRN11 2 70 140 Xuất Tiền mặt
0003 BT MOU12 12 12 144 Xuất Tiền mặt
0003 BT PRN11 3 66 198 Xuất Tiền mặt
0004 PV DIS12 12 20 240 Xuất Tín phiếu
0004 PV MON99 2 120 240 Xuất Tín phiếu
0004 PV PRN11 20 65 1300 Xuất Tín phiếu
0005 TT COM46 2 500 1000 Xuất Tiền mặt
0005 TT DIS12 10 4 40 Xuất Tiền mặt
0005 TT MON99 3 120 360 Xuất Tiền mặt
0006 TT COM46 12 275 3300 Xuất Tiền mặt
0006 TT MON99 2 120 240 Xuất Tiền mặt
Các file đính kèm theo tài liệu này:
- giao_trinh_lap_trinh_quan_ly_huynh_ton_nghia.pdf