Đồ án Chương trình Quản lý dân số tại địa bàn nội thành Hà Nội

MỤC LỤC

LỜI NÓI ĐẦU 3

CHƯƠNG I: BÀI TOÁN XÂY DỰNG PHẦN MỀM QUẢN LÝ DÂN SỐ TẠI ĐỊA BÀN NỘI THÀNH HÀ NỘI 4

I- MÔ TẢ BÀI TOÁN: 4

II- YÊU CẦU THỰC HIỆN: 4

CHƯƠNG II: PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG 5

I- SƠ ĐỒ PHÂN CẤP CHỨC NĂNG CỦA HỆ THỐNG: 5

II- PHÂN TÍCH CƠ SỞ DỮ LIỆU: 6

III- CÁC BẢNG CƠ SỎ DỮ LIÊU: 7

CHƯƠNG III: CÁC NGÔN NGỮ SỬ DỤNG TRONG CHƯƠNG TRÌNH 10

1- Giới thiệu về hệ quản trị cơ sở dữ liệu Microsoft Access: 10

2- Ngôn ngữ lập trình visual basic: 10

CHƯƠNG IV: GIAO DIỆN VÀ CÁC CHỨC NĂNG CỦA HỆ THỐNG 14

1. Giao diện của form đăng nhập: 14

2. Giao diện của form main: 14

3. Giao diện của form thông tin các Quận: 15

4. Giao diện của form thông tin các Phường: 16

5. Giao diện của form cập nhật thông tin Hộ khẩu: 17

6. Giao diện của form cập nhật thông tin Nhân khẩu: 18

7. Giao diện của form danh mục Hình thức lưu trú và form Trình độ: 19

8. Giao diện của form tìm kiếm thông tin nhân khẩu: 20

CHƯƠNG V: MỘT SỐ CODE CHƯƠNG TRÌNH 21

1. Code form Đăng nhập: 21

2. Code form Thông tin các Quận: 22

KẾT LUẬN 42

 

 

