BÀI TẬP SỐ 6
Câu 1 : Thiết kế bảng - Tạo mối quan hệ - Nhập dữ liệu vào bảng theo các yêu cầu sau
1. Bảng T_DMHH(MSNHOM Text(2), MSHH Text (10), TENHANG Text (50), DVT
Text(10), DGNHAPVND Number (Double), DGNHAPUSD Number (Double),
DGBANVND Number (Double), DGBANUSD Number (Double))
2. Bảng T_DMNHOM(MSNHOM Text (2), TENNHOM Text (50))
3. Bảng T_DMKHO(MSKHO Text (10), DIENGIAI Text (50), DIACHI Text (50))
4. Bảng T_NHAPXUATTON (MSKHOA Text(30), MSKHO Text(10), MSHH Text(10),
SLDAU Number (Single), GTDAUUSD Number (Single), GTDAUVND Number (Single),
SLNHAPTRONGKY Number (Single), GTNHAPUSDTRONGKY Number (Single),
GTNHAPVNDTRONGKY Number (Single), SLXUATTRONGKY Number (Single),
GTXUATUSDTRONGKY Number (Single), GTXUATVNDTRONGKY Number (Single),
SLCUOIKY Number (Single), GTCUOIUSDCUOIKY Number (Single),
GTCUOIVNDCUOIKY Number (Single))
Câu 2 : Tạo Query thực hiện những yêu cầu sau
1. Hãy tính các cột sau trong bảng NHAPXUATTON,
• GTNHAPUSDTRONGKY = [Slnhaptrongky]*[Dgnhapusd]
• GTNHAPVNDTRONGKY = [Slnhaptrongky]*[Dgnhapvnd]
• GTXUATUSDTRONGKY = [Slxuattrongky]*[Dgbanusd]
• GTXUATVNDTRONGKY= [Slxuattrongky]*[Dgbanvnd]
• SLCUOICUOIKY = [SLDau]+[Slnhaptrongky]-[Slxuattrongky]
2. Hãy tính các cột sau trong bảng NHAPXUATTON
• Gtcuoiusdcuoiky = [Gtdauusd]+[Gtnhapusdtrongky]-
[Gtxuatusdtrongky]
• Gtcuoivndcuoiky = [Gtdauvnd]+[Gtnhapvntrongky]-
[Gtxuatvndtrongky]
3. Hãy cho biết Kho nào có Tổng Giá Trị Cuối Vnd Cuối Kỳ có số tiền cao nhất?.
4. Hãy cho biết nhóm hàng nào chưa sử dụng?
Câu 3 : Tạo Form HOADON như hình trang sau, yêu cầu :
1. Thiết kế form đúng yêu cầu.
2. MANHOM dạng combo box; TENNHOM tự động hiển thị khi chọn nhóm
3. Tính đúng tổng tiền, tổng tiền tự động cập nhật khi dữ liệu trong forrm con thay đổi
4. Các nút lệnh thực hiện đúng chức năng, nút xóa có cảnh báo tiếng Việt.
Câu 4 : Tạo báo cáo TONGHOP như sau :
HƯỚNG DẪN GIẢI BÀI TẬP 6
Câu 1 :
a. Thiết kế bảng dữ liệu :
- Bảng T_DMHH : Với MAHH chọn Require = YES; Index = Yes, no duplicate. (đặt
khóa MAHH)
- Bảng T_DMNHOM : Với MANHOM chọn Require = YES; Index = Yes, no
duplicate. (đặt khóa MANHOM)
- Bảng T_DMKHO : Với MSKHO chọn Require = YES; Index = Yes, no duplicate.
(đặt khóa MSKHO)
- Bảng T_NHAPXUATTON : Với MSKHOA, MSKHO, MSHH chọn Require = YES;
Index = Yes, duplicates OK. (đặt khóa MSKHOA; MSKHO, MSHH)
b. Tạo mối quan hệ : Tạo mối quan hệ như hình sau
- Xóa mối quan hệ giữa TDMNHOM và
T_DMHH Right click trên bảng
T_DMHH chọn Table design chọn
MSNHOM bấm chọn LOOKUP
WIZARD trong phần Data type Xuất
hiện bảng chọn như hình bên click
chọn hàng đầu Click next chọn
T_DMNHOM click next click chọn
MSNHOM Click next next next
finish Close & save thiết kế bảng
trong cửa sôe relationship double click
vào dây nối 2 bảng T_DMNHOM &
T_DMHH để thiét lập quan hệ 1 - ∞.
- Right click trên bảng T_NHAPXUATTON chọn Table design chọn MSKHO
Click thẻ Lookup Click phần display Control chọn Combo box trong phần
Row Source click chọn bảng T_DMKHO chọn MSHH Click thẻ Lookup
Click phần display Control chọn Combo box trong phần Row Source click chọn
bảng T_DMHH Click nút Save Close thiết kế bảng.
- Save & đóng cửa sổ tạo mối quan hệ.
c. Nhập dữ liệu : Nhập bảng theo thứ tự DMNHOM, DMKHO DMHH
NHAPXUATTON..
Câu 2 : Thực hiện các query
a. Chọn các bảng tham gia truy vấn : T_DMHH; T_NHAPXUATTON chuyển đổi
thành update query đưa các field sau vào vùng field name :
GTNHAPUSDTRONGKY, GTNHAPVNDTRONGKY; GTXUATUSDTRONGKY,
GTXUATVNDTRONGKY, SLCUOIKY; tại phần UPDATE TO lần lượt nhập các
công thức sau vào các cột tương ứng : SLNHAPTRONGKY*DGNHAPUSD;
SLNHAPTRONGKY*DGNHAPVND; SLXUATTRONGKY*DGBANUSD ;
SLXUATTRONGKY*DGBANVND; SLDAU+SLNHAPTRONGKY -
SLXUATTRONGKY CLICK lệnh run (!) click yes lưu và đặt tên Query1.
b. Chọn các bảng tham gia truy vấn : T_NHAPXUATTON chuyển đổi thành update
query đưa các field GTcuoiUSDcuoiky, GTcuoiVNDcuoiky vào vùng field name
lần lượt nhập các công thức sau vào vùng UPDATE TO tương ứng :
GTDAUUSD+GTNHAPUSDTRONGKY – GTXUATUSDTRONGKY;
GTDAUVND+GTNHAPVNDTRONGKY - GTXUATVNDTRONGKY click lệnh
RUN click Yes SAVE và đặt tên Query2.
c. Đưa bảng T_NHAPXUATTON, T_DMKHO vào tham gia truy vấn Chọn
MSKHO(T_nhapxuatton), DIENGIAI,tạo field TONGVND :
GTCUOIVNDCUOIKY vào field name chuyển thành truy vấn chọn lựa tổng hợp
tại phần total MSKHO(groupby); Diengai(groupby); TONGVND(SUM) Sắp thứ
tự cho field TONGVND là descending Nhập số 1 vào ô TOP VALUE Chạy truy
vấn Save và đặt tên là Query 3.
d. Đưa T_DMNHOM vào tham gia truy vấn chọn các field MSNHOM, TENNHOM
vào vùng field name tại vùng Criteria của cột MSNHOM nhập câu lệnh NOT IN
(SELECT MSNHOM FROM T_DMHH) Click run lưu truy vấn
Câu 3 : Tạo form CAPNHAT
a. Tạo một truy vấn đưa các bảng T_DMHH; T_NHAPXUATTON tham gia truy vấn
gồm các field MSNHOM, MSKHOA, MAHH, TENHH, SLXUATTRONGKY,
GTXUATUSDTRONGKY, GIATRIXUATVNDTRONGKY và lưu & đặt tên là
querysub
b. Click create form by using wizard lần lượt chọn các field MSNHOM,
NGAYTENNHO trong bảng T_DMNHOM; MSKHOA, MSHH, TENHH,
SLXUAT .... GTXUATVNDTRONGKY trong bảng QUERYSUB ; Click Next
kiểm tra dạng main subform & các field chọn theo yêu cầu click Next click Next
Chọn kiểu Industrial click next đặt tên form là F_CAPNHAT , đặt tên cho
form phụ là F_CAPNHAT SUBFORM click finish.
c. Về chế độ design view sửa đổi thiết kế lại giống như trong bài
d. Tạo nút lệnh bằng Wizard, riêng nút xóa không tạo bằng Wizard mà vẽ nút lệnh trên
form click nút cancel để từ chối sự trợ giúp double click nút lệnh Chọn Event
Chọn On Click click vào nút ... chọn Macro Builder OK đặt tên cho
Macro là canhbao OK Click View Conditions nhập và trình bày Macro như
hình vẽ sau Click save trở về cửa sổ tạo form.