bÀi tẬp thỰc hÀnh sỐ 4 · web viewbÀi thỰc hÀnh sỐ 3 (tạo form nhập dữ liệu)...
TRANSCRIPT
BÀI THỰC HÀNH SỐ 1 (NC)(Report)
1. Đưa ra danh sách các mặt hàng theo mẫu sau:
2. In bảng tổng hợp hoá đơn theo từng ngày
3. In hoá đơn bán hàng, mỗi hoá đơn in trên một trang giấy
4. Cách tạo Form In Report1. Tạo Form in danh sách bán hàng theo tháng chọn từ Combo.
Hướng dẫn:B1 Tạo Form Có các thuộc tính : Navigation Button: No; Select Record: No; Scrol bar: No; Dividing Line: No.B2 Vẽ Combo lấy dữ liệu từ danh sách gồm: 1,2,3,4,5,6,7,8,9,10,11,12. Name: ThangB3 Lưu với tên Form1B4 Vẽ Command Button: Chọn Build event \ Macro Builder
Ation AgumentOpen Report Name: danh sách bán hàng
View: Print PrevewCondition: month(ngaylaphd)= Forms![Form1]![Thang]
2. Tạo Form in danh sách bán hàng theo tháng chọn từ Option 1; 2 3 4 5 6 7 8 9 10 11 12 .
- Tạo Form: Có các thuộc tính : có các thuộc tính trên- Vẽ Option Group gồm các option: 1,2,3,4,5,6,7,8,9,10,11,12. Name: Chon- Lưu với tên Form2- Vẽ Command Button: Chọn Build event \ Macro Builder
Ation AgumentOpen Report Name: danh sách bán hàng
View: Print PrevewCondition: month(ngaylaphd)= Forms![Form2]![Chon]
Tương tự ta thay đổi điều kiện:3. Tạo Form in theo Quý:In theo quý: 1 từ t1->3; ; 2 từ t4->t6; 3 từ t7->9 4 từ t10->t12Month(NgaylapHD) between Forms![Form3]![Quy]*3-2 and Forms![Form3]![Quy]*3Trong đó: Form 3 tên Form in; Quy là tên của Option hoặc Combo4. Tạo Form in theo năm:In theo năm: chọn từ Combo gồm danh sách năm: 2011, 2012, 2013, 2014, 2015.Year(NgaylapHD)= Forms![Form4]![Nam]Nam là tên Combo5. Tạo Form in danh sách theo HDIn theo Mã hóa đơnMaHD= Forms![Form5]![Ma]Ma là tên Com bo6. Tạo Form in danh sách theo Mã khách hàngMAKH= Forms![Form6]![Ma]; Ma là tên Combo
BÀI THỰC HÀNH SỐ 2 (NC)(MACRO)
1. Tạo Form kết hợp 3 điều kiện trên
Tạo Macro:
Condition Action Agument
Chon=1 Open Report
Name: DanhsachbanhangView: Print previewCondition: month(ngaylaphd)= Forms![Formindk]![Thang]
Chon=2 Open Report
Name: DanhsachbanhangView: Print previewCondition: month(ngaylaphd) Between Forms![Formindk]![Quy]*3-2 and Forms![Formindk]![Quy ]*3
Chon=3 OpenReport Name: DanhsachbanhangView: Print previewCondition: Year(ngaylaphd)= Forms![Formindk]![Nam]
2. Tạo Form tìm kiếm:
Hướng dẫn:
B1. Tạo Form Wizard kiểu Single Form lưu với tên TIMKIEM có các thuộc tính sau:
Option Group:Name: Chon
Combo box:Name: Thang
Option 1:Value: 1
Option 2:Value: 2
Navigation Button: No; Select Record: No; Scrol bar:Vertical only; Dividing Line: No.
Change to :Textbox : chuyển các đối tượng Combo sang Text
Locked: Yes: Khóa các đối tượng không cho chỉnh sửa dữ liệu.
B2. Vẽ các đối tượng nhập điều kiện: Option Group: Name Chon; 2 Option: Tên KH và điện thoại; 2 Text box: Name KH và DT; B3: Tạo Macro
Command Condition Action Argument
Tìm Chon=1
Chon=2
Aplly Filter
Aplly Filter
Condition: TenKH Like “*”&[Form].[TIMKIEM].[KH]Condition: Dienthoai=[Form].[TIMKIEM].[DT]
Tất cả X ShowAllRecords
Thoát X Close Type: FormName: TIMKIEMPrompt: Yes
3. Tạo Form lọc dữ liệu theo hóa đơn và năm
4. Tạo Form Tìm kiếm sau:
BÀI THỰC HÀNH SỐ 3
(Tạo Form nhập dữ liệu)
1. Tạp Form nhập dữ liệu cho bảng CHITIETHDDùng Wizard: đẩy bảng CHITIETHD, sau đó đẩy các vùng liên quan (Single Form)
Tạo các nút lệnh bằng Macro: Đầu, Trước, Sau, Cuối, Thêm, Lưu, Xóa, Thoát.
- Đẩy dữ liệu
- Di chuyển các đối tượng hiển thị (Không nhập dữ liệu) sang bên phải, Locked: Yes.
- Thay đổi thuộc tính cho Form: Navigation Button: No; Selected Record: No;
Scroll Bar: Neight; Dividing Line: No- Tạo các nút
Nút Condition Action Argument
Đầu GotoRecord First
Trước [CurrentRecord]=1[CurrentRecord]>1
MsgboxGotoRecord
Hết dữ liệuPrevious
Sau CurrentRecord<Recordset.RecordCountCurrentRecord=Recordset.RecordCount
GotoRecordMsgBox
NextMessga: Hết dữ liệuType: InformationTitle: Cảnh báo
Thêm GotoRecord New
Lưu DCount("MaHD","CHITIETHD","MaHD='" & [MaHD] & "'")>0DCount("MaHD","CHITIETHD","MaHD='" & [MaHD] & "'")=0
Msgbox
RunCommand
Trùng KhóaSave RecordSaveRecord
Hủy Runcommand Undo
Xóa Msgbox(“Bạn có chắc chắn xóa không?,36, “Thông báo”)=6
Runcommand Delete Record
Thoát Msgbox(“Bạn có chắc chắn thoát không?,36, “Thông báo”)=6
Close Type: FormName: NhapDL_ChitietSave: Yes
2. Tạo Form 1-n nhập dữ liệu cho hai bảng HOADON và CHITIETHD:
Đẩy bảng HOADON, Đẩy bảng CHITIETHD
Hướng dẫn:Mở Form Con
Vào thuộc tính Record Source: mở Query Form con: THANHTIEN: SOLUONG*DONGIA
Vẽ Textbox: Tổng thanh tiền =Sum(THANHTIEN) ; Name: Text13
Tại Form mẹ:Vẽ Textbox: Tổng thanh tiền = CHITIETHD_Subform.Form!Text13
Format: #,#0 “đồng”
Các nút lệnh điều khiển, nhập tương tự như Form đã làm.
Chú ý: Khóa các Text hiển thị dữ liệu (Không nhập)
Như: TenKH, Diachi, Dienthoai, TenSP, Dongia, Thanhtien,Tongthanhtien
3. Tương tự tạo Form nhập dữ liệu cho các bảng:DMHANG (MaHang, TenHang, Donvitinh, Dongia)
Tương tự tạo Form nhập dữ liệu cho bảng: KHACHHANG(MaKH,TenKH, Diachi, Dienthoai)
BÀI TẬP THỰC HÀNH SỐ 4(Lập Trình VBA)
1. Tạo hàm TACHTEN(): dùng để tách tên ra từ một chuỗi hoten
2. Tạo hàm TACHHODEM(): dùng để tách ho đêm từ một chuỗi hoten
Sử dụng hàm trên để tạo một danh sách (Query) gồm: MAHD, Họ KH, Ten KH, Thanhtien. Được sắp xếp tên tăng dần.
3. Tạo hàm Tienchu(): dùng để đọc tiền (hàng tỉ) ra thành chữ tương ứng.
Tạo hàm Docso() đơn giản: một số trường hợp đặc biệt sẽ không đọc đúng như: lẻ, lăm, mốt. Sinh viên tự thêm điều kiện để hoàn chỉnh.
Tạo HÓA ĐƠN BÁN HÀNG cho từng lượt bán. Cuối hóa đơn tính tổng thành tiền và đọc tiền ra thành chữ tương ứng.
Gợi ý lý thuyết:
1. Left(ht,n): Trích ra một chuỗi con từ chuỗi ht gồm n ký tự bên trái
2. Mid(ht,m,[n]): Trích ra một chuỗi con từ chuỗi ht từ ký tự thứ m gồm n ký tự. (Nếu không có tham số n thì gồm các ký tự còn lại)
3. Right(ht,n): Trích ra một chuỗi con từ chuỗi ht gồm n ký tự bên phải
4. Len(ht) Độ dài của chuỗi ht.
Ví dụ:
Mid (“Nguyễn Thị Lan Anh”,12,1) -> L
Mid (“Nguyễn Thị Lan Anh”, 12) -> Lan Anh
5. Khai báo hàm Tachten(): xác định các biến vào kiểu, biến ra kiểu.
Function TACHTEN(ht as String*30) as String*8
6. Khai báo hàm Tachho(), Tachhodem(): tương tự như hàm tachten()
7. Khai báo Docso(): dung để đọc một số bất kỳ ra thành chữ tương ứng:
Function Docso(so as Double)as String
8. Int(x) Phần nguyên của x
Ví du: int(123/10) -> 12
9. Phép toán Mod: x Mod y: số dư của x chia cho y
Vd: 123 Mod 10 -> 3
10. Space(n) chuỗi gồm n ký tự trắng.
Vd: Right(Space(11)+ “123456789”,12) -> “ 123456789”
11 Val(x) -> chuyển chuỗi x sang số
Vd: Val(“123”) ->123
12. STR(x) -> Chuyển số sang chuỗi
4. Tạo Menu :Cập nhật Báo cáo Tìm kiếm In ấn Hệ thống
DM_Hang hóa Danh sách các KH Tìm kiếm In theo ngày tháng
In theo Hóa đơn
In theo Khách hàng
Giới thiệu
Đăng ký TK
Thoát
DM_Khách Hàng … Tìm kiềm theo … Report …
Hóa Đơn bán hang
Chi tiết Hóa Đơn
Hướng dẫn:Chọn Menu View \ Toolbars \ Customize.
Chọn nhãn ToolbarsChọn nút lệnh New \ Gõ tên Menu: Quản lý bán hang.
Chọn nút Preperties \ Type: MenuBar
Chọn nhãn Command:Chọn mục New Menu \ giữ kéo chuột nút New Menu vào thah Menu Bar để tạo Menu ngang
Kích phải tại Menu ngang \ gõ tên mới &Cập nhật, &Báo cáo.
Tạo Menu dọc: Chọn Form \ Kéo Form nhập vào Menu Cập nhật.
Chọn Query \ Kéo tên Query vào menu Báo cáo \ Đổi tên
Chọn Form \ Kéo Form tìm kiếm vào Menu Tìm kiếm.
…
5. Tạo bảng Login(Tennguoidung, Matkhau)6. Tạo Form đăng nhập
Thuộc tính của Form:
Navigation Button: No; Record Selected: No; Scroll Bar: Neight; Dividing Line: No
Close Button: No; Max Min Button: No
Popup : Yes; Modal: Yes.
Combo lấy dữ liệu từ bảng Login hiển thị 2 cột
Thuộc tính của Combo: Name: TenND; Column Width: 1”,0”
Text Box: Nhập mật mã
Thuộc tính: InputMask: Password; Name: Ma
Command: Kích phải chọn Build Event \ Build Code If Ma.Value = TenND.Column(1) Then DoCmd.Close MsgBox "Chao mung ban den voi phan mem quan ly bán hàng" Else MsgBox "Nhap mat khau sai", vbOKOnly, "Canh bao" ma.Value = "" ma.SetFocus End IfCommand: Exit
Viết lệnh: DoCmd.Quit
7. Đóng gói hoàn tất phần mềm:Sao chép tập tin gốc sang thư mục khác: đổi tên (*)
Chọn Menu Tools \ Start Up \ Bỏ hết các dấu tít.