Sử dụng cỏc đối tượng truy cập dữ liệu trong chương trỡnh

Một phần của tài liệu Quản lý nhân sự lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS (Trang 32)

II. Khảo sỏt hệ thống

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)

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 ạo cấu trỳc cơ ở dữ liệu bao gồm cỏc bảng, cỏc cõu truy vấn chứa à t s 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ơ ở dữ liệu Jet của Microsoft, DAO cho phộp truy cập cỏc tớnh năng s 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ơ ở dữ liệu tr s ờ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ơ ở dữ liệu mới, s kiểm tra cấu trỳc và dữ liệu chứa trong một cơ ở dữ liệu. s

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 hành động (bao gồm cỏc cõu truy vấn Update,

Delete, Append)

 Sữa đổi cấu trỳc cơ ở dữ liệu s

 Xử lý lỗi phỏt sinh bởi truy cập cơ ở dữ liệu. s

Đ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ơ ở dữ liệu hướng s

đố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. Ngoà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ơ ở dữ liệu v s à cú thể truy cập dữ

liệu từ xa.

ADO được xem là kỹ thuật để truy cập cơ ở dữ liệu từ Web Server. Bởi v s ỡ

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 ới cơ ở dữ v s liệu Client/Server th ễ hơỡ d n cỏc kỹ thuật khỏc.

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 Client Workstation

Client Application Activex Data Objects OLEDB ODBC Provider Client Workstation

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

4.

 Đ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. 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

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ơ ở dữ liệu. s

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ả cỏc tớnh năng v ự dễ dà s à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ơ ở dữ liệu. s

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ơ ở dữ liệu vẫn cú s 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 ọn tr g ờ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.

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ơ ở dữ liệu để lấy về cỏc mẩu tin. Sử dụng s 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. Ngoà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ơ ở dữ liệu. Nú được thực hiện s theo nhiều dạng khỏc nhau trong cỏc hệ thống cơ ở dữ liệu quan hệ, bao gồm s 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ơ ở dữ s 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ơ ở dữ liệu. Cỏc kiểu truy vấn SQL nhất định cú thể điền dữ s 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ơ ở dữ liệu thụng qua sử dụng mụ h s ỡnh đối

tượng DAO, RDO và ADO.

Lợi ớch khi dựng SQL

Theo kinh nghiệm trong Visual Basic, bất ứ chổ n c à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 ậy, thay ỡ v 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

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ơ ở dữ liệu Access. s

 Sử dụng thuộc tớnh Source của một đối tượng RecordSet của ADO.

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ơ ở dữ liệu những trường n s à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, ngoài việc thụng bỏo cho bộ mỏy cơ ở dữ liệu để trả về tất cả s 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ử

Mệnh đề WHERE thụng bỏo với bộ mỏy cơ ở dữ liệu để giới hạn số mẩu s 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.

6. Cài đặt và chạy chương trỡnh

Frm.xemluong: Màn hỡnh hiển thị xem lương cỏn bộ

CHƯƠNG V:

của một doanh nghiệp.Chương trỡnh đĩ giỳp rất nhiều cho cỏn bộ nghiệp vụ

nhõn sự, tiền lương trong việc cập nhập, chỉnh sửa, tớnh lương, quản lý, tỡm kiếm, đưa ra cỏc bỏo cỏo, bỏo biểu về thụng tin cỏn bộ rất dễ dàng và chớnh xỏc..Nhưng do thời gian cú hạn và kiến thức cũn hạn hẹp nờn chương trỡnh khụng trỏnh khỏi những thiếu xút..như chương trỡnh chưađưa ra được phần

quản trị ệ thống h , phõn quyền cho cho người sử dụng, chưa đưa ra được một

quy trỡnh quản lý sao lưu backup dữ liệu…Trong thời gian tới, e sẽ cố gắng

hồn thiện chương trỡnh và phỏt triển chương trỡnh thờm nhiều module

nữa..như xõy dựng hệ thống chấm cụng tự động, hệ thống quản lý đơn

hàng..tạo dựng database chung cho chương trỡnh để chương trỡnh ngày một ưu

việt.

Cuối cựng, em xin chõn thành cảm ơn Ths. Nguyễn Thanh Hương giảng

viờn b mụn Cụng nghộ ệ thụng tin Trường Đại Học Kinh Tế Quốc Dõn đ ận ĩ t tỡnh chỉ bảo hướng dẫn em hoàn thành đề tài này.Cỏm ơn quý cụng ty TNHH

Minh Trớ đ ạo điều kiện cho e khảo sỏt vĩ t à thực tập tại cụng ty để e cú thể hồn thành được đề tài này.

