1. Trang chủ
  2. » Thể loại khác

BÀI TẬP THỰC HÀNH SỐ Bài Cơ sở Quản lý lương cán bộ

25 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 2,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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; 4.. Hãy đưa ra bảng tổng hợp số cán bộ đã vào Đảng hay chưa vào Đảng

Trang 1

BÀI TẬP THỰC HÀNH SỐ 1

Bài 1 Cơ sở Quản lý lương cán bộ

Chương 1 Làm việc với bảng

1 Tạo CSDL trên lần lượt các bảng DMPHONG, DMCHUCVU, HSCANBO.

- Trong bảng HSCANBO: vùng Phong lấy dữ liệu từ Maphong bảng DMPHONG

Vùng Chucvu lấy dữ liệu từ Macv bảng DMCHUCVU

- Thiết lập các thuộc tính cấn thiết theo các yêu cầu sau:

- MaCB là một chuỗi gồm 10 số có dạng 00-00-0000: 2 ký tự đầu là năm vào biên chế,

hai ký tự sau là số năm công tác và 4 lý tự cuối cùng là số thứ tự

- Ngày sinh có dạng dd/mm/yyyy, có điều kiện tuổi không quá 60 tuổi.

- Địa chỉ lấy dữ liệu từ một danh sách gồm: Quy Nhơn, Tuy Phước, An Nhơn, Tây sơn,

Phù Cát, Phù Mỹ

- Điện thoại là một chuổi số có dạng 9999-9999999.

- Giới tính kiểu Yes/No hiện dữ liệu nam/nữ

- Bậc lương là một số nguyên dương <10, hãy thiết lập khuôn dạng và điều kiên nhập dữ

liệu

- HSL: có tiêu đề là hệ số lương, là một số <10 có hai chữ số thật phân, được tính theo

công thức: HSL = 0.34 +( bac luong – 1)*0.33

- Lương tính theo công thức Lương = HSL * Lương căn bản (lương căn bản = 830000),

lương được tính đơn vị ‘đồng’ không có chữ số thập phân

- HsphucapCV là một số <1 có một chữ số thập phân

Trang 2

2 Tạo mối liên kết toàn vẹn:

- Chọn Tool \ Relationships tạo mối liên kết toàn vẹn như sơ đồ trên.

- Thực hiện xoá một phòng trong bảng DMPHONG, mở bảng HSCANBO ra kiểm tra những cán bộ ở phòng đó có bị xoá không

- Thực hiện sửa dữ liệu một phòng trong bảng DMPHONG, mở bảng CANBO ra kiểm tra

3 Một số thao tác trên bảng:

- Chọn Font chữ mặc định, nhập dữ liệu có dấu Tiếng việt

- Chèn hình ảnh vào vùng anh trong bảng CANBO

- Sắp xếp dữ liệu của bảng HSCANBO theo Hotên

- Lọc dữ liệu: Lọc ra những cán bộ ở phòng TC

- Lọc ra những cán bộ nam

- Lọc ra những cán bộ có hệ số lương <3

Bài 2: Tạo CSDL Quản lý bán hàng

Xây dựng CSDL Quản lý việc bán hàng cho một tổng công ty gồm 4 bảng sau :

Yêu cầu :

- Xác định khoá mỗi bảng

- Xác định thứ tự tạo các bảng, thực hiện

Lookup Wizard lấy dữ liệu từ các bảng

- Xác định kiểu dữ liệu và các thuộc tính khác theo yêu cầu sau:

 Địa chỉ lấy dữ liệu từ danh sách gồm: Quy Nhơn, Tuy Phước, An Nhơn, Tây sơn, Phù Cát, Phù Mỹ

 Điện thoại thiết lập khuôn dạng nhập dữ liệu

 Ngày lập HD có khuôn dạng dd/mm/yyyy, ngày mặc định là ngày hiện tại

 Đơn vị tính có giá trị mặc định là Kg

