II. Khảo sỏt hệ thống
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 ..." .mnurewardforsalary.Caption = "Mức thởng ..."
.mnusalaryfile.Caption = "Lơng ..."
.mnuLookUp.Caption = "&Tra Cứu ..."
.mnuLookUppersonal.Caption = "Tra cứu theo hồ &Sơ Nhân viên..." .mnuLookupSalary.Caption = "Tra cứu theo &lơng ..."
.MnuTools.Caption = "Cơng Cụ"
.MnuLanguage.Caption = "&Ngơn ngữ Hiển Thị" .mnuEnglish.Caption = "&English"
.mnuAboutSalary.Caption = "Thơng Tin Về &Chơng Trình ..." End With Case False With MDImain .mnuEnglish.Checked = True .mnuVietnamese.Checked = False .mnufiles.Caption = "Files" .mnuexit.Caption = "E&xit" .mnuView.Caption = "&View" .mnuStatus.Caption = "&Status" .mnutask.Caption = "&Task" .mnuInput.Caption = "Input"
.mnuAllowanceFiles.Caption = "&Allowance Files ..." .mnuCoefficientforsalary.Caption = "&Ceofficient Fo Salary ..." .mnupersonalfile.Caption = "&Personal Files ..."
.mnurewardforsalary.Caption = "&Raward for Salary ..." .mnusalaryfile.Caption = "&Salary files ..."
.mnuLookUp.Caption = "&Look Up..."
.mnuLookUppersonal.Caption = "Look Up According &Personal ..." .mnuLookupSalary.Caption = "Look Up According &Salary ..." .MnuTools.Caption = "&Tools"
.MnuLanguage.Caption = "&Language " .mnuEnglish.Caption = "&English" .mnuVietnamese.Caption = "&VietNamese" .mnuhelps.Caption = "&Helps"
.mnuAboutSalary.Caption = "&About Salry ..." End With
End Select End Sub Public Sub chao() Dim rec As Recordset Dim MySql As String 'Nạp Giĩi tính With frmTracuuCb
.cbotracuucb(0).AddItem "Nam" .cbotracuucb(0).AddItem "Nu" MsgBox "Chao Cac Bạn" End With
End Sub
Public Sub KiemTraNgay(dong As String) Dim ok
Dim i As Integer With frmhosocb If Len(dong) <> 10 Then
MsgBox "Bạn Nhập sai DL ngày tháng rồi! Hãy Nhập lại nh sau:
dd/mm/yyyy", vbCritical, "Chú ý" .txthoso(2).SetFocus ok = False
End If
nam1 = Val(Mid(dong, 7, 5)) dong = Format(dong, "dd/mm/yyyy") Ngay = Val(Mid(dong, 1, 2)) Thang = Val(Mid(dong, 4, 2)) Nam = Val(Mid(dong, 7, 4)) Select Case Thang
Case 4, 6, 9, 11
If Ngay > 30 And Len(nam1) = 4 Then
MsgBox "Bạn nhập sai ngày, tháng này chỉ cĩ 30 ngày!", vbCritical, "Chú ý"
.txthoso(2).SetFocus Else
If (Thang = 4) Or (Thang = 6) Or (Thang = 9) Or (Thang = 11) And (Len(nam1) = 4) Then .cbohoso(0).SetFocus ok = True End If End If Case 1, 3, 5, 7, 8, 10, 12
If Ngay > 31 And Len(nam1) = 4 Then
MsgBox "Bạn nhập sai ngày, tháng này chỉ cĩ 31 ngày!", vbCritical, "Chú ý"
.txthoso(2).SetFocus Else
If (Thang = 1) Or (Thang = 3) Or (Thang = 5) Or (Thang = 7) Or (Thang = 8) Or (Thang = 10) Or (Thang = 12) And (Len(nam1) = 4) Then .cbohoso(0).SetFocus ok = True End If End If Case 2
MsgBox "Bạn nhập sai DL, tháng 2 chỉ cĩ 28 ngày", vbCritical, "Chú ý"
.txthoso(2).SetFocus Else
If (Nam Mod 4 = 0) And (Ngay <= 29) And (Thang = 2) Then .cbohoso(0).SetFocus
ok = True End If
If (Nam Mod 4 <> 0) And (Ngay > 28) And (Thang = 2) Then MsgBox "Bạn nhập sai DL, tháng 2 chỉ cĩ 28 ngày", vbCritical, "Chú ý"
.txthoso(2).SetFocus Else
If (Nam Mod 4 <> 0) And (Ngay <= 28) And (Thang = 2) Then ok = True .txthoso(2).SetFocus End If End If End If Case Else
If Val((Thang > 12) And (Len(nam1) = 4)) Then
MsgBox "Bạn Nhập sai kiểu tháng !", vbCritical, "Chú ý" .txthoso(2).SetFocus End If End Select If ok = True Then frmhosocb.cbohoso(0).SetFocus Else .txthoso(2).SetFocus MsgBox "xay ra o Toi" End If
End With End Sub
Dim myPathhoso As String Dim db As Database Dim rec As Recordset Dim mypath As String Dim dongsql As String Dim coghi
Private Sub cbohoso_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
Select Case Index Case 0 ' Gioi tinh If KeyCode = 13 Then If cbohoso(0).Text = "" Then MsgBox "Bạn Phải nhập DL Vao !" cbohoso(0).SetFocus
Else
If (UCase(Trim(cbohoso(0).Text)) = UCase("Nam")) Or (UCase(Trim((cbohoso(0).Text))) = UCase("Nữ")) Then
cbohoso(1).SetFocus Else
MsgBox "DL chỉ nhận là : Nam hoặc Nữ ", vbCritical, "Thơng Báo" cbohoso(0).SetFocus End If End If End If Case 1 'Dân Tộc If KeyCode = 13 Then If cbohoso(1).Text = "" Then MsgBox "Bạn Phải nhập DL Vao !" cbohoso(1).SetFocus Else cbohoso(1).Text = Chuan(cbohoso(1), 2) txthoso(3).SetFocus End If End If Case 2 ' Phong If KeyCode = 13 Then If cbohoso(2).Text = "" Then MsgBox "Bạn Phải nhập DL Vao !" cbohoso(2).SetFocus Else cbohoso(2).Text = Chuan(cbohoso(2), 1) cbohoso(3).SetFocus End If End If Case 3 'Chuc vu If KeyCode = 13 Then
cbohoso(3).SetFocus Else cbohoso(3).Text = Chuan(cbohoso(3), 2) cbohoso(4).SetFocus End If End If Case 4 ' trinh Do If KeyCode = 13 Then If cbohoso(4).Text = "" Then MsgBox "Bạn Phải nhập DL Vao !" cbohoso(4).SetFocus Else cbohoso(4).Text = Chuan(cbohoso(4), 2) cbohoso(5).SetFocus End If End If
Case 5 ' Chuyen mon If KeyCode = 13 Then
If cbohoso(5).Text = "" Then MsgBox "Bạn Phải nhập DL Vao !" cbohoso(5).SetFocus Else cbohoso(5).Text = Chuan(cbohoso(5), 2) txthoso(5).SetFocus End If End If End Select End Sub
Sub cmdchucnang_Click(Index As Integer) Select Case Index
Case 0 ' Nhập mới
'MsgBox " Bạn vừa chọn nhập mới " Set db = OpenDatabase(mypath) Set rec = db.OpenRecordset("hosocanbo") For i = 0 To 5 txthoso(i).Text = "" Next i For i = 0 To 5 cbohoso(i).Text = "" Next i NapNhapHSCB txthoso(0).SetFocus
Case 1 ' chọn chức năng sửa
IDMacb = InputBox(" Nhập vào mã Cán bộ cần sửa ", "Sửa chữa") If Len(Trim(IDMacb)) = 0 Then Exit Sub
Set rec = db.OpenRecordset("SELECT * FROM HosoCanBo WHERE [MaCB]='" & IDMacb & "'")
If rec.RecordCount = 0 Then
MsgBox "Khơng tồn tại mã cán bộ đĩ trong lu trữ ", vbCritical,
"Khơng thấy"
txthoso(0).SetFocus Exit Sub
End If
Set dathoso.Recordset = rec Me.dathoso.Refresh On Error Resume Next Case 2 ' chọn chức năng Ghi MsgBox " Bạn vừa chọn ghi"
Set db = DBEngine.Workspaces(0).OpenDatabase(mypath) Set rec = db.OpenRecordset("HoSoCanBo")
' Kiểm tra Xem Da co đủ Thong tin For k = 0 To 5 If cbohoso(i).Text = "" Then cbohoso(i).SetFocus End If If txthoso(i).Text = "" Then txthoso(i).SetFocus End If Next k
dongsql = "Insert into hosocanbo
(macb,Hoten,ngaysinh,Gioitinh,DanToc,Quequan,NoiOhiennay,Phong,ChucV u,TrinhDo,Chuyenmon,NgayvaoBienChe) Values ('" &
UCase(Trim(txthoso(0).Text)) & "','" & Trim(txthoso(1).Text) & "','" & Trim(txthoso(2).Text) & "','" & Trim(cbohoso(0).Text) & "','" & Trim(cbohoso(1).Text) & "','" & Trim(txthoso(3).Text) & "','" & Trim(txthoso(4).Text) & "','" & Trim(cbohoso(2).Text) & "','" & Trim(cbohoso(3).Text) & "','" & Trim(cbohoso(4).Text) & "','" & Trim(cbohoso(5).Text) & "','" & Trim(txthoso(5).Text) & "')" Me.dathoso.Recordset.MoveFirst
For j = 0 To dathoso.Recordset.RecordCount - 1 If UCase(Trim(txthoso(0).Text)) <>
coghi = False If coghi = False Then
MsgBox " Đã Cĩ trong cơ sở dữ liệu của bạn !" Exit For End If End If Me.dathoso.Recordset.MoveNext Next j
If coghi = True Then db.Execute dongsql dathoso.Refresh End If
db.Execute dongsql
db.Execute "Insert Into Luong(macb,luong,kynhan)Values ('" & UCase(Trim(txthoso(0).Text)) & "',100,'No')"
db.Close
txthoso(0).SetFocus Case 3 'Xố
Set db = OpenDatabase(mypath)
Set rec = db.OpenRecordset("Hosocanbo") With rec
If Not .EOF Or Not .BOF Then
xoa = MsgBox("Bạn Muốn xố ?", vbYesNo, "Chú ý") If xoa = vbYes Then
Me.dathoso.Recordset.MoveFirst .Delete End If ' .Update End If End With Case 4, Xem frmXemhoso.Show Case 5 ' In ấn frmXemhoso.cmdchucnang_Click Case 6 'Kết Thúc Unload Me End Select End Sub
Private Sub dathoso_Reposition()
dongxoa = Me.dathoso.Recordset.RecordCount + 1 End Sub
Private Sub DBGrid1_Click()
If Not Me.dathoso.Recordset.BOF Or Not Me.dathoso.Recordset.EOF Then txthoso(0).Text = Me.dathoso.Recordset.Fields(0).Value
txthoso(1).Text = Me.dathoso.Recordset.Fields(1).Value Else
MsgBox "Đây la quá bản ghi cuối rồi", vbCritical, "Chú ý" End If
End Sub
Sub Form_Activate() Me.Width = 11100 Me.Height = 7500