doc43 trang | Chia sẻ: maiphuongdc | Lượt xem: 1698 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Chương trình Quản lý dân số tại địa bàn nội thành Hà Nội, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Chức năng trợ giúp bao gồm: Giới thiệu về chương trình, hướng dẫn sử dụng các chức năng trong chương trình. Hệ thống Tra cứu Trợ giúp Xây dựng phần mềm quản lý dân số tại địa bàn nội thành Hà Nội Hệ thống Thông tin các Quận Thông tin các Phường Thông tin các Tổ dân phố Thông tin tài khoản đăng nhập Hinh1 : Sơ đồ chức năng của hệ thống Tra cứu Cập nhật thông tin Hộ gia đình Cập nhật thông tin Nhân khẩu Cập nhật thông tin Nghề nghiệp Tìm kiếm thông tin nhân khẩu Danh mục các Hình thức lưu trú, các Trình độ văn hóa Báo cáo tổng hợp Hình 2: Sơ đồ chức năng tra cứu Tìm kiếm Giới thiệu Hướng dẫn sử dụng Hình 4: Sơ đồ chức năng trợ giúp PHÂN TÍCH CƠ SỞ DỮ LIỆU: Xuất phát từ nhu cầu thực tế của bài toán quản lý ta xác định được các thực thể tham gia vào hệ thống cùng với mối quan hệ giữa các thực thể: DANH SÁCH QUẬN DANH SÁCH PHƯỜNG -Mã quận -Mã phường -Tên quận -Tên phưòng -Mã quận DANH SÁCH TỔ DÂN PHỐ DANH SÁCH HỘ GIA ĐÌNH -Mã tổ -Mã hộ khẩu -Tên tổ -Tên chủ hộ -Mã phường -Mã tổ DANH SÁCH NHÂN KHẨU NGHỀ NGHIỆP -Mã hộ khẩu -Mã nghề nghiệp -Tên nhân khẩu -Nghề nghiệp -Ngày sinh -Giới tính -Số chứng minh thư -Nghề nghiệp -Trình độ văn hóa -Hình thức lưu trú TRÌNH ĐỘ HÌNH THỨC LƯU TRÚ -Mã trình độ -Mã hình thức -Trình độ -Tên hình thức TÀI KHOẢN -Username -Password III- CÁC BẢNG CƠ SỎ DỮ LIÊU: 1/ Bảng lưu trữ thông tin Quận (tblQuan) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaQuan(khoá chính) 5 Text Mã quận TenQuan 30 Text Tên quận 2/ Bảng lưu trữ thông tin Phường (tblPhuong) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaPhuong (khoá chính) 5 Text Mã phường TenPhuong 30 Text Tên phường MaQuan 5 Text Mã quận 3/ Bảng lưu trữ thông tin Tổ dân phố (tblTo) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaTo(khoá chính) 5 Text Mã tổ TenTo 20 Text Tên tổ MaPhuong 5 Text Mã phường 4/ Bảng lưu trữ thông tin Hộ khẩu (tblHokhau) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaHK(khoá chính) 5 Text Mã hộ khẩu Tenchuho 30 Text Tên chủ hộ MaTo 5 Text Mã tổ 5/Bảng lưu trữ thông tin Nhân khẩu (tblNhankhau) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaHK 5 Text Mã hộ khẩu TenNhankhau 30 Text Tên nhân khẩu Ngaysinh 50 Date/Time Ngày sinh Gioitinh 50 Yes/No Giới tính SoCMT (khóa chính) 9 Text Số chứng minh thư Nghenghiep 50 Text Nghề nghiệp Trinhdo 50 Text Trình độ Hinhthucluutru 50 Text Hình thức lưu trú 6/ Bảng lưu trữ thông tin Nghề nghiệp (tblNghenghiep) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaNN(khoá chính) 5 Text Mã nghề nghiệp Nghenghiep 30 Text Tên nghề nghiệp 7/ Bảng lưu trữ thông tin Trình độ văn hóa (tblTrinhdo) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaTD(khoá chính) 5 Text Mã trình độ Trinhdo 30 Text Trình độ 8/ Bảng lưu trữ thông tin Hình thức lưu trú (tblHinhthucluutru) Tên trường Độ rộng Kiểu dữ liệu Chú thích MaHT(khoá chính) 5 Text Mã hình thức TenHT 30 Text Tên hình thức 9/ Bảng lưu trữ thông tin Tài khoản (tblAccount) Tên trường Độ rộng Kiểu dữ liệu Chú thích Username(khoá chính) 5 Text Tên đăng nhập Password 30 Text Mật khẩu CHƯƠNG III: CÁC NGÔN NGỮ SỬ DỤNG TRONG CHƯƠNG TRÌNH 1- Giới thiệu về hệ quản trị cơ sở dữ liệu Microsoft Access: Microsoft Access là một trong những phần mềm ứng dụng của bộ Microsoft Office. Access là một hệ quản trị cơ sở dữ liệu ( Data base managenent system). Viết tắt là cơ sở dữ liệu dùng để tạo và sử lý các cơ sở dữ liệu. Cho phép quản lý các số liệu một cách thống nhất có tổ chức, liên kết các số liệu rời rạc lại với nhau và giúp người sử dụng có thể thiết kế chương trình một cachs tự động, tránh những thao tác thủ công trong quá trình tính toán sử lý 2- Ngôn ngữ lập trình visual basic: Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình Visual studio, cho phép người dùng tiếp cận nhanh cách thức lập trình trên môi trường Windows. Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6 nhữ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ới là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. a) Cài đặt Visual Basic 6.0 Sử dụng chương trình Setup, người dùng có thể cài đặt VB6 lên máy tính của mình. Chương trình Setup này còn cài đặt các tập tin cần thiết để xem tài liệu trên đĩa CD MSDN (Microsoft Developer Network). Nếu cần, người dùng có thể cài đặt riêng phần tài liệu và ví dụ mẫu của Visual Basic lên máy tính. Để cài đặt VB6, người dùng nên kiểm tra máy tính của mình đảm bảo được cấu hình tối thiểu. Các yêu cầu hệ thống tối thiểu : - Microsoft Windows 95 trở lên hoặc là Microsoft Windows NT Workstation 4.0 trở lên. - Tốc độ CPU 66 MHz trở lên. - Màn hình VGA hoặc màn hình có độ phân giải cao được hỗ trợ bởi Microsoft Windows. - 16 MB RAM cho Microsoft Windows 95 hoặc 32MB RAM cho Microsoft Windows NT Workstation Visual Basic là ngôn ngữ lập trình theo hướng đối tượng (OOP – Oriented Object Programming).Sử dụng VB có thể tạo ra những ứng dụng nhanh nhất với giao diện hỗ trợ mạnh cho người sử dụng. Visual Basic là một trong những ngôn ngữ lập trình bậc cao thông dụng nhất hiện nay, là một sản phẩm của Microsoft.Nó cũng giống như hầu hết các ngôn ngữ lập trình bậc cao khác, trong Visual Basic chứa đầy đủ các câu lệnh cần thiết, các hàm xây dựng sẵn. Ngoài ra Visual Basic chứa một số phương tiện giúp cho việc áp dụng kĩ thuật hướng đối tượng trong việc truy cập cơ sở dữ liệu.Trong Visual Basic có rất nhiều phương pháp truy cũng như các đối tượng truy cập dữ liệu như : ADO, ADODB, DAO, RDO…, nói chung các đối tượng này có những thuộc tính tương đối giống nhau.Trong báo cáo này em chủ yếu đi sâu vào đối tượng ADO.Vì ADO là một công cụ truy cập dữ liệu rất hữu hiệu và ADO cũng được cài đặt trong chương trình. ADO là gì ? ADO (ActiveX Data Object hay đối tượng dữ liệu ActiveX).Ta có thể hình dung rằng ADO là một mô hình làm giảm kích thước của mô hình RDO (Đối tượng dữ liệu từ xa).Mô hình dữ liệu ActiveX rất gọn (ADO truy cập tới các cơ sở dữ liệu qua OLEDB với tốc độ truy cập nhanh, bộ nhớ tốn ít…).Nó được thiết kế để cho phép lập trình viên lấy được một tập các Record từ nguồn dữ liệu một cách nhanh nhất nếu có thể.Tốc độ và tính đơn giản là một trong những mục tiêu cốt lõi của ADO, mô hình này được thiết kế để cho phép tạo ra một đối tượng Recordset mà không cần phải di chuyển qua các đối tượng trung gian khác trong quá trình lập trình.Thực tế chỉ có ba đối tượng chính trong mô hình : -Connection : Đại diện kết nối thực sự -Command : Được sử dụng để thực thi các Query dựa vào kết nối dữ liệu. -Recordset : Đại diện cho một tập các Record được chọn Query thông qua đối tượng Command. Đối tượng Connection chứa một tập các đối tượng còn lại là các đối tượng Error đối tượng này giữ lại bất kỳ một thông tin lỗi nào có liên quan đến kết nối.Đối tượng Command có một tập các đối tượng còn gọi là các đối tượng Error đối tượng này giữ lại bất kỳ một thong tin lỗi nào có liên quan đến kết nối.Đối tượng Command có một tập các đối tượng con là Parameter để giữ bất cứ tham số nào có thể thay thế cho query.Recordset cũng có một tập các đối tượng con Properties để lưu các thông tin chi tiết về đối tượng. Connection Command Parameter Recorset Fields Error Sơ đồ mô hình ActiveX Data Object Để sử dụng được thư viện ADO, trong VB cần thực hiện bước nạp thư viện theo thứ tự sau : VB -> Project -> References -> Microsoft ActiveX Data Objects 2.6 Library Các thuộc tính đặc biệt của đối tượng ADO Mô hình ADO có một số thuộc tính mà các mô hình cơ sở dữ liệu khác như DAO và RDO không có.Các thuộc tính này điều khiển cách thức tạo ra Dataset và quyền hạn truy cập trong một kết nối dữ liệu, có một số thuộc tính như sau : Connection String ( Chuỗi kết nối ) Command Text ( Văn bản câu lệnh ) Command Type ( Kiểu câu lệnh ) Cursor Location ( Định vị con trỏ ) Cursor Type ( Kiểu con trỏ ) Lock Type ( Kiểu khóa ) Mode Type ( Kiểu chế độ làm việc ) Ngoài ra trong Visual Basic còn chứa một số kiểu dữ liệu thông dụng khác cho phép lập trình viên tự định nghĩa và các câu lệnh chuẩn khác. CHƯƠNG IV: GIAO DIỆN VÀ CÁC CHỨC NĂNG CỦA HỆ THỐNG 1. Giao diện của form đăng nhập: 2. Giao diện của form main: 3. Giao diện của form thông tin các Quận: 4. Giao diện của form thông tin các Phường: Giao diện của form thông tin các Tổ dân phố và form thông tin Tài khoản cũng tương tự. 5. Giao diện của form cập nhật thông tin Hộ khẩu: 6. Giao diện của form cập nhật thông tin Nhân khẩu: 7. Giao diện của form danh mục Hình thức lưu trú và form Trình độ: 8. Giao diện của form tìm kiếm thông tin nhân khẩu: CHƯƠNG V: MỘT SỐ CODE CHƯƠNG TRÌNH 1. Code form Đăng nhập: Option Explicit Dim rs As New ADODB.Recordset Dim dem As Integer Dim strSQL As String Dim rsKtra As New ADODB.Recordset Dim cnn As New ADODB.Connection Private Sub cmdDangnhap_Click() dem = dem + 1 cnn.CursorLocation = adUseClient cnn.Provider = "Microsoft.Jet.Oledb.4.0" cnn.ConnectionString = "Data Source=" & App.Path & "\Data\QLDS.mdb" cnn.Open strSQL = "Select * from tblAccount where Username='" & txtUser.Text & "'" Set rsKtra = cnn.Execute(strSQL) If (rsKtra.BOF And rsKtra.EOF) Then If dem > 3 Then MsgBox "Sai qua 3 lan, bye!" End End If MsgBox "Ten dang nhap nay khong ton tai,moi nhap lai." cnn.Close Exit Sub End If If Not (rsKtra.BOF And rsKtra.EOF) Then Set rs = cnn.Execute("Select * from tblAccount where Username='" & txtUser.Text & "' AND Password='" & txtPass.Text & "'") End If strSQL = "Select * from tblAccount where Username='" & txtUser.Text & "' AND Password='" & txtPass.Text & "'" Set rsKtra = cnn.Execute(strSQL) If (rsKtra.BOF And rsKtra.EOF) Then If dem > 3 Then MsgBox "Sai qua 3 lan, bye!" End End If MsgBox "Sai mat khau, moi nhap lai." cnn.Close Exit Sub End If If Not (rs.EOF And rs.BOF) Then Set rs = Nothing Unload Me frmMain.Show End If End Sub Private Sub CmdThoat_Click() End End Sub Private Sub Form_Load() dem = 0 End Sub 2. Code form Thông tin các Quận: Option Explicit Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim rsKtra As New ADODB.Recordset Dim strSQL As String Dim sStatus As String Private Sub cmdGhi_Click() Dim cmd As New ADODB.Command Set cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc If Len(Trim(txtMaQuan.Text)) <= 0 Or Len(Trim(txtTenQuan.Text)) <= 0 Then MsgBox ("Ban chua nhap Ma quan hoac Ten Quan") Exit Sub End If If sStatus = "Them" Then strSQL = "Select * from tblQuan where MaQuan='" & txtMaQuan.Text & "'" Set rsKtra = cnn.Execute(strSQL) If Not (rsKtra.EOF And rsKtra.BOF) Then MsgBox ("Ma Quan nay da co.") Exit Sub End If cmd.CommandText = "qry_InsertTableQuan" cmd.Parameters.Append cmd.CreateParameter("@MaQuan", adVarChar, adParamInput, 5, txtMaQuan.Text) cmd.Parameters.Append cmd.CreateParameter("@TenQuan", adVarChar, adParamInput, 30, txtTenQuan.Text) Else If txtMaQuan.Text rs.Fields("Ma quan") Then strSQL = "Select * from tblQuan where MaQuan='" & txtMaQuan.Text & "'" Set rsKtra = cnn.Execute(strSQL) If Not (rsKtra.EOF And rsKtra.BOF) Then MsgBox ("Ma Quan nay da co.") Exit Sub End If End If cmd.CommandText = "qry_UpdateTableQuan" cmd.Parameters.Append cmd.CreateParameter("@MaQuan", adVarChar, adParamInput, 5, txtMaQuan.Text) cmd.Parameters.Append cmd.CreateParameter("@TenQuan", adVarChar, adParamInput, 30, txtTenQuan.Text) cmd.Parameters.Append cmd.CreateParameter("@Khoa", adVarChar, adParamInput, 5, rs.Fields("Ma quan")) End If cmd.Execute rs.Requery Set cmd = Nothing sStatus = "" Call HieuchinhCommandButton(1, 1, 0, 1, 0) End Sub Private Sub cmdHuy_Click() Call LaydulieuvaoTextbox Call HieuchinhCommandButton(1, 1, 0, 1, 0) End Sub Private Sub cmdSua_Click() sStatus = "Sua" Call HieuchinhCommandButton(0, 0, 1, 0, 1) End Sub Private Sub cmdThem_Click() Call ClearTextbox sStatus = "Them" Call HieuchinhCommandButton(0, 0, 1, 0, 1) End Sub Private Sub CmdThoat_Click() Unload Me frmMain.Show cnn.Close End Sub Private Sub cmdXoa_Click() If (rs.EOF And rs.BOF) Then Exit Sub Set rsKtra = cnn.Execute("Select * from tblPhuong where MaQuan='" & rs.Fields("Ma quan") & "'") If Not (rsKtra.EOF And rsKtra.BOF) Then If MsgBox("Thong tin ve Quan nay con lien quan den bang tblPhuong" _ & vbCrLf & "Ban chac chan muon xoa?", vbCritical + vbYesNo + vbDefaultButton2, "Chu y") = vbYes Then cnn.Execute ("DELETE from tblQuan where MaQuan='" & rs.Fields("Ma quan") & "'") rs.Requery End If Else If MsgBox("Ban chac chan muon xoa Quan nay?", vbCritical + vbYesNo + vbDefaultButton2, "Chu y") = vbYes Then cnn.Execute ("DELETE from tblQuan where MaQuan='" & rs.Fields("Ma quan") & "'") rs.Requery End If End If Call LaydulieuvaoTextbox End Sub Private Sub Form_Load() cnn.CursorLocation = adUseClient cnn.Provider = "Microsoft.Jet.Oledb.4.0" cnn.ConnectionString = "Data Source=" & App.Path & "\Data\QLDS.mdb" cnn.Open strSQL = "Select MaQuan as [Ma quan], TenQuan as [Ten quan] from tblQuan order by MaQuan" Set rs = cnn.Execute(strSQL) Set DataGrid1.DataSource = rs If Not (rs.BOF And rs.EOF) Then Call LaydulieuvaoTextbox End If Call HieuchinhCommandButton(1, 1, 0, 1, 0) End Sub Private Sub Form_Unload(Cancel As Integer) Set DataGrid1.DataSource = Nothing If rsKtra.State = adStateOpen Then rsKtra.Close Set rsKtra = Nothing If rs.State = adStateOpen Then rs.Close Set rs = Nothing End Sub Private Sub HieuchinhCommandButton(c1 As Byte, c2 As Byte, c3 As Byte, c4 As Byte, c5 As Byte) cmdThem.Enabled = IIf(c1 = 1, True, False) cmdSua.Enabled = IIf(c2 = 1, True, False) cmdGhi.Enabled = IIf(c3 = 1, True, False) cmdXoa.Enabled = IIf(c4 = 1, True, False) cmdHuy.Enabled = IIf(c5 = 1, True, False) End Sub Private Sub cmdLast_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MoveLast Call LaydulieuvaoTextbox End Sub Private Sub cmdNext_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MoveNext If rs.EOF Then rs.MoveFirst Call LaydulieuvaoTextbox End Sub Private Sub cmdPrevious_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MovePrevious If rs.BOF Then rs.MoveLast Call LaydulieuvaoTextbox End Sub Private Sub cmdFirst_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MoveFirst Call LaydulieuvaoTextbox End Sub Private Sub DataGrid1_Click() Call LaydulieuvaoTextbox End Sub Private Sub LaydulieuvaoTextbox() If (rs.BOF And rs.EOF) Then Exit Sub txtMaQuan.Text = "" & rs.Fields("Ma quan") txtTenQuan.Text = "" & rs.Fields("Ten quan") End Sub Private Sub ClearTextbox() txtMaQuan.Text = "" txtTenQuan.Text = "" End Sub 3. Code form cập nhật thông tin Nhân khẩu: Option Explicit Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim rsKtra As New ADODB.Recordset Dim strSQL As String Dim sStatus As String Dim rs4 As New ADODB.Recordset Dim rs5 As New ADODB.Recordset Dim rs6 As New ADODB.Recordset Dim rs7 As New ADODB.Recordset Dim gt As Boolean Private Sub HieuchinhCommandButton(c1 As Byte, c2 As Byte, c3 As Byte, c4 As Byte, c5 As Byte) cmdThem.Enabled = IIf(c1 = 1, True, False) cmdSua.Enabled = IIf(c2 = 1, True, False) cmdGhi.Enabled = IIf(c3 = 1, True, False) cmdXoa.Enabled = IIf(c4 = 1, True, False) cmdHuy.Enabled = IIf(c5 = 1, True, False) End Sub Private Sub cmdFirst_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MoveFirst Call LaydulieuvaoTextbox End Sub Private Sub cmdGhi_Click() Dim cmd As New ADODB.Command Set cmd.ActiveConnection = cnn cmd.CommandType = adCmdStoredProc If Len(Trim(DataCombo4.Text)) <= 0 Or Len(Trim(txtHoten.Text)) <= 0 Or Len(Trim(txtSoCMT.Text)) <= 0 Then MsgBox "Chua chon Ma ho khau, chua nhap Ten nhan khau hoac So CMT" Exit Sub End If If sStatus = "Them" Then strSQL = "Select * from tblNhankhau where SoCMT='" & txtSoCMT.Text & "'" Set rsKtra = cnn.Execute(strSQL) If Not (rsKtra.EOF And rsKtra.BOF) Then MsgBox "So CMT nay da co, moi nhap lai." Exit Sub End If cmd.CommandText = "qry_InsertTableNhankhau" cmd.Parameters.Append cmd.CreateParameter("@MaHK", adVarChar, adParamInput, 5, DataCombo4.Text) cmd.Parameters.Append cmd.CreateParameter("@TenNhankhau", adVarChar, adParamInput, 30, txtHoten.Text) cmd.Parameters.Append cmd.CreateParameter("@Ngaysinh", adVarChar, adParamInput, 10, txtNgaysinh.Text) cmd.Parameters.Append cmd.CreateParameter("@Gioitinh", adVarChar, adParamInput, 3, IIf(optNam.Value = True, -1, 0)) cmd.Parameters.Append cmd.CreateParameter("@SoCMT", adVarChar, adParamInput, 9, txtSoCMT.Text) cmd.Parameters.Append cmd.CreateParameter("@Nghenghiep", adVarChar, adParamInput, 5, DataCombo5.Text) cmd.Parameters.Append cmd.CreateParameter("@Trinhdo", adVarChar, adParamInput, 5, DataCombo6.Text) cmd.Parameters.Append cmd.CreateParameter("@Hinhthucluutru", adVarChar, adParamInput, 5, DataCombo7.Text) Else If txtSoCMT.Text rs.Fields("So CMT") Then strSQL = "Select * from tblNhankhau where SoCMT='" & txtSoCMT.Text & "'" Set rsKtra = cnn.Execute(strSQL) If Not (rsKtra.EOF And rsKtra.BOF) Then MsgBox "So CMT nay da co!" Exit Sub End If End If cmd.CommandText = "qry_UpdateTableNhankhau" cmd.Parameters.Append cmd.CreateParameter("@MaHK", adVarChar, adParamInput, 5, DataCombo4.Text) cmd.Parameters.Append cmd.CreateParameter("@TenNhankhau", adVarChar, adParamInput, 30, txtHoten.Text) cmd.Parameters.Append cmd.CreateParameter("@Ngaysinh", adVarChar, adParamInput, 10, txtNgaysinh.Text) cmd.Parameters.Append cmd.CreateParameter("@Gioitinh", adVarChar, adParamInput, 3, IIf(optNam.Value = True, -1, 0)) cmd.Parameters.Append cmd.CreateParameter("@SoCMT", adVarChar, adParamInput, 9, txtSoCMT.Text) cmd.Parameters.Append cmd.CreateParameter("@Nghenghiep", adVarChar, adParamInput, 5, DataCombo5.Text) cmd.Parameters.Append cmd.CreateParameter("@Trinhdo", adVarChar, adParamInput, 5, DataCombo6.Text) cmd.Parameters.Append cmd.CreateParameter("@Hinhthucluutru", adVarChar, adParamInput, 5, DataCombo7.Text) cmd.Parameters.Append cmd.CreateParameter("@Khoa", adVarChar, adParamInput, 9, rs.Fields("So CMT")) End If cmd.Execute rs.Requery Set cmd = Nothing sStatus = "" Call HieuchinhCommandButton(1, 1, 0, 1, 0) End Sub Private Sub cmdHuy_Click() Call LaydulieuvaoTextbox Call HieuchinhCommandButton(1, 1, 0, 1, 0) End Sub Private Sub cmdLast_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MoveLast Call LaydulieuTextbox End Sub Private Sub cmdNext_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MoveNext If rs.EOF Then rs.MoveFirst Call LaydulieuvaoTextbox End Sub Private Sub cmdPrevious_Click() If rs.RecordCount <= 0 Then Exit Sub rs.MovePrevious If rs.BOF Then rs.MoveLast Call LaydulieuvaoTextbox End Sub Private Sub cmdSua_Click() sStatus = "Sua" Call HieuchinhCommandButon(0, 0, 1, 0, 1) End Sub Private Sub cmdThem_Click() Call ClearTextbox sStatus = "Them" Call HieuchinhCommandButton(0, 0, 1, 0, 1) End Sub Private Sub CmdThoat_Click() Unload Me frmMain.Show cnn.Close End Sub Private Sub cmdXoa_Click() If (rs.EOF And rs.BOF) Then Exit Sub If MsgBox("Ban chac chan muon xoa Nhan khau nay?", vbCritical + vbYesNo + vbDefaultButton2, "Chu y") = vbYes Then cnn.Execute ("DELETE from tblNhankhau where SoCMT='" & rs.Fields("So CMT") & "'") rs.Requery End If End If Call LaydulieuvaoTextbox End Sub Private Sub DataGrid1_Click() Call LaydulieuvaoTextbox End Sub Private Sub ClearTextbox() txtHoten.Text = "" txtNgaysinh.Text = "" txtSoCMT.Text = "" DataCombo4.Text = "" DataCombo5.Text = "" DataCombo6.Text = "" DataCombo7.Text = "" txtSoCMT.SetFocus End Sub Private Sub LaydulieuvaoTextbox() DataCombo4.Text = "" & rs.Fields("Ma ho khau") txtHoten.Text = "" & rs.Fields("Ten nhan khau") txtNgaysinh.Text = "" & rs.Fields("Ngay sinh") optNam.Value = IIf(rs.Fields("Gioi tinh") = "Nam", True, False) optNu.Value = Not optNam.Value txtSoCMT.Text = "" & rs.Fields("So CMT") DataCombo5.Text = "" & rs.Fields("Nghe nghiep") DataCombo6.Text = "" & rs.Fields("Trinh do") DataCombo7.Text = "" & rs.Fields("Hinh thuc luu tru") End Sub Private Sub Form_Load() cnn.CursorLocation = adUseClient cnn.Provider = "Microsoft.Jet.Oledb.4.0" cnn.ConnectionString = "Data Source=" & App.Path & "\Data\QLDS.mdb" cnn.Open strSQL = "Select MaHK as [Ma ho khau], TenNhankhau as [Ten nhan khau],Ngaysinh as [Ngay sinh]," _ & "IIf(Gioitinh=0,'Nu','Nam') as [Gioi tinh],SoCMT as [So CMT], Nghenghiep as [Nghe nghiep], Trinhdo as [Trinh do]," _ & "Hinhthucluutru as [Hinh thuc luu tru] from tblNhankhau order by SoCMT" Set rs = cnn.Execute(strSQL) Set DataGrid1.DataSource = rs Set rs4 = cnn.Execute("Select * from tblHokhau") Set DataCombo4.RowSource = rs4 DataCombo4.ListField = "MaHK" If Not (rs4.BOF And rs4.EOF) Then If Not (rs.EOF And rs.BOF) Then DataCombo4.Text = "" & rs.Fields("Ma ho khau") End If End If Set rs5 = cnn.Execute("Select * from tblNghenghiep") Set DataCombo5.RowSource = rs5 DataCombo5.ListField = "MaNN" If Not (rs5.BOF And rs5.EOF) Then If Not (rs.EOF And rs.BOF) Then DataCombo5.Text = "" & rs.Fields("Nghe nghiep") End If End If Set rs6 = cnn.Execute("Select * from tblTrinhdo") Set DataCombo6.RowSource = rs6 DataCombo6.ListField = "MaTD" If Not (rs6.BOF And rs6.EOF) Then If Not (rs.EOF And rs.BOF) Then DataCombo6.Text = "" & rs.Fields("Trinh do") End If End If Set rs7 = cnn.Execute("Select * from tblHinhthucluutru") Set DataCombo7.RowSource = rs7 DataCombo7.ListField = "MaHT" If Not (rs7.BOF And rs7.EOF) Then If Not (rs.EOF And rs.BOF) Then DataCombo7.Text = "" & rs.Fields("Hinh thuc luu tru") End If End If If Not (rs.BOF And rs.EOF) Then Call LaydulieuvaoTextbox End If Call HieuchinhCommandButton(1, 1, 0, 1, 0) End Sub Private Sub Form_Unload(Cancel As Integer) Set DataGrid1.DataSource = Nothing If rsKtra.State = adStateOpen Then rsKtra.Close Set rsKtra = Nothing If rs.State = adStateOpen Then rs.Close Set rs = Nothing End Sub 4. Code form Tìm kiếm nhân khẩu: Option Explicit Dim cnn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim strSQL As String Dim rs1 As New ADODB.Recordset Dim rs2 As New ADODB.Recordset Dim rs3 As New ADODB.Recordset Dim rs4 As New ADODB.Recordset Dim mApp As New CRAXDRT.Application Dim mRpt As New CRAXDRT.Report Private Sub chkHinhthucluutru_Click() dcbHinhthucluutru.Visible = IIf(chkHinhthucluutru.Value = 1, 1, 0) End Sub Private Sub chkHogiadinh_Click() dcbHogiadinh.Visible = IIf(chkHogiadinh.Value = 1, 1, 0) End Sub Private Sub chkHoten_Click() txtHoten.Visible = IIf(chkHoten.Value = 1, 1, 0) End Sub Private Sub chkNgaysinh_Click() txtNgaysinh.Visible = IIf(chkNgaysinh.Value = 1, 1, 0) End Sub Private Sub chkSoCMT_Click() txtSoCMT.Visible = IIf(chkSoCMT.Value = 1, 1, 0) End Sub Private Sub chkNghenghiep_Click() dcbNghenghiep.Visible = IIf(chkNghenghiep.Value = 1, 1, 0) End Sub Private Sub chkTrinhdo_Click() dcbTrinhdo.Visible = IIf(chkTrinhdo.Value = 1, 1, 0) End Sub Private Sub cmdIn_Click() frmIn.Show End Sub Private Sub CmdThoat_Click() Unload Me frmMain.Show cnn.Close End Sub Public Sub SetFormCenter(frm As Form) frm.Left = (Screen.Width - frm.Width) / 2 frm.Top = (Screen.Height - frm.Height) / 2 End Sub Private Sub cmdTim_Click() strSQL = "SELECT tblHokhau.MaHK as [Ma ho khau],tblHokhau.Tenchuho as [Ten chu ho]," _ & "tblNhankhau.TenNhankhau as [Ten nhan khau],tblNhankhau.Ngaysinh as [Ngay sinh]," _ & "IIf(Gioitinh=0,'Nu','Nam') as [Gioi tinh], tblNhankhau.SoCMT as [So CMT]," _ & "tblNghenghiep.Nghenghiep as [Nghe nghiep]," _ & "tblTrinhdo.Trinhdo as [Trinh do]," _ & "tblHinhthucluutru.TenHT as [Hinh thuc luu tru]" _ & "from tblHokhau,tblNhankhau,tblHinhthucluutru,tblNghenghiep,tblTrinhdo " _ & "WHERE tblHokhau.MaHK=tblNhankhau.MaHK " _ & "AND tblNghenghiep.MaNN=tblNhankhau.Nghenghiep " _ & "AND tblTrinhdo.MaTD=tblNhankhau.Trinhdo " _ & "AND tblHinhthucluutru.MaHT=tblNhankhau.Hinhthucluutru" If chkHogiadinh.Val

Các file đính kèm theo tài liệu này:

  • doc26953.doc