Trang 3

 Đơn giá có ký hiệu “Đ”

- Thiết lập quan hệ cùng các thuộc tính đảm bảo toàn vẹn dữ liệu

BÀI TẬP THỰC HÀNH SỐ 2 (Chương 2: Query)

Bài số 1: Mở CSDL quản lý lương thực hiên tạo cac truy vấn theo yêu sau:

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, luong, phucapcv, dangphi,

congdoanphi, thuclinh.

Trong đó:

Hesoluong=2.34+(bacluong-1)*0.33

Luong = hesoluong * 830000

Dangphi = 20,000 với những ai là Đảng viên

Congdoanphi = 5%Luong với những ai đã vào công đoàn

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;

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;

4 Hãy lọc ra danh sách cán bộ là Đảng viên và có thực lĩnh lớn hơn một số nào đó- được

nhập từ bàn phím khi query được kích hoạt;

5 Hãy lọc ra danh sách cán bộ mà năm sinh rơi vào trong một khoảng năm nào đó được

nhập vào từ bàn phím Ví dụ: khi kích hoạt query, Access yêu cầu nhập vào khoảng năm sinh từ năm nào, đến năm nào Khi đó query sẽ lọc ra danh sách các cán bộ thoả mãn điều kiện đó;

6 Lọc ra danh sách cán bộ có tên được nhập vào từ bàn phím khi kích hoạt query Ví dụ: khi query kích hoạt sẽ hỏi: Gõ vào tên cần xem? Sau khi gõ vào một tên (có thể cả họ

hoặc cả họ và tên), máy tính sẽ lọc ra danh sách cán bộ thảo mãn điều kiện;

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:là Nam giới, tuổi >=60; Là Nữ giới, tuổi >=55

8 Tính tổng lương của từng phòng ban

9 Đưa ra tên phong ban nào có tổng lương cao nhất

10 Đưa ra tên phòng ban nào có số cán bộ nhiều nhất.

Trang 4

11 Tính số cán bộ nam, nữ.

12 Tính số cán bộ nam, nữ ở phòng “TC”.

13 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

14 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:

15 Đưa ra bảng tổng hợp về chức vụ theo giới tính như sau:

16 Đưa ra bảng tổng hợp về chức vụ theo giới tính của các cán bộ ở phòng “TC”

17 Đưa ra bảng tổng hợp lương theo từng phòng ban như sau:

18 Hãy đưa bảng tổng hợp lương ở bài 1 ra thành bản có tên BANGLUONG.

19 Đưa ra tên phòng chưa có cán bộ.

20 Đưa ra tên chức vụ chưa cán bộ nào giữ.

Bài số 2: Mở CSDL quản lý lương thực hiên tạo cac truy vấn theo yêu sau:

1 Tạo query hiển thị chi tiết thông tin từng hàng bán gồm các thông tin sau: MaHD, MaKH,

MaSPTenSp, Dongia, Soluong, Thanh tien; Thanhtien= soluong * dongia; Thành tiền giảm5% cho các sản phẩm bán có số lượng >50

2 Đưa ra danh sách gồm:MaHD, MaKH, MaSP,TenSp, Dongia, Soluong, Thanh tien của các

sản phẩm có số lượng >=50 và <=100

3 Đưa ra danh sách gồm MaHD, MaKH, TenSP, Dongia, Soluong ; có số lượng lơn hơn một

số nào đó nhập từ bàn phím

4 Đưa ra danh sách các sản phẩm bán trong tháng 2.

5 Đưa ra danh sách các sản phẩm có đơn giá cao nhất.

6 Tạo query đưa ra bảng tổng hợp tổng tiền bán được từng ngày.

Trang 5

7 Tạo query đưa ra bảng tổng hợp tổng số lượng, tổng tiền đã bán ra của từng sản phẩm.

8 Tạo bảng tính tổng tiền từng hoá đơn bán hàng như sau:

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

10.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:

