II. Khảo sỏt hệ thống
3. Dựng Microsoft Access để tạo bộ cơ sở dữ liệu
4.1 Xõy dựng lược đồ cấu trỳc chương trỡnh LCT:
4.1.1 Chỉnh sửa hồ sơ:
28
Cập nhật hồ sơ Xỏc định chức năng Ghi lại Thờm hồ sơ Lưu hồ sơ Sửa đổi hồ sơ Thụng tin nhõn sự Thụng tin nhõn sự Thụng tin nhõn sự Thụng tin nhõn sự 4.1.2 Chấm cụng Chấm cụng Ngày cụng được chấm Quy ra cụng
Cụng hưởng lương thời gian Cụng hưởng % lương
4.1.3 Tớnh lương:
4.1.4 Tra cứu:
30
ĐỀ TÀI: QUẢN Lí CÁN BỘ TIỀN LƯƠNG -- GVHD: THS. NGUYỄN THANH HƯƠNG.
Tớnh lương LC LP Tờ LC LC LP Ngà y Lờn bảng lương Tớnh lương cơ bản Tớnh lương phụ cấp Tra cứu,Tỡm kiếm K ết YC K K YC K YC Yờ u
Tra cứu theo số liệu TH Tra cứu theo hồ sơ Kết quả Xỏc định cõu hỏi vào Kế t Tra cứu theo lương 30
4.1.5 Thống kờ bỏo cỏo: Thống kờ bỏo cỏo Thống kờ về trỡnh độ Bỏo Biểu Thống kờ về mức lương 4.2 Đặc tả Module: Input: thụng tin về nhõn sự Dời khỏi cơ quan?
Lưu hồ sơ Mới vào cơ quan?
Thờm hồ sơ Sửa hồ sơ Chớnh xỏc? Save End Begin N Y Y Y N N 4.2.1 Cập nhật hồ sơ:
4.2.2 Tra cứu,Tỡm kiếm:
Input: Cỏc thụng tin yờu cầu Yờu cầu TT về NS? Tỡm cõu trả lời trong kho hồ sơ
Hỏi về lương?
Tỡm cõu trả lời trong kho lương Tỡm cõu trả lời trong cỏc kho cũn lại
Kết quả End Begin Y Y N N 32
CHƯƠNG IV:
SỬ DỤNG NGễN NGỮ LẬP TRèNH VISUAL BASIC ĐỂ THIẾT KẾ CHƯƠNG TRèNH
1. Ngụn ngữ lập trỡnh Visual Basic
Visual Basic cú rất nhiều tớnh năng mới. Cỏc điều khiển mới cho phộp viết cỏc chương trỡnh ứng dụng kết hợp giao diện, cỏch xử lý và tớnh năng của Microsoft Office 97 và trỡnh duyệt Web Internet Explorer, khụng nhất thiết phải cú một bản sao của điều khiển trờn biểu mẫu.
Visual Basic cho phộp :
Lập trỡnh để thờm điều khiển vào đề ỏn tự động và cú thể tạo ra cỏc điều khiển Activex hiệu chỉnh.
Viết cỏc chương trỡnh ứng dụng phớa mỏy chủ (Server side) dựng HTML động nhỳng kết nối với cỏc thư viện liờn kết động của Internet Information Server.
Một vài cải tiến cho phộp làm việc với cỏc ứng dụng truy cập dữ liệu ở tầm cỡ vĩ mụ liờn quan đến hàng trăm, hàng nghỡn người sử dụng qua mạng hay qua Internet.
Visual Basic cung cấp cỏc đối tượng dữ liệu Activex cho phộp kết nối với cỏc tập tin cơ sở dữ liệu. Ngồi cỏc điều khiển Activex Visual Basic cũn cú một bộ cụng cụ và kỹ thuật mới giỳp truy cập dữ liệu dễ dàng hơn. Trỡnh thiết kế mụi trường dữ liệu cho phộp xem xột và thao tỏc dữ liệu trong CSDL khỏc nhau. Bởi vỡ bản thõn mụi trường dữ liệu là những đối tượng, cú thể sử dụng chỳng như một điều khiển dữ liệu. Thậm chớ cú thể gắn nú với cỏc điều khiển khỏc.
Visual Basic cung cấp một vài điều khiển dữ liệu mới cho phộp tận dụng cỏc thế mạnh của điều khiển dữ liệu ADO. Điều khiển DataGrid cho phộp xem dữ liệu dưới dạng bảng gồm cỏc dũng và cột. DataList và DataCombo tương tự như DBList và DBCombo, cú thể dựng chỳng để lấy một danh sỏch dữ liệu từ điều khiển ADO trong cấu hỡnh hộp danh sỏch (ListBox) hoặc hộp kết hợp (ComboBox).
Visual Basic mở rộng khả năng bỏo cỏo với trỡnh bỏo cỏo dữ liệu cho phộp tạo, xem trước, và in cỏc bỏo cỏo trong Visual Basic tương tự như Access và cú thể lấy cỏc điều khiển bỏo cỏo từ hộp cụng cụ bỏo cỏo dữ liệu mới và đưa vào biểu mẫu bỏo cỏo dữ liệu.
2. Cỏc đối tượng truy cập dữ liệu
Dynamic Data Exchange (DDE) : Trao đổi dữ liệu động
Cho phộp cỏc cỏc ứng dụng chia sẽ thụng tin với nhau trong lỳc thi hành. Cớ chế giao tiếp là một ứng dụng sẽ gửi dữ liệu vào một vựng được quy định sẵn
34
bởi một ứng dụng khỏc. Tuy nhiờn, người lập trỡnh phải thiết lập mọi thứ cho giao tiếp trao đổi dữ liệu nờn cỏch thực hiện theo DDE rất phức tạp.
Object Linking and Embedding (OLE) : Nhỳng và kết nối đối tượng
OLE tũn thủ triết lý của Windows (Click chuột, kộo và thả). OLE cú thể kộo dữ liệu từ ứng dụng này và thả vào ứng dụng khỏc.
OLE cú hai kỹ thuật :
Khởi động tại chổ (In-place activation) : Một dữ liệu được tạo ra bởi ứng dụng 1 và được thả vào ứng dụng 2. Nhấn Double click chuột lờn dữ liệu ở ứng dụng 2 nú sẽ hoạt động giống như ở ứng dụng 1.
Tự động húa (Automation) : ỏp dụng khả năng tỏi sử dụng đối tượng và tận dụng triệt để cỏc thế mạnh của cỏc đối tượng.
Activex
Activex là thế hệ sau của OLE. Nờn Activex chứa đựng tất cả tớnh năng của OLE và được bổ sung thờm nhiều chức năng khỏc như cho phộp việc sử dụng cỏc đoạn chương trỡnh cú sẵn mà khụng cần quan tõm chỳng cú nguồn gốc từ đõu hay hoạt động như thế nào.
3. Sử dụng cỏc đối tượng truy cập dữ liệu trong chương trỡnhĐiều khiển DAO (Data Access Objects) Điều khiển DAO (Data Access Objects)
Cho phộp thi hành cỏc cõu truy vấn, cập nhật giỏ trị trong cỏc bảng cơ sở dữ liệu và tạo cấu trỳc cơ sở dữ liệu bao gồm cỏc bảng, cỏc cõu truy vấn chứa sẵn và mối quan hệ giữa cỏc bảng.
Ưu điểm : Giao diện lập trỡnh của DAO vụ cựng mạnh mẽ và dễ sử dụng. Với cỏc cơ sở dữ liệu Jet của Microsoft, DAO cho phộp truy cập cỏc tớnh năng khụng cú sẵn trong SQL hay ADO (Đối tượng dữ liệu Activex – Activex Data Object). DAO cú thể sử dụng để truy cập cỏc cơ sở dữ liệu trờn mỏy cỏ nhõn hay Client/Server.
Khuyết điểm : Mụ hỡnh đối tượng DAO khỏ phức tạp
Thụng qua cỏc tập hợp sở hữu đối tượng Database cú thể thao tỏc trờn dữ liệu và cấu trỳc của một cơ sở dữ liệu, tạo cỏc đối tượng cơ sở dữ liệu mới, kiểm tra cấu trỳc và dữ liệu chứa trong một cơ sở dữ liệu.
Trong lập trỡnh DAO, cú một tập hợp cốt lừi gồm cỏc kỹ thuật thụng dụng được sử dụng gần như cho mọi chương trỡnh, bao gồm :
Thi hành cõu truy vấn SELECT để lấy về cỏc dữ liệu từ cơ sở dữ liệu.
Duyệt qua từng mẫu tin trong một RecordSet
Thi hành cõu truy vấn hành động (bao gồm cỏc cõu truy vấn Update, Delete, Append)
Sữa đổi cấu trỳc cơ sở dữ liệu
Xử lý lỗi phỏt sinh bởi truy cập cơ sở dữ liệu.
Điều khiển ADODC (Microsoft ADO Data Control 6.0 (OLEDB))
Visual Basic cung cấp cỏc đối tượng dữ liệu ActiveX (ActiveX Data Object - ADO). ADO tổng hợp và thay thế việc truy cập dữ liệu của DAO (Đối tượng truy cập dữ liệu – Data Access Object) và RDO (Đối tượng dữ liệu từ xa – Remote Data Object). ADO là cụng nghệ truy cập cơ sở dữ liệu hướng đối tượng tương tự như DAO và RDO,ứ giao diện dựa trờn đối tượng cho cụng nghệ dữ liệu OLEDB. Ngồi ra, ADO dễ sử dụng và cú tầm hoạt động rộng hơn dựng để kết nối với cỏc tập tin cơ sở dữ liệu và cú thể truy cập dữ liệu từ xa.
ADO được xem là kỹ thuật để truy cập cơ sở dữ liệu từ Web Server. Bởi vỡ ADO được cung cấp dưới dạng thư viện Activex Server (tương tự DAO và RDO), nờn rất thuận lợi dựng trong ứng dụng Visual Basic. Trong thực tế, bằng nhiều cỏch đĩ chứng minh rằng sử dụng ADO để làm việc với cơ sở dữ liệu Client/Server thỡ dễ hơn cỏc kỹ thuật khỏc.
36
Phần lớn cỏc nhà lập trỡnh Visual Basic khụng tương tỏc trực tiếp với OLEDB. Thay vào đú, họ lập trỡnh với ADO, mụ hỡnh đối tượng cung cấp giao diện với OLEDB.
Khi dựng ADO thỡ chỉ cần lập trỡnh với phần giao diện người sử dụng ở phớa Client. Bởi vỡ việc truy cập dữ liệu trờn cả trỡnh duyệt Wed và ứng dụng Visual Basic được chuyển hết về phớa Activex Server nờn logic chương trỡnh luụn nhất quỏn, bất kể loại ứng dụng nào đang được sử dụng.
Client Application Remote Data Objects ODBC Driver ODBC Driver Manager Activex Data Objects OLEDB Data Provider OLEDB Relational Database Document Server Email Server Client Workstation
Cỏch sử dụng ADO và OLEDB để tăng cường truy cập thụng tin trong một cơ sở dữ liệu
38
Client Application
Activex Data Objects
OLEDB ODBC Provider ODBC Driver Relational Database Client Workstation ODBC Driver Manager OLEDB
Cấu trỳc này cho phộp dựng thành phần lập trỡnh Activex thụng dụng trờn cả trỡnh duyệt Wed và ứng dụng Client Visual Basic.
Kết nối với chứa
Kết nối với
Biểu mẫu VB
Cỏc thuộc tớnh DataSource, DataField của điều khiển ràng buộc dữ liệu Cỏc thuộc tớnh ConnectionString, RecordSource của điều khiển ADO Data
Cơ sở dữ liệu
Cỏch thức của điều khiển ADO Data kết nối với cơ sở dữ liệu trong ứng dụng
4. Cỏc điều khiển giao diện người sử dụng
Điều khiển nội tại (Hoạt động với mọi ấn bản của Visual Basic)
Cỏc điều khiển này đều cú thể trực tiếp nối kết với một trường trong một cơ sở dữ liệu thụng qua một điều khiển dữ liệu hoặc nguồn dữ liệu khỏc như trỡnh thiết kế DataEnvironment.
Nhập dữ liệu với điều khiển TEXTBOX : Dựng sữa đổi dữ liệu kiểu chuỗi và kiểu số từ một cơ sở dữ liệu.
Ràng buộc vào trỡnh thiết kế DataEnvironment : Là khả năng tạo một giao diện người sử dụng ràng buộc dữ liệu. Bởi vỡ cú thể chia sẽ trỡnh thiết kế DataEnvironment qua nhiều biểu mẫu và nhiều ứng dụng, điều này sẽ cho tất cả
40
cỏc tớnh năng và sự dễ dàng lập trỡnh trong một ứng dụng ràng buộc dữ liệu bởi vỡ khụng cần ràng buộc từng điều khiển riờng rẽ với nguồn dữ liệu.
Truy cập giỏ trị Boolean với điều khiển CHECKBOX : dựng CheckBox để hiển thị một giỏ trị True hay False từ một trường trong một cơ sở dữ liệu.
Sử dụng điều khiển LISTBOX để hiển thị dữ liệu : dựng ListBox để hiển thị cỏc phần tử trong một danh sỏch chọn lựa dành cho người sử dụng. Nhưng khi sử dụng ListBox để hiển thị dữ liệu từ một cơ sở dữ liệu vẫn cú một số hạn chế về lượng dữ liệu dựng để chứa và hiển thị.
TabControl : Làm cho cỏc chức năng của chương trỡnh nằm gọn trờn một form.
Điều khiển Activex (Là những thành phần bổ sung cho bản Professional và Enterprise của Visual Basic)
Khỏc với cỏc điều khiển giao diện người sử dụng, cỏc điều khiển này khụng được cung cấp bởi hệ điều hành. Thay vào đú, ta phải phõn phỏt điều khiển bổ sung vào cỏc mỏy tớnh của người sử dụng để ứng dụng cú thể sử dụng chỳng.
Sử dụng điều khiển DataGrid : DataGrid cú khả năng hiển thị dữ liệu dưới dạng dũng, cột khi ràng buộc với điều khiển ADO Data hay trỡnh thiết kế DataEnvironment.
Sử dụng điều khiển DataList và DataCombo : Điều khiển DataList và DataCombo là những điều khiển sao chộp lại cỏc chức năng của điều khiển DBList. DataList cung cấp danh sỏch cỏc chọn lựa, DataCombo dựng nối kết dữ liệu nhập vào điều khiển với một trường trong cơ sở dữ liệu, cả hai đều tương thớch với DAO Data và ADO Data mới.
5. Sử dụng cỏc cõu truy vấn (SQL)
Một cõu truy vấn là một lệnh cơ sở dữ liệu để lấy về cỏc mẩu tin. Sử dụng cõu truy vấn, cú thể lấy dữ liệu từ một hoặc nhiều trường trong một hay nhiều
bảng. Ngồi ra, cũn cú thể ộp cỏc dữ liệu lấy về theo một hoặc nhiều ràng buộc, gọi là cỏc tiờu chớ để hạn chế số lượng dữ liệu lấy về.
SQL là giải phỏp chuẩn để thao tỏc với cơ sở dữ liệu. Nú được thực hiện theo nhiều dạng khỏc nhau trong cỏc hệ thống cơ sở dữ liệu quan hệ, bao gồm Access và SQL Server
Cỏc cõu truy vấn SQL cho khả năng lấy về cỏc mẩu tin từ một bảng cơ sở dữ liệu, đối chiếu cỏc dữ liệu quan hệ với nhau trong nhiều bảng và thao tỏc với cấu trỳc của cơ sở dữ liệu. Cỏc kiểu truy vấn SQL nhất định cú thể điền dữ liệu vào một điều khiển dữ liệu. Trong chương trỡnh, cỏc cõu truy vấn SQL được dựng khi thao tỏc với cỏc cơ sở dữ liệu thụng qua sử dụng mụ hỡnh đối tượng DAO, RDO và ADO.
Lợi ớch khi dựng SQL
Theo kinh nghiệm trong Visual Basic, bất cứ chổ nào dựng một tham chiếu đến một bảng, đều cú thể thay thế bằng cỏch sử dụng một cõu lệnh SQL hoặc một tham chiếu đến một truy vấn đĩ lưu trữ nhưng bản thõn nú vẫn dựa vào một cõu lệnh SQL.
Nơi thớch hợp nhất để đặt một cõu lệnh SQL, dựa trờn cỏc kỹ thuật truy cập dữ liệu, là thuộc tớnh RecordSource của một điều khiển dữ liệu. Vỡ vậy, thay vỡ chỉ ra thuộc tớnh RecordSource là tờn của một bảng, cú thể đổi thuộc tớnh này thành tờn của một cõu truy vấn chứa sẵn hay một cõu lệnh SQL như : SELECT * FROM TEN_BANG ORDER BY KEY. Điều này cho ta sự linh hoạt đỏng kể khi chọn lựa một nguồn mẩu tin.
Sử dụng cõu lệnh SQL trong cỏc ngữ cảnh khỏc nhau của chương trỡnh
Tham số Source của phương thức OpenRecordSet của đối tượng DataBase
của DAO được sử dụng phổ biến nhất khi truy vấn cỏc mẩu tin từ một cơ sở dữ liệu Access.
Sử dụng thuộc tớnh Source của một đối tượng RecordSet của ADO. 42
Sử dụng cõu lệnh SELECT để lấy về cỏc mẩu tin
Cõu lệnh SELECT là cốt lừi của mọi truy vấn lấy về dữ liệu. Nú thụng bỏo cho bộ mỏy cơ sở dữ liệu những trường nào sẽ được lấy về. Dạng thụng dụng nhất của cõu lệnh SELECT là : SELECT *
Mệnh đề cú ý nghĩa là “trả về tất cả cỏc trường tỡm thấy trong nguồn mẩu tin chỉ định”. Dạng lệnh này rất tiện dụng vỡ khụng cần biết tờn của trường để lấy chỳng về từ một bảng. Tuy nhiờn, lấy về tất cả cỏc cột trong một bảng cú thể khụng hiệu quả, nhất là trong trường hợp mà ta chỉ cần 2 cột mà truy vấn của ta trả về quỏ nhiều.
Vỡ vậy, ngồi việc thụng bỏo cho bộ mỏy cơ sở dữ liệu để trả về tất cả cỏc trường trong nguồn mẩu tin, ta cũn cú khả năng chỉ ra chớnh xỏc trường nào cần lấy về. Hiệu ứng lọc bớt này cải tiến hiệu quả của một truy vấn, nhất là trờn bảng lớn cú nhiều trường trong chương trỡnh, bởi vỡ trong chương trỡnh ta chỉ cần lấy về trường nào cần thiết.
Sử dụng mệnh đề FROM để chỉ nguồn mẩu tin
Mệnh đề FROM làm việc với cõu lệnh SELECT để trả về cỏc mẩu tin trong bảng, vớ dụ : SELECT * FROM TEN_BANG . Vỡ một cõu truy vấn SELECT FROM khụng xếp theo thứ tự nờn thứ tự trả về là khụng xỏc định. Để cõu truy vấn cú hiệu quả, cần phải giới hạn số trường lấy về bằng cỏch sử dụng mệnh đề
WHERE.
Sử dụng mệnh đề WHERE để chỉ ra tiờu chớ lọc
Mệnh đề WHERE thụng bỏo với bộ mỏy cơ sở dữ liệu để giới hạn số mẩu tin trả về theo một hay nhiều tiờu chớ lọc do người lập trỡnh cung cấp. Kết quả trả về của tiờu chớ lọc là TRUE/FALSE.
Frm.MDImain : Màn hỡnh giao diện chớnh của chương trỡnh
44
Frm.nhapheso : Màn hỡnh nhập hệ số lương
46
48