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)...

13
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

Upload: others

Post on 07-Dec-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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

Page 2: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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

Page 3: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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

Page 4: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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

Page 5: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

(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

Page 6: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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)

Page 7: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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.

Page 8: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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

Page 9: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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

Page 10: 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) Tạp Form nhập dữ liệu cho bảng CHITIETHD Dùng Wizard: đẩy bảng CHITIETHD,

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.