11 Đưa ra các tên sản phẩm chưa được bán HD: là các sản phẩm có trong bảng SANPHAM

mà không có trong bảng CHITIETHD

12.Đưa ra tên sản phẩm có tổng số lượng, tổng thành tiền bán nhiều nhất.

Bài số 3:

Để quản lý học chứng chỉ tin học - ngoại ngữ ở trung tâm, người ta sử dụng 4 bảng dữ liệu sau:

thiết lập mối quan hệ, nhập dữ liệu

- Tổng số tiết không quá 500

Trang 6

- Ngày có dạng dd/mm/yyyy

- Địa chỉ lấy dữ liệu từ danh sách có sẵn

- Nghề nghiệp giá trị mặc định là SINHVIÊN

- Điểm là một số nguyên dương =1 và <=10

- Thiết lập thuộc tính LOOKUP WIZARD thích hợp

Câu 2: Tạo các truy vấn theo yêu cầu sau:

a Tạo Query điền dữ liệu cho cột TỔNG ĐIỂM: ĐIỂM I + ĐIỂM II + ĐIỂM III.

b Đưa ra danh sách gồm: MÃ HỌC VIÊN, HỌ TÊN HỌC VIÊN, ĐỊA CHỈ, NGÀY

SINH, KHOÁ HỌC, TÊN KHOÁ, ĐIỂM I, ĐIỂM II, ĐIỂM III, TỔNG ĐIỂM, KẾT QUẢ của

các học viên có khoá học nhập từ bàn phím khi kích hoạt Query; kết quả là “đậu” nếu điểm ba môn >=5, ngược lại là “rớt”

c Tính số học viên theo từng khoá học mẫn (1)

d Trình bày thông tin tổng hợp theo mẫu (2)

BÀI TẬP THỰC HÀNH SỐ 3 (Chương 3: Form nhập dữ liệu)

1 Tạo form nhập dữ liệu cho bảng HSCANBO mẫu như sau:

Yêu cầu:

 Khi chọn mã phòng thì tên phòng hiện ra

 Khi chọn chức vụ thì tên chức vụ hiện ra

 Khi nhập bậc lương thi HSL, Lương hiện ra theo công thức

 HSL=2.34+(bacluong-1)*0.33; Luong=HSL*830000

 Khoá (locked) các vùng tên phòng, tên chức vụ, HSL, Lương kho cho phép chỉnh sửa dữliệu

 Vùng ảnh tự động thay đổi kích thước cho vừ khít đối tượng

 Không hiện các nút điều khiển nhập, đường Line, con trỏ mẫu tin, bỏ thanh cuộn

Trang 7

2 Tạo Form 1-n nhập dữ liệu cho bảng DMPHONG và HSCANBO

Trên Form nhập hãy nhập thêm dữ liệu cho các phòng ban.

3 Tạo Form nhập dữ liệu cho bảng CHITETHD

Trang 8

Yêu cầu:

- Khoá (Locked) các vùng hiển thị không cho phép chỉnh sửa dữ liệu.

- Thành tiền = đơn giá * số lượng ; nếu số lương >50 thì giảm 5%

4 Tạo Form nhập dữ liệu cho bảng HOADON, CHITIETHD

Yêu cầu:

- Khoá các vùng TÊNKHÁCH, ĐỊA CHỈ, ĐIỆN THOẠI.

- Khoá các vùng TÊN SẢN PHẨM, ĐƠN VỊ TÍNH, ĐƠN GIÁ, THÀNH TIỀN.

- Hãy thêm dữ liệu cho các hoá đơn.

Trang 9

BÀI TẬP THỰC HÀNH SỐ 4 (Chương 4: Report)

1 Tạo danh sách cán bộ gồm các cột STT, HỌ TÊN, GIỚI TÍNH, NGÀY SINH, TÊN PHÒNG, TÊN CHỨC VỤ, HSL, LƯƠNG, Cuối Report đếm số lượng cán bộ, tính tổng lương;