NHẬN XẫT CỦA GIÁO VIấN HƯỚNG DẪN

……… ……… ………

……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ………

XÁC NHẬN CỦA CƠ QUAN THỰC TẬP

……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… ……… Kí VÀ ĐểNG DẤU

TÀI LIỆU THAM KHẢO 1. Cơ Sở Dữ Liệu Quan Hệ

Lờ Tiến Vương

2. Phõn Tớch & Thiết Kế Hệ Thống

3. Cơ Sở Dữ Liệu & Phõn Tớch Thiết Kế Hệ Thống Thụng Tin Quản Lý

Nguyễn Hữu Trọng

4. Tự Học Lập Trỡnh Cơ Sở Dữ Liệu Visual Basic 6.0 tập 1&2

Nguyễn Đỡnh Tờ(chủ biờn)

5. Những Bài Thực Hành Cơ Sở Dữ Liệu Cơ Sở Visual Basic

Đinh Xũn Lõm

6. Cơ Sở Dữ Liệu Visual Basic

Nguyễn Thị Ngọc Mai

7. Tin Học Văn Phũng Access 2000

Nguyễn Sĩ Dũng

8. Lập Trỡnh Access 2000

ễng Văn Thụng

PHỤ LỤC

Private Sub MDIForm_Load() ' Load frmgioithieu MDImain.WindowState = 2 Language (True)

End Sub

Sub MDIForm_Unload(Cancel As Integer) Me.mnuexit_Click

End Sub

Private Sub mnuAboutSalary_Click() frmAbout.Show

End Sub

Private Sub mnuAccordingSalary_Click() ' frmTCsach.Show

End Sub

Private Sub mnuAllowanceFiles_Click() frmPhuCap.Show

End Sub

Private Sub mnuArrangeIcon_Click() Me.Arrange 3 'dbArrangeIcon End Sub

Private Sub mnucascade_Click() Me.Arrange 0

End Sub

Private Sub mnuCoefficientforsalary_Click() frmnhapheso.Show

End Sub

Private Sub mnuEnglish_Click()

If MDImain.mnuEnglish.Checked = False Then MDImain.mnuVietnamese.Checked = False MDImain.mnuEnglish.Checked = True Language (False) End If End Sub Sub mnuexit_Click()

ketthuc = MsgBox("Bạn muốn kết thúc tại đây! ", vbYesNo, "Thơng báo") If ketthuc = vbYes Then

End End If End Sub

Private Sub mnuLookUppersonal_Click() frmTracuuCb.Show

End Sub

Private Sub mnuLookupSalary_Click() frmTraCuuLuong.Show

End Sub

Private Sub mnuOpenFilesPersonal_Click() cdlmain.ShowOpen

myPathhoso = cdlmain.FileName End Sub

Private Sub mnupersonalfile_Click() frmhosocb.Show

End Sub

Private Sub mnurewardforsalary_Click() frmthuong.Show

End Sub

Private Sub mnusalaryfile_Click() frmluong.Show

End Sub

Private Sub mnusave_Click() Me.cdlmain.ShowSave End Sub

Private Sub mnuStatus_Click()

If Me.StatusBar1.Visible = False Then Me.mnuStatus.Checked = True Me.StatusBar1.Visible = True Else Me.StatusBar1.Visible = False Me.mnuStatus.Checked = False End If End Sub

Private Sub mnuTileHozizontally_Click() Me.Arrange 1

End Sub

Private Sub mnuTileVertically_Click() Me.Arrange 2

End Sub

Private Sub mnuToolsbars_Click() If Me.tlbmain.Visible = False Then Me.mnuToolsbars.Checked = True Me.tlbmain.Visible = True Else

End Sub

Private Sub mnuVietnamese_Click()

If MDImain.mnuVietnamese.Checked = False Then MDImain.mnuEnglish.Checked = False MDImain.mnuVietnamese.Checked = True Language (True)

End If End Sub

Private Sub tlbmain_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.Key

Case "New"

file = InputBox(" Nhập vào Tên CSDL cần tạo", "Tao bảng cSDL mới") If Trim(file) = "" Then Exit Sub Else Maketable (file) End If Case "Open"

MsgBox "Banj chon mo" Case "Save"

MsgBox "Ban cho ghi" Case "Print"

MsgBox "ban cho in" Case "PrintReview"

MsgBox "Phần này dành cho bạn" Case "Exit"

MsgBox "choa bai" mnuexit_Click

End Select End Sub

'Đoạn chơng trình nhằm chuẩn hố tiếng việt

