Giáo trình Hệ quản trị cơ sở dữ liệu (Phần 2)
7.1. Giới thiệu về lập trình
Trong Visual FoxPro, lập trình thủ tục (lập trình cấu trúc) và phương pháp lập
trình hướng đối tượng làm việc chung với nhau, vì thế ta có thể tạo các ứng dụng một
cách mềm dẻo. Lập trình thủ tục là viết một dãy các lệnh liên tiếp với nhau để thực
hiện một nhiệm vụ nào đó.
Thông thường bất cứ nhiệm vụ nào làm bằng chương trình đều có thể làm bằng
hội thoại hoặc sử dụng công cụ nếu có thời gian.
7.1.1. Các kỹ thuật lập trình trong Visual FoxPro
Ta có thể viết chương trình trong Visual FoxPro bằng cách viết các câu lệnh
trong:
- Cửa sổ lệnh
- Trong một file chương trình
- Trong các cửa sổ tình huống (Sự kiện- Event) hay phương thức (Method) của
Form Designer,.
- Trong các cửa sổ thủ tục của Form Designer, .
1) Sử dụng cửa sổ lệnh
Ta có thể thực hiện các câu lệnh bằng cách gõ chúng vào cửa sổ lệnh rồi ấn
phím Enter. Để thực hiện lại các câu lệnh này ta di chuyển con trỏ đến dòng chứa câu
lệnh đó rồi ấn phím Enter. Ta cũng có thể cho thực hiện nhiều dòng lệnh một lúc bằng
cách sau:
- Chọn các dòng lệnh cần thi hành.
- Ấn phím Enter.
Việc thi hành lệnh trên cửa sổ lệnh có ưu điểm là không lưu các lệnh cần thực
hiện vào một file chương trình mà vẫn thực hiện được các lệnh đó.
2) Các bước tạo một file chương trình
a) Một file chương trình Visual FoxPro là một file văn bản chứa dãy các câu
lệnh có phần mở rộng là PRG. Để tạo một file chương trình ta thực hiện một trong các
cách sau:
Trong cửa sổ Project Manager, chọn trang Code, sau đó chọn mục Program
rồi chọn nút New.
Trong cửa sổ lệnh gõ vào lệnh Modify Command
b) Mẫu một File chương trình
Phần giới thiệu: Tên chương trình, ngày viết, tác giả . . Trước mỗi dòng
của phần này đều có dấu *
Phần thiết lập môi trường nhờ các lệnh SET
Phần nhập dữ liệu: Khởi tạo các hằng, biến. Nhập dữ liệu cho các biến nhớ,
mở các CSDL
Phần tính toán: Thực hiện các nhiệm vụ của chương trình.
Phần in kết quả tính toán
Phần kết thúc: Đóng các bảng CSDL, trả về môi trường làm việc cũ
Ví dụ: Chương trình sau tìm và in ra họ tên, ngày sinh và năm làm việc của một nhân
viên trong bảng nhanvien.dbf có mã nhân viên nhập từ bàn phím.
set talk off
set date to french
set default to c:\dulieu
clear
close all
use nhanvien
accept 'nhap ma nhan vien:' to bma
locate for MANV =bma
if found()
? 'Ho va ten:' , hoten
? ' ngay sinh:', ngaysinh
?'nam lam viec:', namlv
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Tóm tắt nội dung tài liệu: Giáo trình Hệ quản trị cơ sở dữ liệu (Phần 2)
............................................... Số thứ tự Môn Điểm .. .. . . . . .. Số môn học: .. Điểm trung bình học tập: . Nam Định, ngày ... tháng ... năm ..... BAN GIÁM HIỆU Yêu cầu: - Số thứ tự lấy giá trị từ các biến nhớ. - Số lấy theo số trang. - Các thông tin lấy từ các bảng tƣơng ứng. - Giới tính phải ghi rõ là “Nam” hay “Nữ”. - Ngày, tháng, năm là ngày in phiếu. Câu 6: 1) Thiết kế và lập trình Form điều khiển việc tra cứu điểm của sinh viên theo mẫu: Bài tập thực hành 248 Yêu cầu: Trong đó mã sinh viên đƣợc chọn từ một Combo box; Combo box kỳ chỉ xuất hiện khi chọn mục chọn một kỳ; khi chọn Combo box mã sinh viên thì các thông tin về thí sinh họ tên, ngày sinh, quê quán sẽ xuất hiện trên các Text Box. 2) Thiết kế và lập trình Form điều khiển việc tra cứu điểm của sinh viên theo mẫu: Yêu cầu: Trong đó mã sinh viên đƣợc chọn từ một Combo box; Combo box tên môn học chỉ xuất hiện khi chọn mục chọn một môn học; khi chọn Combo box mã sinh viên thì các thông tin về thí sinh họ tên, ngày sinh, quê quán sẽ xuất hiện trên các Text Box. 3) Thiết kế và lập trình Form điều khiển việc in giấy báo kết quả học tập (trong câu 5.4) theo mẫu: Bài tập thực hành 249 Yêu cầu: Trong đó kỳ đƣợc chọn từ một Combo box; Combo box mã sinh viên chỉ xuất hiện khi chọn mục chọn một sinh viên. 4) Thiết kế và lập trình Form điều khiển việc in danh sánh thi lần 1 (trong câu 5.2) và lần 2 (trong câu 5.3) theo mẫu: Yêu cầu: Trong đó lớp đƣợc chọn từ một Combo box; khi chọn Combo box kỳ thì Combo box môn học có hiệu lực và chỉ hiện ra những môn học của kỳ đó; khi chọn option thi lần 1 thì in mẫu trong câu 5.2; khi chọn option thi lại thì in mẫu trong câu 5.3. 5) Thiết kế và lập trình Form điều khiển việc in phiếu thi lại (trong câu 5.1) theo mẫu: Bài tập thực hành 250 Yêu cầu: Trong đó kỳ đƣợc chọn từ một Combo box; khi chọn Combo box kỳ thì Combo box môn học có hiệu lực và chỉ hiện ra những môn học của kỳ đó; Combo box mã sinh viên chỉ xuất hiện khi chọn mục chọn một sinh viên. Câu 7: Tạo Menu theo mẫu dƣới đây rồi gắn tất cả các Query, View, Form, Report, ... đã tạo ở các câu trên vào các chức năng trên Menu. Nhập/Sửa dữ liệu Tìm kiếm In ấn Thoát Về FOXPRO Về WINDOWS ..... ........ .... Yêu cầu: - Một Menu chạy trên màn hình nền. - Một Menu chạy trên Form Bài số 7. Trong dự án quản lý kinh doanh của một công ty TNHH có chứa cơ sở dữ liệu QLKD gồm các bảng CSDL có cấu trúc nhƣ sau: KhHang.DBF Tên trƣờng Giải thích Makh Mã khách hàng Tenkh Họ và tên khách hàng Gioitinh Giới tính Diachi Địa chỉ DienThoai Điện thoại Bài tập thực hành 251 MatHang.DBF Tên trƣờng Giải thích Mamh Mã mặt hàng Tenmh Tên mặt hàng Mau Màu sắc DVT Đơn vị tính MuaBan.DBF Tên trƣờng Giải thích SoHD Số hóa đơn Mamh Mã mặt hàng Makh Mã khách hàng MB Khách hàng mua hay bán NgayMB Ngày Khách hàng mua hay bán Soluong Số lƣợng Dongia Đơn giá Câu 1: Tạo dự án, cơ sở dữ liệu và cấu trúc các bảng trên với kiểu dữ liệu, độ rộng, ... của các trƣờng tự xác định cho phù hợp với bài toán và nhập dữ liệu tối thiểu mỗi bảng 10 bản ghi. Câu 2: Tạo các Form để nhập dữ liệu cho các bảng trên, trong đó có ít nhất một form có lƣới (trên form có các nút lệnh để điều khiển sửa, xoá, thêm, tìm kiếm, thoát...). Câu 3: Tạo các Query hay View thực hiện các công việc sau: 1) Đƣa ra các thông tin gồm mã khách hàng, họ tên, giới tính của những khách hàng đã bán mặt hàng màu „Xanh‟ với số lƣợng >100 trong năm 2010. 2) Đƣa ra các thông tin gồm mã khách hàng, họ tên, giới tính của những khách hàng có địa chỉ „Nam Định‟ hoặc „Hà Nội‟ đã mua mặt hàng có đơn giá lớn hơn 200. 3) Đƣa ra các thông tin gồm mã khách hàng, tên khách hàng, địa chỉ, điện thoại của những khách hàng đã mua mặt hàng màu “Vang” hoặc “Xanh” trong quý 3 năm 2010. Bài tập thực hành 252 4) Đƣa ra các thông tin gồm: mã khách hàng, tên khách hàng, mã mặt hàng, tên mặt hàng, số lƣợng, đơn giá, thành tiền của khách hàng đã bán một mặt hàng trong một lần có mã mặt hàng đƣợc nhập vào từ bàn phím. 5) Đƣa ra các thông tin của các khách hàng có tên là „Vuong‟ chƣa mua hàng lần nào. 6) Đƣa ra danh sách các khách hàng không bán hàng lần nào trong năm 2010. 7) Đƣa ra danh sách các mặt hàng không đƣợc bán lần nào trong năm 2010. 8) Đƣa ra danh sách các mặt hàng mà khách hàng đã bán có đơn giá nhỏ hơn đơn giá trung bình mỗi lần bán một mặt hàng. 9) Đƣa ra danh sách các khách đã mua hàng có số lần mua nhỏ hơn 5. Danh sách đƣa ra sắp xếp theo chiều giảm dần của số lần mua. 10) Đƣa ra các thông tin gồm mã mặt hàng, tên mặt hàng, số lần bán, tổng số lƣợng, tổng số tiền đã bán mặt hàng đó trong năm 2005 và có tổng số lƣợng mỗi lần bán một mặt hàng > 25. 11) Cho biết tenkh, diachi, DT của những khách hàng đã bán mặt hàng màu “Vang” hoặc “xanh” với số lƣợng >100. 12) Cho biết tenkh, tenmh của những khách hàng có giới tính là “nam” đã bán mặt hàng màu “Den” và mua mặt hàng màu “Xanh” với 200> soluong>100. 13) Cho biết các thông tin của các khách chƣa tham gia mua bán lần nào. 14) Cho biết các thông tin của các khách chƣa mua hàng lần nào. 15) Cho biết các thông tin của các mặt hàng chƣa đƣợc mua bán lần nào. 16) Cho biết các thông tin của các khách, số lần mua và số tiền đã mua hàng có số lần mua lớn nhất hoặc nhỏ nhất trong tháng 5 năm 2010. 17) Đƣa ra mã mặt hàng, tên mặt hàng, đơn vị tính, màu, số lƣợng của các mặt hàng tồn kho. Câu 4: 1) Thiết kế Report phân nhóm theo ngày bán hàng gồm các thông tin sau: ngày bán hàng, số thứ tự, mã khách hàng, họ tên khách hàng, địa chỉ khách hàng. Cuối mỗi nhóm và cuối báo cáo đếm số khách hàng đã mua hàng. 2) Thiết kế Report bảng kê mua hàng gồm các thông tin sau: ngày mua hàng, số thứ tự, mã mặt hàng, tên mặt hàng, số lƣợng, đơn giá, thành tiền của các mặt hàng Bài tập thực hành 253 đã mua. Danh sách đƣợc phân nhóm theo ngày mua hàng. Trong mỗi nhóm danh sách đƣợc sắp xếp theo chiều giảm dần của cột số lƣợng. Cuối mỗi nhóm có thống kê tổng số tiền mà cửa hàng đã mua trong ngày. Cuối báo cáo có thống kê tổng số tiền mà cửa đã mua hàng. 3) Thiết kế Report thống kê danh sách các khách hàng mua hàng trong năm 2010, phân nhóm theo mã khách hàng gồm các thông tin sau: mã khách hàng, họ tên khách hàng, địa chỉ khách hàng, số thứ tự, mã mặt hàng, tên mặt hàng, ngày mua, số lƣợng, đơn giá, thành tiền. Trong mỗi nhóm danh sách đƣợc sắp xếp theo chiều giảm dần của cột số lƣợng. Cuối mỗi nhóm có thống kê tổng số tiền mỗi khách hàng đó đã mua hàng. Cuối báo cáo có thống kê tổng số tiền khách hàng đã mua hàng. 4) Thiết kế Report in ra hoá đơn bán hàng cho mỗi mỗi khách hàng khi mua hàng theo từng ngày theo mẫu sau: CÔNG TY TNHH ANH TÚ SỐ 12 TRƢỜNG CHINH NAM ĐỊNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc HOÁ ĐƠN BÁN HÀNG KIÊM PHIẾU XUẤT KHO Số: 5 Tên khách hàng: ông Trần Thanh Hải Địa chỉ: 102 phố Hàng Thao Số điện thoại: (0350) 3678756 Ngày mua hàng: 20/04/2005 Danh sách mặt hàng: STT Tên mặt hàng Số lƣợng Đơn giá Đơn vị tính Thành tiền 1 Xi măng bỉm sơn 10 12,0 tấn 120,0 2 Sắt 6 Việt hàn 9 8,0 tạ 72,0 3 Gạch lát nền LH 1200 0,005 viên 0,6 Tổng cộng 192,600 triệu đồng Nam Định, ngày 20 tháng 04 năm 2006 CHỦ CỬA HIỆU Bài tập thực hành 254 5) Thiết kế Report thống kê danh sách các mặt hàng mà cửa hàng đã bán cho khách hàng trong năm 2010, phân nhóm theo quý gồm các thông tin sau: mã mặt hàng, tên mặt hàng, số thứ tự, mã khách hàng, họ tên khách hàng, ngày bán, số lƣợng, đơn giá, thành tiền. Cuối mỗi nhóm có thống kê số lần bán, tổng số lƣợng, tổng số tiền đã bán mặt hàng đó. Cuối báo cáo có thống kê tổng số tiền cửa hàng đã bán hàng. Danh sách đƣa ra mỗi nhóm đƣợc sắp xếp theo chiều giảm dần của cột thành tiền. 6) Thiết kế Report thống kê danh sách các mặt hàng mà cửa hàng đã mua, phân nhóm theo năm, quý gồm các thông tin sau: mã mặt hàng, tên mặt hàng, số lƣợng, đơn giá, thành tiền. Cuối mỗi nhóm có thống kê số lần mua, tổng số lƣợng, tổng số tiền đã mua mặt hàng đó. Cuối báo cáo có thống kê tổng số tiền cửa hàng đã mua hàng. Danh sách đƣa ra mỗi nhóm đƣợc sắp xếp theo chiều giảm dần của cột thành tiền. Câu 5: 1) Tạo Label in giấy báo cho hững khách hàng đã bán hàng cho cửa hàng trong năm 2009 và có tổng số tiền bán hàng nhỏ hơn tổng số tiền bán hàng trung bình theo mẫu sau: CÔNG TY TNHH ANH TÚ SỐ 12 TRƢỜNG CHINH NAM ĐỊNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc GIẤY BÁO Số: 5 Kính gửi: Ông Trần Hải Anh Địa chỉ: 120 phố Hàng Thao Nam Định Ông là khách hàng của chúng tôi có: Số lần bán hàng là: 15 Với tổng số tiền là: 120 triệu đồng. Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ông đến nhận quà tặng của cửa hàng Thời gian muộn nhất là 10 ngày sau khi nhận đƣợc giấy báo. Nam Định, ngày 20 tháng 04 năm 2010 CHỦ CỬA HIỆU Bài tập thực hành 255 Yêu cầu: - Những chỗ . là chỗ phải điền dữ liệu vào, trong đó: - Số lấy giá trị từ biến nhớ. - Các thông tin lấy từ các bảng dữ liệu tƣơng ứng. - Kính gửi phải ghi rõ ông hay bà. - Ngày, tháng, năm là ngày hiện tại. 2) Thiết kế Report in ra hoá đơn thanh toán cho khách hàng khi cửa hàng mua hàng trong năm 2009 theo mẫu sau: CÔNG TY TNHH ANH TÚ SỐ 12 TRƢỜNG CHINH NAM ĐỊNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc HOÁ ĐƠN THANH TOÁN Số: 5 Cửa hàng chúng tôi thanh toán cho: Tên khách hàng: Ông Nguyễn Thanh Hải Địa chỉ: 102 phố Hàng Thao Số điện thoại: (0350) 3678756 Theo các hóa đơn sau: STT Số hóa đơn Ngày mua Đơn vị tính Số tiền 1 01XMBS 20/10/2010 USD 120,0 2 03SVH 15/11/2010 Ngàn Won Hàn quốc 72,0 3 04GM 15/12/2010 Triệu đồng VN 345,5 Nam Định, ngày 20 tháng 04 năm 2010 CHỦ CỬA HIỆU 3) Thiết kế Label in giấy mời sau cho những khách hàng mua hàng trong năm 2009, có số lần mua hàng lớn hơn 10 theo mẫu. CÔNG TY TNHH ANH TÚ SỐ 12 TRƢỜNG CHINH NAM ĐỊNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Bài tập thực hành 256 GIẤY BÁO Số: 5 Kính gửi: Ông Trần Hải Anh Địa chỉ: 120 phố Hàng Thao Nam Định Ông là khách hàng của chúng tôi có: Số lần mua hàng là: 15 Với tổng số tiền là: 120 triệu đồng. Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ông đến nhận quà tặng của cửa hàng. Thời gian muộn nhất là 10 ngày sau khi nhận đƣợc giấy báo. Nam Định, ngày 20 tháng 04 năm 2010 CHỦ CỬA HIỆU Yêu cầu: - Những chỗ . là chỗ phải điền dữ liệu vào, trong đó: - Số lấy giá trị từ biến nhớ. - Các thông tin lấy từ các bảng dữ liệu tƣơng ứng. - Kính gửi phải ghi rõ ông hay bà. - Ngày, tháng, năm là ngày hiện tại. 4) Thiết kế Label in giấy báo sau cho những khách hàng bán hàng có tổng số tiền bán lớn hơn 100 triệu và số lần bán lớn hơn 10 theo mẫu sau: CÔNG TY TNHH ANH TÚ SỐ 12 TRƢỜNG CHINH NAM ĐỊNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc GIẤY BÁO Số: 5 Kính gửi: Ông Trần Hải Anh Mã khách hàng: KH001 Địa chỉ: 120 phố Hàng Thao Nam Định Ông là khách hàng của chúng tôi có: Số lần bán hàng là: 15 Với tổng số tiền là: 120 triệu đồng. Bài tập thực hành 257 Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ông đến nhận quà tặng của cửa hàng Thời gian muộn nhất là 10 ngày sau khi nhận đƣợc giấy báo. Nam Định, ngày 01 tháng 01 năm 2011 CHỦ CỬA HIỆU Yêu cầu: - Những chỗ . là chỗ phải điền dữ liệu vào, trong đó: - Số lấy giá trị từ biến nhớ. - Các thông tin lấy từ các bảng dữ liệu tƣơng ứng. - Kính gửi phải ghi rõ ông hay bà. - Ngày, tháng, năm là ngày hiện tại. 5) Thiết kế Label in giấy báo sau cho những khách hàng mua hàng trong năm 2010, có tổng số tiền mua hàng lớn hơn 50 theo mẫu sau: CÔNG TY TNHH ANH TÚ SỐ 12 TRƢỜNG CHINH NAM ĐỊNH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc GIẤY BÁO Số: 5 Kính gửi: Ông Trần Hải Anh Địa chỉ: 120 phố Hàng Thao Nam Định Ông là khách hàng của chúng tôi có: Số lần bán hàng là: 15 Với tổng số tiền là: 120 triệu đồng. Nhân dịp kỷ niệm ngày thành lập cửa hàng xin kính mời Ông đến nhận quà tặng của cửa hàng Thời hạn muộn nhất là 20 ngày tính từ ngày in giấy báo Nam Định, ngày 01 tháng 01 năm 2011 CHỦ CỬA HIỆU Yêu cầu: - Những chỗ . là chỗ phải điền dữ liệu vào, trong đó: - Số lấy giá trị từ biến nhớ. Bài tập thực hành 258 - Các thông tin lấy từ các bảng dữ liệu tƣơng ứng. - Kính gửi phải ghi rõ ông hay bà. - Ngày, tháng, năm là ngày hiện tại. Câu 6: 1) Hãy thiết kế và lập trình Form điều khiển việc in giấy báo nhận quà (trong câu 5.4) theo mẫu: Yêu cầu: Trong đó địa chỉ đƣợc chọn từ một Combo box; Combo box mã khách hàng chỉ xuất hiện khi chọn mục chọn một khách hàng. 2) Hãy thiết kế và lập trình Form điều khiển việc tìm kiếm thông tin khách hàng đã mua bán hàng theo mẫu: Bài tập thực hành 259 Yêu cầu: Trong đó mã khách hàng đƣợc chọn từ một Combo box; khi chọn một mã khách hàng thì các thông tin về khách hàng họ tên, quê quán sẽ hiện ở các Text box; Combo box ngày, tháng, năm đƣợc chọn thì nút tìm kiếm mới có hiệu lực 3) Hãy thiết kế và lập trình Form điều khiển việc in hóa đơn bán hàng kiêm phiếu xuất kho (trong câu 4.4) theo mẫu: Yêu cầu: Combo box ngày, tháng, năm đƣợc chọn thì nút xem trƣớc và in ấn mới có hiệu lực. 4) Hãy thiết kế và lập trình Form điều khiển việc tra cứu thông tin mặt hàng theo mẫu: Yêu cầu: Combo box ngày, tháng, năm đƣợc chọn thì nút tìm kiếm mới có hiệu lực; khi chọn vào Option tất cả thì hiện ra tất cả các mặt hàng đã mua bán trong ngày hôm đó; Bài tập thực hành 260 chọn vào Option Mua thì hiện ra tất cả các mặt hàng đã mua trong ngày hôm đó; chọn vào Option Bán thì hiện ra hiện ra tất cả các mặt hàng đã bán trong ngày hôm đó. Câu 7: Tạo Menu theo mẫu dƣới đây rồi gắn tất cả các Query, View, Form, Report, ... đã tạo ở các câu trên vào các chức năng trên Menu. Nhập/Sửa dữ liệu Tìm kiếm In ấn Thoát Về FOXPRO Về WINDOWS ..... ........ .... Yêu cầu: - Một Menu chạy trên màn hình nền. - Một Menu chạy trên Form Tài liệu tham khảo 261 Tµi liÖu tham kh¶o [1]. Nguyễn Ngọc Minh, Nguyễn Đình Đề. Sử dụng và khai thác Microsoft Visual Foxpro 6.0. NXB Lao động 2003 [2]. Phạm Hùng Phú, Nguyễn Văn Thẩm, Đoàn Tuấn Nam. Giáo trình Hệ quản trị cơ sở dữ liệu. Giáo trình nội bộ Trƣờng Đại học Sƣ phạm Kỹ thuật Nam Định. 2009. [3]. Hoàng Quang, Quang Anh. Tự học ngôn ngữ lập trình Visual Fox 8.0. NXB Văn hóa thông tin. 2007. [4]. Nguyễn Đình Tê. Giáo Trình Lý Thuyết Và Bài Tập Foxpro. NXB Giáo dục. 2002. [5]. Vũ Nhật Minh. Thực tập lập trình Mirosoft Visual FoxPro 9.0. NXB Giao thông vận tải. 2007. [6] Nguyễn Tiến, Nguyễn Văn Hoài. Giáo Trình Lý Thuyết Và Bài Tập Microsoft Visual Foxpro 6.0. NXB Thống kê. 2005.
File đính kèm:
- giao_trinh_he_quan_tri_co_so_du_lieu_phan_2.pdf