2 Tạo danh sách cán bộ in theo năm sinh.

3 Tạo danh sách cán bộ in theo từng phòng.

Trang 10

4 Đưa ra danh sách các mặt hàng theo mẫu sau:

5 In bảng tổng hợp hoá đơn theo từng ngày

Trang 11

6 In hoá đơn bán hàng, mỗi hoá đơn in trên một trang giấy

BÀI TẬP THỰC HÀNH SỐ 5 (Chương 5: Macro)

1 Tạo form in danh sách cans bộ theo từng phòng mẫu như sau:

Trang 12

Yêu cầu:

Trên Form bỏ các nút điều khiển nhập, bỏ Line bỏ con trỏ mẫu tin, bỏ thanh cuộn

2 Tạo 4 Form in danh sách cán bộ theo từng giới tính

Các đối tượng nhập giới tính là Textbox, Combo, Option Group, Check box

3 Tạo form in danh sách cán bộ theo từng phòng hoặc giới tính

4 Tạo Form lựa chọn kiểu in danh sách cán bộ

5 Tạo form in danh sách cán bộ theo phòng có lựa chon kiểu in

Trang 13

6 Tạo form lọc dữ liệu theo giới tính mẫu như sau:

7 Tạo Form tìm kiếm như sau:

8 Tạo form in danh sách các mặt hàng theo hoá đơn hoặn tháng bán như sau:

Trang 14

9 Tạo Form in danh sách bán hàng theo từng ngày, từng tháng, từng năm

Có thể thay đổi nhập tháng, quý bằng đối tượng Spinner

10 Tạo Form tìm kiếm theo tên khách hàng, điện thoại.

Nút “In hoá đơn” dùng để in hoá đơn bán hàng của khách có tên trong textbox hoặc có số

điện thoại trong Textbox

BÀI TẬP THỰC HÀNH SỐ 6

Trang 15

(Chương 6: Modules) Tạo Modules có tên CTCON chứa các hàm sau:

1 Hàm TACHTEN dùng để tách tên từ chuỗi họ tên

Function tachten(hoten As String) As String

Dim vitri As Integervitri = 1

If InStr(1, Trim(hoten), " ") = 0 Thentachten = hoten

Exit FunctionEnd If

While InStr(vitri + 1, Trim(hoten), " ") > 0vitri = InStr(vitri + 1, Trim(hoten), " ")Wend

tachten = Mid(hoten, vitri + 1)

End Function

Mở cửa sổ Immediate thử gọi hàm ?TACHTEN(“Nguyễn Thị Thanh Xuân”), … thử

các tên khác

Tương tự tạo hàm TACHHO dùng để tách họ đệm từ chuỗi họ tên

?TACHHO(“Nguyễn Thị Thanh Xuân”) -> “Nguyễn Thị Thanh”

2 Viết hàm mã hoá Tiếng Việt bảng mã UNICODE để sắp xếp theo đúng quy cách Tiếng Việt

Public Function MAHOAUNICODE (chuoi1 As String) As String

Dim chuoix, chuoiy As String

Dim dodaichuoi, vitri As Byte

chuoix = "a ;µ ;¶ ;· ;¸ ;¹ ;¨ ;» ;¼ ;½ ;¾ ;Æ ;© ;Ç ;È ;É ;Ê ;Ë ;e ;Ì ;Î ;Ï ;Ð

;Ñ ;ª ;Ò ;Ó ;Ô ;Õ ;Ö ;i ;× ;Ø ;Ü ;Ý ;Þ ;o ;ß ;á ;â ;ã ;ä ;å ;æ ;ç ;è ;é ;ê ;ë ;ì

;í ;î ;u ;ï ;ñ ;ò ;ó ;ô ;õ ;ö ;÷ ;ø ;ù ;y ;ú ;û ;ü ;ý ;þ ;d ;® "

