Khái quát về Microsoft Access MS.Access là một hệ quản trị cơ sở dữ liệu của hãng Microsorft chạy trênmôi trường Windows, trên đó có các công cụ hữu hiệu và tiện lợi để tự động sảnsinh c
Trang 1MỤC LỤC
Chương 1 GIỚI THIỆU VỀ HỆ QUẢN TRỊ CSDL MICROSOFT
ACCESS VÀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0 ………1
1.1 Khái quát về Microsoft Access 1
1.2 Giới thiệu các công cụ mà MS Access cung cấp 1
1.3 Tìm hiểu chung về Visual Basic 6.0 5
1.4 Lập trình giao diện và kết nối cơ sở dữ liệu 17
Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 30
2.1 Khảo sát hiện trạng 30
2.2 Khảo sát hiện trạng tại trường THCS Minh Lập 39
2.3 Phân tích và thiết kế hệ thống 47
2.4 Phân tích thiết kế hệ thống 49
2.5 Phân tích thiết kế cơ sở dữ liệu 55
Chương 3 KẾT QUẢ THỰC NGHIỆM 59
3.1 Giao diện chính của chương trình 59
3.2 Chức năng đăng nhập 59
3.3 Chức năng nhập Hồ sơ học sinh 60
3.4 Chức năng nhập hạnh kiểm học sinh 60
3.5 Chức năng nhập điểm học sinh theo học kỳ 61
3.6 Chức năng tìm kiếm học sinh 61
3.7 Chức năng báo cáo kết quả học tập cả năm học 62
3.8 Chức năng in hồ sơ học sinh theo lớp 62
KẾT LUẬN 63
1 Các kết quả đạt được 63
2 Hướng phát triển 63
Trang 2TÀI LIỆU THAM KHẢO 65
Trang 3LỜI NÓI ĐẦU
Hiện nay, tin học đã và đang được ứng dụng rộng rãi trong hầu hết cáclĩnh vực của nền kinh tế xã hội đối với mỗi quốc gia Việc ứng dụng rộng rãi củatin học đã đem lại những thành tựu vô cùng to lớn trong nhiều ngành, nhiều lĩnhvực khác nhau, đặc biệt trong lĩnh vực quản lý, lưu trữ
Với mong muốn được sử dụng những kiến thức đã học cùng với sự hướngdẫn của thầy giáo Hoàng Quang Trung, em đã mạnh dạn xây dựng chương trình
“Quản lý điểm trường THCS Minh Lập” Mục đích của đề tài này là nhằm phục
vụ cho công tác quản lý điểm của học sinh ở các trường THCS, giúp Trườngquản lý điểm và hồ sơ học sinh được dễ dàng và tiện lợi hơn Kết hợp vớinhững kiến thức đã học về lập trình, về cơ sở dữ liệu … để từ đó em xâydựng chương trình quản lý này
Do còn nhiều hạn chế về thời gian, về kiến thức và điều kiện làm việc,chương trình của em chắc chắn còn nhiều thiếu sót Em rất mong nhận được
sự góp ý của các thầy cô giáo và các bạn để chương trình của em được hoànthiện hơn
Một lần nữa em xin chân thành cảm ơn thầy giáo Hoàng Quang Trungcùng các thầy cô giáo trong khoa đã nhiệt tình giúp đỡ em trong quá trình làm đềtài này
Em xin chân thành cảm ơn!
Thái Nguyên, tháng 3 năm 2010
Sinh viên thực hiện
Bàng Thị Yến
Trang 4Chương 1 GIỚI THIỆU VỀ HỆ QUẢN TRỊ CSDL MICROSOFT ACCESS
VÀ NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0
1.1 Khái quát về Microsoft Access
MS.Access là một hệ quản trị cơ sở dữ liệu của hãng Microsorft chạy trênmôi trường Windows, trên đó có các công cụ hữu hiệu và tiện lợi để tự động sảnsinh chương trình cho hầu hết các bài toán quản lý thường gặp trong thực tế VớiMS.Access, người sử dụng không phải viết từng câu lệnh cụ thể mà vẫn có đượcmột chương trình hoàn chỉnh Nếu cần lập trình, MS.Access có sẵn ngôn ngữAccess Basic để ta có thể lập trình theo ý muốn của người sử dụng
Sáu đối tượng mà Access cung cấp cho người dùng là: Bảng (Table), truyvấn (Query), mẫu biểu (Form), báo biểu (Report), Macro và Module Các đốitượng trên có đầy đủ khả năng lưu trữ dữ liệu, thống kê, kết xuất báo cáo thôngtin và tự động cung cấp nhiều các tác vụ khác
Access không chỉ là một hệ quản trị CSDL mà còn là hệ quản trị CSDLquan hệ (Relational DaTaBase) Access cung cấp công cụ Wizard để tự động tạobảng, truy vấn, báo cáo hỗ trợ cho người dùng Ta có thể sử dụng việc phân tíchbảng để tránh dư thừa dữ liệu Access hỗ trợ rất tốt cho những người mới bướcvào tin học Với Wizard và các phương tiện hoạt động tự động khác, sẽ tiết kiệmđược thời gian, công sức trong việc xây dựng và thiết kế chương trình
1.2 Giới thiệu các công cụ mà MS Access cung cấp
Như trên đã nói, MS.Access cung cấp cho người dùng 6 đối tượng cơ bảnsau:
1.2.1 Bảng (Table)
Trang 5Với bảng, ta thấy nó giống như DBF của Foxpro Trong Access việc tạobảng, sửa đổi cấu trúc của bảng được tiến hành trên môi trường giao diện đồ hoạrất trực quan, việc tạo bảng có thể sử dụng công cụ Wizard hoặc tự thiết kế theo
ý người sử dụng Đối với bảng, Access cung cấp đầy đủ các kiểu dữ liệu cần thiếtcho các trường, bao gồm dữ liệu kiểu Text, kiểu số (Number), kiểu tiền tệ(Currency), kiểu ngày tháng (Date/Time), kiểu ký ức (Memo), kiểu logíc(Yes/No) và các đối tượng OLE
Đặc biệt, với thuộc tính Validation Rule của các trường, chúng ta có thểkiểm soát được các giá trị nhập vào mà không cần viết một dòng lệnh lập trìnhnào như các ngôn ngữ lập trình khác
Ngoài ra, để giảm các thao tác khi nhập liệu, ta có thể đặt thuộc tính ngầmđịnh Default Value hay các phiên bản mới của Access cung cấp các Combo Boxcho các trường của bảng nếu ta muốn sử dụng để giảm bớt các thao tác bàn phím
và sai sót trong quá trình nhập liệu
Để đảm bảo an toàn dữ liệu, Access cho phép thiết lập quan hệ giữa các bảng vớinhau đảm bảo tính ràng buộc Do đó, người dùng không phải kiểm tra tính toànvẹn dữ liệu khi nhập
Các bước cơ bản khi thiết lập một bảng trong MS.Access như sau:
Trang 6* Loại thứ nhất - Truy vấn lựa chọn (Select Query):
Là truy vấn mà kết quả đầu ra là tập hợp các thông tin được lựa chọn từ cácbảng, các truy vấn theo một điều kiện nào đó
* Loại thứ hai - Truy vấn hành động:
Là truy vấn nhằm thực hiện một thao tác xử lý dữ liệu nào đó ví dụ xoá dữliệu (Query Delete), cập nhật dữ liệu (Query Update), chèn dữ liệu (QueryAppend), tạo bảng (Query Make Table)
Việc sử dụng hữu hiệu các truy vấn trong chương trình sẽ làm tăng khảnăng tìm kiếm lời giải cho các bài toán phức tạp Việc sử dụng các hàm tự địnhnghĩa trong các cột của các truy vấn làm tăng khả năng kết xuất thông tin, tăngtính đa dạng, mềm dẻo của thông tin đầu ra
Ngoài ra, ta có thể xây dựng các truy vấn bằng cách sử dụng trực tiếp cáccâu lệnh SQL
Khi xây dựng một truy vấn cần phải:
- Chọn bảng hoặc Query khác làm nguồn dữ liệu
- Thêm các trường mới và kết quả thực hiện các phép tính trên các trườngcủa bảng nguồn
- Đưa vào các điều kiện tìm kiếm, lựa chọn
- Đưa vào các trường dùng để sắp xếp
1.2.3 Biểu mẫu (Form)
Với bảng và truy vấn, ta vẫn xem được thông tin Tuy nhiên, trên biểu mẫu(Form), giao diện thân thiện hơn nhiều Biểu mẫu là công cụ mạnh của Accessđược dùng để:
- Thể hiện và cập nhật dữ liệu cho các bảng
- Tổ chức giao diện chương trình
- Cập nhật dữ liệu từ bảng chọn
- Cập nhật dữ liệu đồng thời cho nhiều bảng
Trang 7Có 4 loại biểu mẫu cơ bản như sau:
* Biểu mẫu một cột (Single Column)
Trong loại biểu mẫu này, các trường được sắp xếp theo hàng dọc, biểumẫu có thể chiếm một hay nhiều trang màn hình, trên đó ta có thể kẻ các đườngthẳng, hình chữ nhật hay trang trí các hình ảnh Với biểu mẫu, người ta thường
sử dụng thêm công cụ Combo Box rất thuận tiện cho việc cập nhật dữ liệu từ bànphím
* Biểu mẫu nhiều cột dạng bảng (Tabular)
Tabular là loại biểu mẫu dùng để hiển thị thông tin theo cột dọc từ tráisang phải, mỗi hàng chứa một bản ghi tương đối giống bảng nhưng ưu điểm hơn
là ta có thể tạo viền, tạo bóng khung nhìn, hiển thị được ảnh trong khi bảng, truyvấn thì không thể làm được
* Biểu mẫu chính/phụ (Main/Sub Form)
Biểu mẫu chính, phụ thường để biểu diễn hiển thị các dạng dữ liệu cóquan hệ một – nhiều Trong mẫu biểu chính/phụ, người ta hay sử dụng các ListBox để lựa chọn thông tin, hạn chế việc gõ bằng bàn phím
* Biểu mẫu đồ hoạ (Graph)
Biểu mẫu đồ hoạ là loại biểu mẫu dùng để thể hiện kết quả thống kê theodạng cột phần trăm (%), đồ thị làm cho kết quả có tính trực quan giống nhưtrong Word, Excel
1.2.4 Report
Báo cáo là phần không thể thiếu được đối với một chương trình quản lýhoàn thiện Các dữ liệu luôn được tổng hợp, thống kê và in ra giấy Thiết kế cácbáo biểu là công việc cần thiết và mất rất nhiều thời gian Tuy nhiên, với Accessthì công việc trở nên thuận lợi hơn nhiều Access cung cấp đầy đủ và đa dạng cácloại báo biểu Trong đó, người dùng có thể thiết kế bằng công cụ Wizard, vượt
Trang 8xa các công cụ của các ngôn ngữ lập trình khác như Foxpro, Visual Basic về chấtlượng cũng như tốc độ.
Khác với Form, Report chỉ kết xuất thông tin chứ không thể cập nhật dữliệu Có rất nhiều dạng báo biểu như báo biểu theo nhóm (Group/ total), báo biểutheo cột (Single Column), báo biểu dạng nhãn thư (Mailing Label), báo biểu tómtắt (Summary), báo biểu dạng bảng (Tabular)
Phạm vi sử dụng của báo biểu trong Access chủ yếu là:
- In dữ liệu dưới dạng bảng, biểu
- Sắp xếp dữ liệu trước khi in
- Sắp xếp, phân nhóm dữ liệu, thực hiện các phép tính để có dữ liệu tổnghợp trên các nhóm, so sánh đối chiếu dữ liệu tổng hợp trên các nhóm với nhau
- In dữ liệu từ nhiều bảng, truy vấn có liên quan trên cùng một báo cáo
Từ báo biểu, ta có thể kết xuất thông tin sang Word, Excel
1.2.5 Macro
Macro là tập các hành động dùng để thực hiện một nhiệm vụ một cách tựđộng Bất kỳ các thao tác nào lặp đi lặp lại nhiều lần đều là đối tượng để tạoMacro Với Macro, ta có thể thiết lập được một hệ thống menu, kích hoạt các nútlệnh, mở đóng các bảng, mẫu biểu, truy vấn Tự động tìm kiếm và chắt lọc thôngtin, kiểm soát các phím nóng
- Câu lệnh Docmd dùng để thực hiện một hành động
- Có thể gắn một Macro hay một thủ tục với một sự kiện của Access Đặcbiệt là sự kiện On Click của nút lệnh
- Dùng nút lệnh để tổ chức giao diện chương trình với một Menu đơn giản
- Dùng Autoexec để tự động hoá các thao tác của chương trình và cài đặtmật khẩu Gắn Macro với một phím hay tổ hợp phím để có thể thực hiện Macro
từ bất kỳ vị trí nào trong cơ sở dữ liệu
Trang 91.2.6 Module
Khi sử dụng Macro ta có thể xây dựng được một tiến trình các công việc
tự động Tuy nhiên, với những bài toán có độ phức tạp cao, Access không đápứng nổi thì ta có thể lập trình bằng ngôn ngữ Access Basic đây là một ngôn ngữlập trình quản lý mạnh trên môi trường WinDow Access Basic có đầy đủ cáckiểu dữ liệu, các cấu trúc điều khiển, rẽ nhánh, các vòng lặp làm công cụ chochúng ta tổng hợp, chắt lọc kết xuất thông tin Ngoài ra, ta có thể sử dụng thưviện các hàm chuẩn của Access Basic cũng như của WinDow để đưa vào chươngtrình Người sử dụng có thể tự viết thêm các hàm, thủ tục và Access Basic coinhư là các hàm chuẩn
1.3 Tìm hiểu chung về Visual Basic 6.0
Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trìnhVisual Basic
(VB) cho phép người dùng truy cập nhanh cách thức lập trình trên môitrường Windows Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6những tính năng trợ giúp mới và các công cụ lập trình hiệu quả Người dùng mớilàm quen với VB cũng có thể làm chủ VB6 một cách dễ dàng
Với VB6, chúng ta có thể :
Khai thác thế mạnh của các điều khiển mở rộng
Làm việc với các điều khiển mới (ngày tháng với điều khiển MonthView
và DataTimePicker, các thanh công cụ có thể di chuyển được CoolBar, sử dụng
đồ họa với ImageCombo, thanh cuộn FlatScrollBar,…)
Làm việc với các tính năng ngôn ngữ mới
Làm việc với DHTML
Làm việc với cơ sở dữ liệu
Các bổ sung về lập trình hướng đối tượng
1.3.1 Làm quen với VB6
Trang 10Bắt đầu một dự án mới với VB6
Từ menu Start chọn Programs/ Microsoft Visual Studio 6.0/ Microsoft Visual Basic 6.0 Khi đó bạn sẽ thấy màn hình đầu tiên như hình dưới đây
Trang 11Cửa sổ New Project
Ở đây, người dùng có thể chọn tạo mới một dự án thực thi được bằng cáchchọn Standard EXE rồi nhấp Open Tiếp theo là cửa sổ làm việc chính của VB6,gọi tắt là IDE (Integrated Development Environment) sẽ được giới thiệu chi tiếttrong phần sau
1.3.2 Tìm hiểu các thành phần của IDE
IDE là tên tắt của môi trường phát triển tích hợp (Integrated DevelopmentEnvironment), đây là nơi tạo ra các chương trình Visual Basic
IDE của Visual Basic là nơi tập trung các menu, thanh công cụ và cửa sổ
để tạo ra chương trình Mỗi một thành phần của IDE có các tính năng ảnh hưởngđến các hoạt động lập trình khác nhau
Thanh menu cho phép tác động cũng như quản lý trực tiếp trên toàn bộứng dụng Bên cạnh đó thanh công cụ cho phép truy cập các chức năng của thanhmenu thông qua các nút trên thanh công cụ
Các biểu mẫu (Form) khối xây dựng chương trình chính của VB
-xuất hiện trong cửa sổ Form Hộp công cụ để thêm các điều khiển vào các biểumẫu của đề án Cửa sổ Project Explorer hiển thị các đề án khác nhau mà người
Trang 12dùng đang làm cũng như các phần của đề án Người dùng duyệt và cài đặt cácthuộc tính của điều khiển, biểu mẫu và module trong cửa sổ Properties Sau cùng,người dùng sẽ xem xét và bố trí một hoặc nhiều biểu mẫu trên màn hình thôngqua cửa sổ Form Layout.
Cửa sổ IDE của VB6
*) Sử dụng thanh công cụ trong IDE của VB
Thanh công cụ là tập hợp các nút bấm mang biểu tượng thường đặt dướithanh menu Các nút này đảm nhận các chức năng thông dụng của thanh menu(New, Open, Save )
- Sử dụng thanh công cụ gỡ rối (debug)
Trang 13Với thanh công cụ gỡ rối, ta có thể thực thi, tạm ngưng hoặc dừng một đề
án Với thanh công cụ Debug, ta có thể kiểm tra chương trình và giải quyết cáclỗi có thể xảy ra Khi gỡ rối chương trình, ta có thể chạy từng dòng lệnh, kiểm tragiá trị các biến, dừng chương trình tại một điểm nào đó hoặc với một điều kiệnnào đó
- Sử dụng thanh công cụ Edit
Thanh công cụ Edit được dùng để viết chương trình trong cửa sổ Code,thanh công cụ Edit có đầy đủ các tính năng của menu Edit Ngoài ra ta có thể sửdụng chức năng viết chương trình tự động như là Quick Info
- Sử dụng thanh công cụ Form Editor
Thanh công cụ Form Editor có chức năng giống như menu Format dùng
để di chuyển và sắp xếp các điều khiển trên biểu mẫu
- Sử dụng hộp công cụ (Toolbox)
Hộp công cụ là nơi chứa các điều khiển được dùngtrong quá trình thiết kế biểu mẫu Các điều khiển đượcchia làm hai loại: Điều khiển có sẵn trong VB và các điềukhiển được chứa trong tập tin với phần mở rộng là OCX
Trang 14Đối với các điều khiển có sẵn trong VB thì ta không thể gỡ bỏ khỏi hộpcông cụ, trong khi đó đối với điều khiển nằm ngoài ta có thêm hoặc xóa bỏ khỏihộp công cụ
Trang 151.3.3 Quản lý ứng dụng với Project Explorer
Cửa sổ Project Explorer
Project Explorer trong VB6 giúp quản lý và định hướng nhiều đề án.VBcho phép nhóm nhiều đề án trong cùng một nhóm Ta có thể lưu tập hợp các đề
án trong VB thành một tập tin nhóm đề án với phần mở rộng vbp.
- Cửa sổ Properties
Cửa sổ properties
Trang 16Mỗi một thành phần, điều khiển điều có nhiều thuộc tính Mỗi một thuộctính lại có một hoặc nhiều giá trị
Cửa sổ Properties cho phép ta xem, sửa đổi giá trị các thuộc tính của điềukhiển nhằm giúp điều khiển hoạt động theo đúng ý đồ của người sử dụng
1.3.4 Biến, hằng trong VB
* Biến:
Biến được dùng để lưu tạm thời các giá trị tính toán trong quá trình xử lýcủa chương trình Khi xử lý một chương trình ta luôn cần phải lưu trữ một giá trịnào đó để tính toán hoặc so sánh Mỗi biến được đặc trưng bởi tên , biến không
có sẵn trong chương trình muốn sử dụng chúng thì phải khai báo bằng một trongbáo cáo cách thức sau:
Dim / Static /Global <tên biến > as <kiểu giá trị >
Khai báo với từ khoá Dim, Static dùng cho khai báo biến cục bộ Khai báovới từ khoá Public, Global dùng cho khai báo biến dùng chung cho toàn bộchương trình
* Hằng:
Dùng để chứa những dữ liệu tạm thời nhưng không thay đổi trong suốttime chương trình hoạt động Sử dụng hằng số làm chương trình sáng sủa, dễ đọcnhờ những tên gợi nhớ thay vì các con số VB cung cấp một số hằng định nghĩasẵn, nhưng ta cũng có thể tạo ra hằng
Khai báo hằng :
[ Public / Private ] const < tên hằng >[<kiểu dữ liệu >] = <Biểu thức>
Hằng có tầm hoạt động tương tự biến Hằng khai báo trong thủ tục chỉhoạt động trong thủ tục Hằng khai báo trong modul chỉ hoạt động trong modul.Hằng khai báo trong phần Declarations của Modul chuẩn có tầm hoạt động trêntoàn ứng dụng
Trang 171.3.5 Các kiểu dữ liệu cơ bản trong VB6
Khi ta khai báo một biến trong chương trình tức là bạn tạo ra một khoảng
bộ nhớ đó lớn tuỳ thuộc vào biến đó được khai báo kiểu gì Khi khai báo điềuquan trọng là xác định biến cho phù hơp với các giá trị đưa vào
Kiểm soát nội dung của dữ liệu VB dùng kiểu dữ liệu Variant như là kiểu mặc định Ngoài ra, một số kiểu dữ liệu khác cho phép tối ưu hoá về tốc độ và kích cỡ chương trình Khi dùng Variant ta không phải chuyển đổi giữa các kiểu
String - Là kiểu dữ liệu chuỗi, khoảng giá trị có thể lên đến 2 tỷ
ký tự Nhận biết biến này bằng tiếp vị ngữ $
Byte - Là các số nguyên, khoảng giá trị từ -2.147.483.648 đến
2.147.483.647 Nhận biết biến này bằng dấu & ở cuối
Date Ngày tháng năm: 01 January 100 đến 31 December
Integer - Là các số nguyên Nhận biết này bằng dấu % ở cuối
Single - Là các số có dấu chấm thập phân Nhận biết biấn này
bằng dấu ! ở cuối
Double - Là các số dấu thập phân Nhận biết biến này bằng dấu
# ở cuối
Boolean - Biến logic, có giá trị là True, hay False dùng để gán
giá trị trong các câu lệnh điều kiện
Variant - Kiểu tuỳ ý:Có thể chứa mọi loại dữ liệu kể cả mảng
Trang 181.3.6 Các cấu trúc điều khiển
Đây là các câu lệnh cho phép người lập trình có thể điều khiển thứ tự thihành của các câu lệnh trong chương trình
các lệnh sau từ khóa Then
Nếu điều kiện đúng thì chương trình thi hành các lệnh, ngược lại sẽ thoátkhỏi lệnh Điều kiện là một biểu thức mà ở đó giá trị trả về là khác 0 hay (tươngđương với điều kiện có giá trị là TRUE hay FALSE )
Trang 19<khối lệnh - n >
End If
VB lần lượt kiểm tra các điều kiện cho đến khi điều kiện đúng VB sẽ thihành các lệnh tương ứng
+ Cấu trúc Select Case.
Giải quyết vấn đề có quá nhiều ElseIf được dùng, giúp cho chương trìnhsáng sủa, dễ đọc Biểu thức để so sánh được tính toán một lần vào đầu cấu trúc
Sau đó VB so sánh kết quả biểu thức với từng Case Nếu bằng nó thi hành khối
lệnh trong Case đó
Cú pháp:
Select Case < biểu thức điều kiện >
[Case < danh sách biểu thức 1 >
[< khối lệnh - 1 > ] ] [Case < danh sách biểu thức 2 >
Mỗi danh sách biểu thức chứa một hoặc nhiều giá trị, các giá trị cách nhau
bằng dấu phẩy Mỗi khối lệnh có thể chứa từ 0 đến nhiều dòng lệnh Case Else
không nhất thiết phải có
1.3.7 Cấu trúc lặp For…Next
Cú pháp :
For < biến đếm > = < Điểm đầu > To <điểm cuối >
[ Step = <bước nhảy >]
Next [ biến đếm ]
Trang 20Trong đó :
Biến đếm, biến đầu, biến cuối, bước nhảy là các giá trị số Bước nhảy có
thể là các giá trị âm hay dương Nếu bước nhày là một giá trị dương điểm đầuphải lớn hơn điển cuối nếu không khối lệnh sẽ không thi hành Nếu bước nhảy là
môt số âm, điểm đầu phải lớn hơn hoặc bằng điểm cuối Nếu Step không được
chỉ ra thì mặc định bước nhảy bằng 1
Hoặc cú pháp khác : Tương tự vòng lặp For…next, nhưng nó lặp khối lệnh theo
số phần tử của một tập hợp đối tượng hay một mảng thay vì theo số lần lặp xácđịnh Vòng lặp này tiện lợi khi khong biết số phần tử trong tập hợp
Phần tử trong mảng chỉ có thể là biến Variant
Không dung For Each…Next với mảng chứa kiểu tự định nghĩa ví Variantkhông chứa kiểu tự định nghĩa
1.3.8 Cấu trúc Do…Loop.
Thi hành một khối lệnh với số lần lặp không định trước Trong đó, mộtbiểu thức điều kiện dùng để so sánh để giải quyết định vòng lặp có tiếp tục hayhay không Điều kiện quy về False ( 0 ) hoặc True ( khác 0 )
Kiểu 1: Lặp khi điều kiện la True
Do while < điều kiện >
< khối lệnh >
Loop Kiểu 2 : Vòng lặp luôn có ít nhất một lần thi hành khối lệnh.
Do
Trang 21< khối lệnh >
Loop White <Điều kiện>
Trang 22Kiểu 3 : Lặp trong khi điều kiện là False
Do until <điều kiện >
On Error GoTo <Tên nhãn>
<Các câu lệnh có thể gây ra lỗi>
- Ý nghĩa:
- <Tên nhãn>: là một tên được đặt theo quy tắc của một danh biểu
- Nếu một lệnh trong <Các câu lệnh có thể gây ra lỗi> thì khi chươngtrình thực thi dến câu lệnh đó, chương trình sẽ tự động nhảy đến đoạn chươngtrình định nghĩa bên dưới <Tên nhãn> để thực thi
Dạng 2:
On Error Resume Next
<Các câu lệnh có thê gây ra lỗi>
- Ý nghĩa:
Nếu một lệnh trong <Các câu lệnh có thể gây ra lỗi> thì khi chương
trình thực thi đến câu lệnh đó, chương trình sẽ tự động bỏ qua câu lênh bị lỗi vàthực thi câu lệnh kế tiếp
Trang 23- Khi ta viết một chương trình với VB bạn phải trải qua 2 bước:
+ Thiết kế giao diện: Thiết kế giao diện chính là thiết kế hình dạng củaForm, việc bố trí các điều khiển trên nó như thế nào
+ Viết lệnh cho các điều khiển: dùng các lệnh trong VB để quy định cáchứng xử cho mỗi Form và cho mỗi Control
* Thiết kế biểu mẫu sử dụng các điều khiển
- IDE của VB là nơi tập trung các menu, thanh công cụ và cửa sổ để tạo rachương trình Mỗi phần của IDE có tính năng ảnh hưởng đến các hoạt động lậptrình khác nhau Thanh menu cho phép bạn quản lý cũng như tác động trực tiếplên toàn bộ ứng dụng Thanh công cụ cho phép truy cập các chức năng của thanhmenu qua các nút trên thanh công cụ
- Các biểu mẫu Form - khối xây dựng chính của các chương trình VB - xuất hiệntrong cửa sổ Form Hộp công cụ (Toolbox) để thêm các điều khiển vào Form
- Điều khiển: Các thành phần có sẵn để người lập trình tạo giao diện tương tác
với người dùng Các điều khiển tạo nên sức sống cho ứng dụng Chúng cho phépứng dụng hiển thị dữ liệu và tương tác với người sử dụng
* Giới thiệu hộp công cụ thiết kế giao diện Toolbox
- Nút lệnh (Command button): Nút lệnh là một điều khiển dùng để bắt đầu,
ngắt hoặc kết thúc một quá trình Khi nút lệnh được chọn thì nó trông như đượcnhấn xuống, do đó nút lệnh còn được gọi là nút nhấn (Push Button)
- Hộp văn bản (Text box)
Trang 24Ô văn bản là một điều khiển cho phép nhận thông tin do người dùng nhậpvào Đối với ô nhập liệu ta cũng có thể dùng để hiển thị thông tin, thông tin nàyđược đưa vào tại thời điểm thiết kế hay thậm chí ở thời điểm thực thi ứng dụng.Còn thao tác nhận thông tin do người dùng nhập vào dĩ nhiên là được thực hiệntại thời điểm chạy ứng dụng
Là một điều khiển thông dụng dùng để nhận dữ liệu từ người sử dụngcũng như hiển thị dữ liệu
- Thanh cuộn (Scoll bar):
Là điều khiển có thanh trượt cho phép cuộn ngang và người dùng có thể
sử dụng HScrollBar như một thiết bị nhập hoặc một thiết bị chỉ định cho sốlượng hoặc vận tốc Ví dụ ta thiết kế volume cho một trò chơi trên máy tính hoặc
để diễn đạt có bao nhiêu thời gian trôi qua trong một khoảng định thời nhất định
Thanh cuộn cho phép duyệt dễ dàng qua một danh sách dài gồm nhiềuphần tử Đây là một phần tử thông dụng của Window 95 và Window NT
- Điều khiển khung (Frame)
Dùng để gộp nhóm các điều khiển khác nhau Khung là một điều khiểndùng trong việc bố trí giao diện của biểu mẫu một cách trong sáng và rõ nét.Thông thường các điều khiển cùng phục vụ cho một công việc nào đó sẽ đượcđặt trong một khung nhằm làm nổi bật vai trò của chúng
- Điều khiển nhãn (Label)
Nhãn là điều khiển dạng đồ họa cho phép người sử dụng hiển thịchuỗi ký tự trên biểu mẫu nhưng họ không thể thay đổi chuỗi ký tự đó mộtcách trực tiếp
Thường đi kèm với hộp văn bản bởi hộp văn bản không có thuộc tínhCaption như nút lệnh, nên nhãn sẽ làm việc đó
- Hộp đánh dấu (Check box)
Đây là điều khiển hiển thị dấu (.) nếu như được chọn và dấu (.) bị xoá nếunhư không chọn Dùng điều khiển Check Box để nhận thông tin từ người dùng
Trang 25theo dạng Yes/No hoặc True/False Ta cũng có thể dùng nhiều điều khiển trongmột nhóm để hiển thị nhiều khả năng lựa chọn trong khi chỉ có một được chọn.Khi Check Box được chọn, nó có giá trị 1 và ngược lại có giá trị 0
Mỗi lần nhấn lên hộp đánh dấu, một thông điệp hiển thị trạng thái của hộpđánh dấu
- Nút tuỳ chọn (Option)
Tương tự hộp đánh dấu nhưng điểm khác là nút Option loại trừ lẫn nhaunghĩa là trong một hộp đánh dấu (Check box) có thể chọn tất cả; nhưng với mộtnhóm các nút tuỳ chọn (Radio button) ta chỉ được phép chọn một mà thôi
- Hộp hình và điều khiển
Ta có thể nạp hình ảnh vào lúc thiết kế hoặc khi thi hành ứng dụng Tuynhiên, cần chú ý: điều khiển ảnh không được đặt lên các điều khiển khác ngoạitrừ Frame hay Picture box Trái lại, hộp hình có nhiều chức năng hơn nó có thểđược vẽ ở bất kỳ đâu
- Hộp danh sách (List box)
Thông qua list box người sử dụng chỉ thấy được những gì họ được phépxem Họ được phép chọn một hoặc một vài phần tử trong danh sách
- Hộp kết hợp (Combo box)
Hộp kết hợp = hộp danh sách + hộp văn bản
Có 3 loại Combo box:
1 Hộp kết hợp thả xuống (Drop - down combo)
2 Đơn giản (Simple combo)
3 Hộp danh sách thả xuống (Drop - down list box)
- Điều khiển OLE:
+ Cho phép nhúng tất cả ứng dụng của Word vào VB
+ Ngoài ra VB còn cung cấp các điều khiển cho phép kết nối cơ sở dữ liệumột cách nhanh chóng như ADO, Coobar, Dữ liệu Crird…
Trang 26* Viết lệnh cho các điều khiển
Các điều khiển trên Form chỉ là một phần nhỏ của quá trình phát triển ứngdụng nhằm tạo ra giao diện cho ứng dụng Cần viết chương trình để cho ứngdụng đó hoạt động
Trang 27Chạy thử: Nhấn vào RUN trên thanh công cụ
Ghi lưu:Nhấn chuột vào SAVE trên thanh công cụ
1.4.2 Lập trình xử lý giao diện
* Xử lý với Menu
a Dùng trình soạn thảo để tạo Menu
Menu không chứa trong hộp công cụ như những điều khiển khác, mà đượcthiết kế bằng trình soạn thảo Menu Từ Menu /Tool chọn Menu Editor để mởchương trình này Hoặc dùng Ctrl + E, hoặc nhấn vào biểu tượng của nó trênthanh công cụ của VB
Trang 28b Viết chương trình cho điều khiển Menu
Để lập trình cho Menu, ta mở cửa sổ thiết kế biểu mẫu và nhấn chuột lênmục mà ta muốn xử lý Ví dụ muốn xử lý muc Open: Click chuột lên mục đó cửa
sổ code sẽ mở ra thủ tục mnuFileOpen_click và chờ nhập chương trình
* Xử lý với hộp thoại (Dialog)
Dialog là một trong những cách thức để Window giao tiếp với người sửdụng Có 4 kiểu hộp thoại:
+ Thông điệp (Message box): Là loại đơn giản nhất gồm 2 loại: Chỉ cungcấp thông tin và tương tác với người sử dụng
+ Hộp nhập (Input box): Input box ít được dùng do không có cách nào
để kiểm định dữ liệu đưa vào khi họ chưa nhấn Enter và Input box cho người
sử dụng rất ít thông tin Muốn lấy được nhiều thông tin phải dùng biểu mẫu tựthiết kế
* Thanh công cụ Toolbar
Là tính năng chuẩn của các ứng dụng chạy trên Window Nó cho phéptruy cập nhanh đến các chức năng của Menu
- Các sự kiện xảy ra trên chuột: Mousedown; Mouseup; Mousemove
- Biểu mẫu hoặc điều khiển có thể bắt sự kiện chuột khi con trỏ chuột đingang qua
Trang 29- Sự kiện bàn phím: Ta có thể kiểm soát phím nhấn theo hai mức: Điều khiểnhoặc biểu mẫu Mức điều khiển cho phép lập trình với điều khiển; Mức biểu mẫucho phép ta lập trình với ứng dụng.
Trang 301.4.3 Giới thiệu sơ lược các kỹ thuật kết nối CSDL:
1.4.3.1 Tổng quan về kết nối cơ sở dữ liệu
Visual Basic cung cấp kèm theo nó một bộ máy cơ sở dữ liệu có thể hiểuđược dữ liệu của Microsoft Access gọi là Joint Engine Technology (JET) JET làmột bộ truy cập cơ sở dữ liệu hướng đối tượng và nó là một phần không thể thiếuđược của Visual Basic Phiên bản của JET đi kèm với VB 6.0 là miễn phí nghĩa
là VB có thể truy xuất trực tiếp cơ sở dữ liệu của Microsoft Access Giao diện để
VB truy xuất JET có tên là Data Access Objects (DAO)
+ DAO (Dữ liệu Acess Objects): Là kỹ thuật kết nối CSDL riêng củaMicrosoft Kỹ thuật này chỉ dùng với Jet Database Engine Ưu điểm của kỹ thuậtnày là tính dễ dùng, nhanh chóng và tiện lợi Tuy nhiên DAO chỉ có thể liên kếtđược với hệ quản trị CSDL Microsoft Acess
+ ODBC (Open Database Connectivity): Được thiết kế để cho chươngtrình kết nối với nhiều loại CSDL mà chỉ dùng một phương cách duy nhất Nógiúp cho lập trình viên chỉ sử dụng một phương thức duy nhất để truy cập vàocác hệ quản trị CSDL Hơn thế, khi chúng ta nâng cấp lên hệ quản trị CSDL caohơn (Ví dụ: nâng cấp Acess lên SQLServer) thì sự sửa đổi trong chương trình sẽrất ít
+ RDO (Remote Dữ liệu Object): Được thiết kế để giải quyết những khókhăn của ODBC Cách lập trình với RDO đơn giản như DAO, nhưng khả năngcủa nó thì như ODBC RDO cho phép nhiều chương trình kết nối với CSDL Tuynhiên RDO không được sử dụng nhiều
+ ADO (ActiveX Dữ liệu Objects): ADO cho phép ta làm việc với mọiloại nguồn dữ liệu (dữ liệu sources), không nhất thiết phải là CSDL MicrosoftAcess hay SQLServer Dữ liệu sources có thể là danh sách các địa chỉ Email, haymột file text trong do mỗi hàng là một record gồm những fields ngăn cách bởicác dấu phẩy hay dấu tab
Trang 31Nếu trong DAO ta dùng thẳng tên CSDL Microsoft Acess thì trongADO cho ta nối với một CSDL qua một connection bằng cách chỉ định mộtConnection String.
1.4.3.2 Giới thiệu kỹ thuật lập trình ADO
Cách thức của một điều khiển ADO Data kết nối với cở dữ liệu trong ứng dụng
ADO hiện nay được Microsoft xem là kỹ thuật để truy cập cơ sở dữ liêu từ WebServer Bởi vì ADO được cung cấp dưới dạng ActiveX Server, ta có thể dùngthoải mái ADO trong các ứng dụng VB Trong thực tế ta sẽ thấy rằng sử dụngADO để làm việc với cơ sở dữ liệu Client/server thì dễ hơn các kỹ thuật khác.Không giống như những kỹ thuật truy nhập CSDL khác của VB (RDO, DAO)ADO có thể cung cấp cho người lập trình nhiều chọn lựa trong việc truy xuất dữliệu Mặt khác, ADO không truy cập trực tiếp đến mọi cơ sở dữ liệu, ADO làmviệc với tầng thấp hơn là OLEDB Provider và OLEDB Provider này có nhiệm vụtruy xuất đến nhiều loại dữ liệu khác nhau, sau đó trình bày CSDL ngược lại đếnADO Thuận lợi nhất của ADO là chúng ta có thể thay đổi OLEDB Provider
* Kỹ thuật ADO cho phép truy cập dữ liệu thông qua 2 cách:
Data controls (các điều khiển dữ liệu): Là một điều khiển có chức năng
giao tiếp, cập nhật CSDL Để nhìn thấy dữ liệu ta phải dùng một số control thôngthường khác (textbox, checkbox, label,…)
kết nối
Các thuộc tính ConectionString của điều khiển ADO Data
Biểu mẫu
VB
Các thuộc tính DataSourse, DataField của điều khiển ràng buộc dữ liệu
Cơ sở
dữ liệu
Trang 32Object interface (giao tiếp đối tượng): Nếu không dùng sẵn các dữ liệu
control của VB thì ta vẫn có thể truy xuất dữ liệu bằng cách tạo một tham chiếuđến ADO - một tập hợp các đối tượng mới được tạo ra này sẽ luôn có sẵn trongchương trình khi cần dùng đến Do đó ta có thể thao tác dữ liệu trực tiếp từ codechương trình (dùng các phương thức và thuộc tính do các đối tượng này cungcấp) mà không phải dùng bất kỳ dữ liệu control nào
Tuy dữ liệu control dễ thiết lập hơn nhưng sử dụng Object interface thìmạnh hơn và uyển chuyển hơn
- Sử dụng ADO Data Control
Điều khiển dữ liệu là cách đơn giản nhất để truy cập đến cơ sở dữ liệutrong VB, dù cho đó là Access hay một hệ Client/Server
ADO DataControl không có sẵn trên hộp thanh công cụ Toolbox như một
số control thông dụng khác, do đó bạn phải đưa vào bằng cách: Trên menu của
VB chọn Project Components (hoặc Click chuột phải trên Toolbox chọn
Components), trong Tab control bạn Check vào ô "Microsoft ADO Data Control 6.0 (OLEDB)" rồi nhấn nút Apply OK.
Trang 33Bạn tạo mới một Form thiết lập giá trị cho các thuộc tính: Name, captioncủa form này Kế tiếp ta vẽ control này vào Form, lấy tên là ADODC1.
Kết nối ADO Dữ liệu với nguồn dữ liệu từ CSDL, bạn thực hiện qua 2bước sau:
Bước 1: Tạo một Connection đến CSDL
Click chuột chọn ADODC1 trên form mới tạo, trong cửa sổ Propertieschọn thuộc tính Connectionstring bạn Click vào Button hiện ra cửa sổProperty Page xuất hiện 3 chọn lựa, chọn option thứ 3 là "Use Connection
String", click "Build", chọn Provider là "Microsoft Jet 4.0 OLE DB Provider"
click Next để chỉ đường dẫn đến Database Kế tiếp click "Test Connection" nếuthấy thành công OK Apply OK
Bước 2: Thiết lập Record Source từ CSDL
Ta cần chỉ ra tập hợp mẩu tin nào sẽ được lấy ra từ nguồn dữ liệu trên.Trong cửa sổ Properties chọn thuộc tính Record Source khi đó bạn chọnADODC1 Mở cửa sổ Property page (Phím tắt Shift + F4) Chọn 2-adCmdTable
từ Command Type và nhấn nút OK
Trang 34
Để hiển thị dữ liệu từ ADO Dữ liệu Control ta cần phải có các Controlthông thường được "kết buộc dữ liệu" (data binding) với ADO Data Control này.
Các điều khiển cần dùng dữ liệu là các điều khiển bất kỳ có thuộc tínhDataSource thuộc tính này tham chiếu đến một điều khiển dữ liệu Thuộc tínhnày kết nối điều khiển giao diện người sử dụng với điều khiển dữ liệu
Một số các điều khiển cần dùng dữ liệu đi kèm với VB:
CheckBox: Điều khiển cung cấp một điều kiện đúng / sai
ComboBox: Hộp kết hợp xổ xuống chuẩn của VB
DBCombo: Điều khiển hỗ trợ một danh sách xổ xuống tương tự nhưComboBox
DataGrid: Lưới hiển thị cơ sở dữ liệu theo dòng và cột
DateTimePicker: Điều khiển này có thể ràng buộc với một trường ngàyhoặc giờ trong một cơ sở dữ liệu
DBList: điều khiển hộp danh sách này tương tự điều khiển hộp danh sáchchuẩn của VB Nhưng nó có thể điền dữ liệu vào danh sách từ một bảng cơ sở dữliệu
Hierarchical FlexGrid: Tương tự điều khiển FlexGrid trong VB5 điềukhiển này cho phép thao tác với nhiều mẩu tin quan hệ trong một điều khiển lưới
Image: Điều khiển này tương tự điều khiển PitureBox, nhưng thiếu mộtvài tính năng của nó
Trang 35Label: Điều khiển này cho phép trình bày văn bản từ một trường cơ sở dữliệu, nhưng ngăn cản người sử dụng sửa đổi nó.
ListBox: Đây là hộp danh sách chuẩn của VB Ta không sử dụng điềukhiển này cho mục đích truy cập dữ liệu mà sử dụng điều khiển mạnh hơn,DBList
MaskedEdit: Điều khiển này tương tự một hộp văn bản, nhưng cung cấpmột số chức năng kiểm tra nội tại cũng như một hiển thị mặc định gợi ý chongười sử dụng
OLE: Điều khiển chứa OLE trình bày các tài liệu được tạo bởi các ứngdụng hỗ trợ OLE khác
PictureBox: Điều khiển này hiển thị một hình ảnh đồ hoạ
TextBox: Điều thông dụng này cho phép người sử dụng nhập dữ liệu trực tiếp
Khai báo thư viện ADO để sử dụng các đối tượng trên: Vào menu Project
References check vào ô "Microsoft Active Data Objects 2.7 Library"
Trang 36* Đối tượng Connection và đối tượng Recordset:
- Đối tượng Connection:
+) Lệnh khai báo và khởi động đối tượng Connection
Dim tên_connection as new ADODB.connectionHoặc là: Dim tên_connection as ADODB.connectionSet tên_connection = new ADODB.connection
+) Chỉ ra chuỗi kết nối CSDL (Connnection String)
Tên_biến.ConnectionString
+) Có thể sử dụng:
- Đường dẫn trực tiếp trong ConnectionString
- Đường dẫn tương đối qua đối tượng APP do VB cung cấp để chỉ
ra vị trí lưu trữ dữ liệu base
Trang 37- Khai báo và khởi tạo đối tượng Recordset
Dim tên_recordset as ADODB.Recordset
Set tên_recordset =new ADODB.Recordset
Hoặc: Dim tên_recordset as new ADODB.Recordset
+) Dùng phương thức Open chọn nguồn dữ liệu
Cách 1:
Tên_recordset.Open Source, ActiveConnection, CursorType, LockType,Option
Source là một câu lệnh SQL hoặc tên một table
ActiveConnection: Tên_connection kết nối CSDL
CursorType: Chỉ định loại con trỏ sử dụng trong recordset
LockType: Kiểu khoá mẩu tin
Gọi phương thức Open: Tên_recordset.Open
Lấy giá trị của Field
+) Truy xuất dữ liệu trong recordset chọn Field cần lấy giá trị
Có 3 cách:
Tên_recordset Fileds ("tên_field")
Tên_recordset.Fields (index)
Tên_recordset! tên_field
- Các thao tác trên mẩu tin
+) Thêm một mẩu tin: Tên_recordset.AddNew
Trang 38+) Sửa một mẩu tin:Tên_recordset.Update
+) Xoá một mẩu tin:Tên_recordset.Delete
+) Tìm kiếm mẩu tin:
Tên_recordset.Find Criteria, Skiprecord, SearchDirection, Start
+) Thuộc tính Boookmark, AbsolutePosition của đối tượng recordsetTên_recordset.Boookmark cho biết vị trí xác định là duy nhất của mẩu tinhiện hành trong recordset
Tên_recordset.Absoluteposition lưu trữ thông tin vị trí của mẩu tin hiệnhành trong recordset
Trang 39Chương 2 PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
2.1 Khảo sát hiện trạng
2.1.1 Các ứng dụng trong tin học quản lý
Cho đến nay các ứng dụng tin học trên thế giới cũng như tại Việt Nam đã
và đang chiếm một vị trí rất quan trọng trong các hoạt động đời sống xã hội,trong các ngành khoa học kỹ thuật và công nghệ Người ta nói rằng thế kỷ XXI
là “Thế kỷ của nền văn minh tin học”, “Thế kỷ của nền kinh tế tri thức” Do vậytrong các chính sách phát triển kinh tế của nước ta những năm gần đây và địnhhướng những năm đầu thế kỷ XXI, Đảng và nhà nước ta đều đặc biệt nhấn mạnhđến vai trò trọng yếu, mũi nhọn của ngành tin học (hay ngành công nghệ thôngtin) đối với sự phát triển đất nước
Quản lý là một thuật ngữ mang tính ý nghĩa rất tổng quát nó thường đượcchỉ việc điều hành hoạt động trong các cơ quan, xí nghiệp, nhà máy…
Quản lý đóng một vai trò hết sức quan trọng đối với các cơ quan, xínghiệp là yếu tố có sức mạnh hàng đầu để duy trì sự hoạt động và thúc đẩy sựphát triển của cơ quan, xí nghiệp đó
Ngày nay song song với quá trình phát triển công nghệ khoa học và kỹthuật thì ngành khoa học tính toán đã đóng vai trò quan trọng, nó đã đạt đượcnhững thành tựu khoa học kỹ thuật rực rỡ với những bước tiến nhảy vọt Việc ápdụng các công nghệ khoa học kỹ thuật vào lĩnh vực đời sống của con người ngàycàng tăng và không ngừng can thiệp vào hầu hết các công việc trong đời sống Vìvậy việc đưa tin học vào để quản lý là hết sức kịp thời và cần thiết
Cho tới nay sự phát triển của tin học phần cứng cũng như phần mềm và sựứng dụng của máy tính trong mọi lĩnh vực đã trở thành một thực tế rõ ràng
Trang 40Với Việt Nam: Qua thực tế tham khảo một số các đơn vị đang áp dụng tinhọc trong quản lý cho thấy:
- Tin học đã khẳng định được vị thế của nó đóng vai trò quan trọng trong
sự phát triển của kinh tế và nhanh chóng nắm bắt thông tin, giao lưu của nước tađối với thị trường các nước trên thế giới
- Việc áp dụng tin học vào quản lý trước hết đã giải phóng các nhà lãnhđạo khỏi các công việc máy móc, giúp họ chú tâm vào lao động sáng tạo
Hơn thế nữa trong thời kỳ bùng nổ thông tin như hiện nay đứng trước khốilượng thông tin đồ sộ, đa dạng đó nếu vẫn áp dụng các phương pháp xử lý thôngtin dựa trên kinh nghiệm và trực giác (hay còn gọi là phương pháp xử lý thông tinthủ công) thì sẽ không mang lại hiệu quả như mong muốn, nếu không nói đếnnhững sai lầm do xử lý thông tin không kịp thời và chính xác Việc áp dụng tinhọc trong quản lý sẽ góp phần hoàn thiện trong công tác quản lý, điều phối, lưutrữ một cách lợp lý thông tin
2.1.2 Quản lý và hệ thống thông tin trong công tác quản lý
- Chức năng kiểm tra
Hệ thống thông tin đóng vai trò trợ giúp cho các nhà quản lý khi thực hiệncác chức năng trên