Function Chuan(XauVao As String, Thamso As Byte) As String Dim xau(1 To 50) As String

Dim kTdau Dim KTV Dim k As Byte Chuan = "" KTV = Trim(XauVao) For k = 1 To Len(KTV)

xau(k) = Mid(KTV, k, 1) Next k

Select Case Thamso Case 1

'tất các ký tự đầu đợc biến thành chữ hoa

For k = 1 To Len(KTV) xau(k) = Mid(KTV, k, 1) Next k

For i = 1 To Len(KTV)

If Asc(xau(1)) >= 168 And Asc(xau(1)) <= 174 Then xau(1) = Chr(Asc(xau(1)) - 7)

Else

xau(1) = UCase(xau(1)) End If

If Asc(xau(i)) = 32 Then

If (Asc(xau(i + 1))) >= 168 And Val(Asc(xau(i + 1))) <= 174 Then xau(i + 1) = Chr(Asc(xau(i + 1)) - 7) Else xau(i + 1) = UCase(xau(i + 1)) End If End If

Chuan = Chuan + xau(i) Next i

Case 2 ' chuẩn hố các ký tự đầu tiên kTdau = Left(Trim(KTV), 1)

If Asc(kTdau) >= 168 And Asc(kTdau) <= 174 Then Chuan = Chr(Asc(kTdau) - 7) + Right(Trim(KTV), Len(Trim(KTV)) - 1)

Else

Chuan = UCase(kTdau) + Right(Trim(KTV), Len(Trim(KTV)) - 1) End If Case 3 ' tấ cả là chữ hoa Chuan = UCase(KTV) End Select End Function

Public Const myPathhoso = "c:\qlluong\QLuong.mdb" Public Const rptfilename = "c:\qlluong\"

Public Chiso As Byte

Function Doi_date(sdate As Variant) As Date Dim i As Byte

Dim vitri, k As Byte Dim Thang As String * 2 Dim Ngay As String * 2 Dim Nam As String * 4 sdate = Trim(sdate) Ngay = Mid(sdate, 1, 2) Thang = Mid(sdate, 4, 2) Nam = Mid(sdate, 7, 10)

Doi_date = Thang & "/" & Ngay & "/" & Nam End Function

Public Function CheckDate(sdate As String) As String If IsDate(sdate) = False Then

CheckDate = "" Exit Function End If Dim i As Byte Dim vitri, k As Byte Dim Thang As String * 2 Dim Ngay As String * 2 Dim Nam As String * 4 Dim Sign(1) As String * 1 Sign(0) = "-" Sign(1) = "/" Thang = "" Ngay = "" vitri = 1 For i = 0 To 1

vitri = InStr(1, sdate, Sign(i)) If vitri <> 0 Then

Ngay = Mid(sdate, 1, vitri - 1) k = vitri + 1

vitri = InStr(vitri + 1, sdate, Sign(i)) If vitri <> 0 Then

Thang = Mid(sdate, k, vitri - k)

Nam = Mid(sdate, vitri + 1, Len(Trim(sdate)) - vitri) Exit For

End If Else End If Next i

If Len(Ngay) = 0 Or Len(Thang) = 0 Then CheckDate = ""

Exit Function End If

If Len(Trim(Ngay)) = 1 Then Ngay = "0" & Ngay If Len(Trim(Thang)) = 1 Then Thang = "0" & Thang If Int(Val(Thang)) > 12 Then CheckDate = "" Exit Function Else If Int(Val(Ngay)) > 31 Then CheckDate = "" Exit Function End If

CheckDate = Trim(Ngay & "/" & Thang & "/" & Nam) End If

End Function

Public Sub Language(Language As Boolean) Select Case Language

Case True With MDImain .mnuEnglish.Checked = False .mnuVietnamese.Checked = True .mnufiles.Caption = "Files" .mnuexit.Caption = "&Kết Thúc" .mnuView.Caption = "&Hiện ẩn" .mnuStatus.Caption = "T&rạng Thái" .mnutask.Caption = "&Nhiệm vụ" .mnuInput.Caption = "Nhập Dữ Liệu"

.mnuAllowanceFiles.Caption = "&Nhập Phụ Cấp ..." .mnuCoefficientforsalary.Caption = "&Hệ Số Lơng ..."

.mnupersonalfile.Caption = "Hồ &Sơ Can Bo ..."

Một phần của tài liệu Quản lý nhân sự lương trên hệ quản trị cơ sở dữ liệu MICROSOFT ACCESS (Trang 32)

Tải bản đầy đủ (PDF)

(85 trang)