chuoiy="aa;ab;ac;ad;ae;af;ag;ah;ai;aj;ak;al;am;an;ao;ap;ea;eb;ec;ed;ee;ef;eg;eh;ei;ej;ek;el;ia;ib;ic;id;ie;if;oa;ob;oc;od;oe;of;og;oh;oi;oj;ok;ol;om;on;oo;op;ua;ub;uc;ud;ue;uf

;ug;uh;ui;uj;uk;ya;yb;yc;yd;ye;yf;da;db"

mahoaTCVN3 = Space(0)

dodaichuoi = Len(chuoi1)

vitri = 1

While vitri <= dodaichuoi

kytu = Mid(chuoi1, vitri, 1)

Trang 16

vitri = vitri + 1

Wend

End Function

Chú ý: để đễ dàng thực hành ta cĩ thể mã hố các ký tự mà trong vùng tên cĩ các ký tự

nguyên âm đĩ Ví dụ: ta cĩ các tên “anh, ân, ánh,dũng, điền, quang quân, duy” vậy ta sẽ

Nếu cĩ vùng TÊN thì khơng dùng hàm tách tên

4 Tạo hàm BASO dùng để đọc một số ba chữ số ra thành chữ tương ứng (123 đọc là một

trăm hai mươi ba)

Function baso(nhom As String) As String

Dim tram, chuc, donvi As Single

Dim chuso(9) As String

If tram <> 0 And chuc = 0 And dv <> 0 Then

baso = baso + " lẻ"

Else

If chuc = 1 Then

baso = baso + " mười"

Else

Trang 17

If chuc <> 0 And chuc <> 1 Then

baso = baso + chuso(chuc) + " möôi"

End If

End If

End If

If dv = 1 And chuc > 1 Then

baso = baso + " moát"

Else

If dv = 5 And chuc >= 1 Then

baso = baso + " laêm"

Public Function tienchu(sotien As Double) As String

Dim chuoitien, nhom As String

Dim donvi(4) As String

Trang 18

tienchu = tienchu + baso(nhom) + donvi(i) + Space(1)

6 Tạo một phiếu lương tháng 12 cho mỗi cán bộ mẫu như sau:

Cuối mỗi phiếu lương đọc thực lĩnh ra thành chữ tương ứng.

7 Tạo Report DANH SÁCH CÁN BỘ đựoc sắp xếp thep tên, họ, ngày sinh

HD: Report lấy dữ liệu nguồn từ query sắp xếp ở câu 3

8 Tạo một Report in theo từng phòng gồm các cột STT, Mã CB, Họ, Tên, chức vụ, ngày sinh, lương, BHYT, BHXH, Thực lĩnh Sắp xếp theo thứ tự ưu tiên tên, họ, ngày sinh Cuối mỗi nhóm tính tổng thực lĩnh và đọc tổng thực lĩnh ra thành chữ, ký tên đóng dấu

Trang 19

Trong đó BHYT=0.01*lương

BHXH =0.05*lương Thực lĩnh = lương - BHYT - BHXH (=0.94 *lương)

Chú ý: Sử dụng hàm TACHHO, TACHTEN dùng để tách họ đệm và tên ra khỏi chuỗi họ

tên ( nếu không có cột họ và tên0

TACHHO(“Nguyễn Thị Lan Anh” ) -> “Nguyễn Thị Lan”

BÀI TẬP THỰC HÀNH SỐ 7 (Chương 7: Lập trình với CSDL)

1 Tạo Form nhập dữ liệu cho bảng HSCANBO; trong đó các nút lệnh tạo bằng

MACRO có yêu cầu sau:

- Nút “Xoá” có thông báo “Bạn có muốn xoá không?”

- Nút “Thoát” có thông báo “Bạn có muốn thoát không?”

Tương tự thay đổi các nút lệnh Wizard bằng sử dụng Macro cho các Form nhập khác

2 Tạo Form nhập dữ liệu cho bảng HSCANBO; trong đó các nút lênh được viết bằng lệnh Docmd với yêu cầu sau:

- Nút “Trước” có thông báo “hết dữ liệu” khi con trỏ ở mẫu tin đầu tiên.

- Nút “Sau” có thông báo lỗi “Hết dữ liệu” kho con trỏ or mẫu tin cuối cùng

- Nút “Lưu” có thông báo “Trùng mã” khi nhập trùng dữ liệu vùng khoá (mã cán bộ) hoặc

không nhập dữ liệu vùng liên kết (phòng, chức vụ)

- Nút “Xoá” có thông báo lỗi “Bạn co muốn xoá không?”

- Trên Form có nút “Tính HSL, lương” dùng để điền dữ liệu cho cột HSL, lương trong

bảng cho mẫu tin hiện hành

Trang 20

Resume Exit_truoc _Click

Sau On Error GoTo Err_sau_Click

DoCmd.GoToRecord , , acNext

Exit_sau_Click:

Exit Sub

Err_sau_Click:

MsgBox "Het du lieu", vbInformation, "thong bao"

Resume Exit_truoc _Click

Đầu DoCmd.GoToRecord , , acFirst

Cuối DoCmd.GoToRecord , , acLast

Lưu On Error GoTo Err_luu_Click

DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,

DoCmd.RunSQL "update hscanbo set hsl=2.34+([bacluong]-1)*0.33,

luong=[hsl]*540000 where macb=[forms]![nhaphscanbo]![macb]"

(không ghi xuống hàng)

3 Tạo form in danh sách hồ sơ cán bộ tổng hợp sau:

Viết lênh cho nút “Thực hiện in” Thêm điều kiên in

tt = IIf(chonin = 1, "indscanbo",

IIf(chonin = 2, "dsnamsinh", "dsphong"))

Select Case chon

tt = IIf(chonin = 1, "indscanbo", IIf(chonin = 2, "dsnamsinh", "dsphong"))Select Case chon

Trang 21

acNomal, ,"phong=[forms]![in_chonds]! [ph]"

Case 2DoCmd.OpenReport [tt],

acPreview, ,"phong=[forms]!

[in_chonds]![ph]"

Case 3DoCmd.OutputTo acReport, [tt]

End Select

4 Tạo Form in danh sách cán bộ theo phòng và giới tính

Viết lệnh cho nút “thực hiện in”

dk = IIf(chonin = 1,

"phong=[forms]![in_dk]!

[combo0]", "gioitinh=[forms]![in_dk]![check1]")

Select Case chonCase 1

DoCmd.OpenReport "dscanbo", acNomal, , [dk]

Case 2DoCmd.OpenReport "dscanbo", acPreview, , [dk]

Case 3DoCmd.OutputTo acReport, "dscanbo", , , Yes

PHẦN THỰC HÀNH THÊM

1 Sử dụng kỹ thuật Sub-Main Form để tạo cac form tổng hợp dữ liệu

Trang 22

Sau khi chọn tên một phòng ban, bảng lương các cán bộ phòng đó hiển thị lênsub-form Nhấn nút In bảng lương, bảng lương riêng phòng ban đó sẽ được in ra một report.

Hướng dẫn: Viết lệnh Textbox hiện tên phòng: =cbophongban.Column(1)

2 Tạo form đếm số nam nữ theo phòng chọn từ Combo

3 Thiết kế form tổng hợp thông tin bán hàng như sau:

Sau khi nhập xong giá trị từ ngày và đến ngày, thông tin chi tiết về các mặt hàng bán ra trong phạm vi ngày đó được tổng hợp theo như giao diện trên

4 Tạo form theo dõi thông tin hoá đơn bán hàng của một khách hàng nào đó:

Sau khi chọn tên một khách, thông tin về các hoá đơn mua hàng được hiển thị

5 Tạo form theo dõi thông tin hoá đơn bán hàng của một khách hàng nào đó:

Ngày đăng: 20/04/2021, 20:54

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w