Hỗ trợ chuẩn đoán loại hỏng hóc máy điện thoại

Mục đích Nghiên cứu các phương pháp suy diễn mờ dựa trên độ đo các giá trị tham số kỹ thuật thực tế nhằm giaỉ quyết những vấn đề của bài toán chẩn đoán loại hỏng máy điện thoại . Từ đó thiết kế và xây dựng hệ hổ trợ quyết định chẩn đoán loại hỏng của máy điện thoại thuê bao trên cơ sở lý thuyết đã nghiên cứu. Yêu cầu -Hệ thống mới phải có tính năng giao tiếp với tổng đài, gởi lệnh đo, nhận các thông số kỹ thuật của đường dây thuê bao, chẩn đoán ra loại hỏng điện thoại và tự động cập nhật vào cơ sở dữ liệu. -Hệ thông phải có đầy đủ các tính năng : thêm , xóa , sửa, tra cứu các dữ liệu thuê bao, in ấn các biểu mẫu, báo cáo thống kê. -Có khả năng thêm mới , xoá , sửa các luật suy diễn để hoàn chỉnh tập luật, đảm bảo tính chính xác của việc chẩn đoán loại hỏng điện thoại. MỤC LỤC LỜI MỞ ĐẦU 3 GIỚI THIỆU BÀI TOÁN 4 CHƯƠNG1: GIỚI THIỆU HỆ THỐNG BÁO VÀ XỬ LÝ MÁY HỎNG TẠI ĐÀI 119 BƯU ĐIỆN TP NHA TRANG HIỆN TẠI, ĐỀ XUẤT HỆ THỐNG MỚI. 1.1 Sơ lược mạng viễn thông thành phố Nha Trang 6 1.2. Tổ chức hoạt động dịch vụ nhận và xử lý máy điện thoại hỏng hiện tại: 1.2.1 Hoạt động dịch vụ 119 hiện tại 8 1.2.2 Ưu nhược điểm của hệ thống này .8 1.3. Xây dựng hoạt động của dịch vụ 119 tự động 1.3.1 Nhu cầu có một hệ thống mới 9 1.3.2 Giới thiệu hệ thống dịch vụ 119 mới 9 13.3 Hoạt động của dịch vụ 119 tự động 10 1.3.4Vai trò của chuyên gia trong hệ thống 12 Chương 2:THU NHẬN VÀ BIỄU DIỄN TRI THỨC 2.1 Thu nạp tri thức .13 2.2 Biễu diễn tri thức .13 2.2.1 Các dạng tri thức 13 2.2.2 Các phương pháp biễu diễn tri thức 14 Chương 3:LÝ THUYẾT TẬP MỜ VÀ HỆ HỔ TRỢ QUYẾT ĐỊNH 3.1 Tập mờ. 3.1.1 Khái niệm về tập mờ 16 3.1.2 Các phép toán trên tập mờ .17 3.1.3 Các tính chất của tập mờ .19 3.2 Quan hệ mờ: 3.2.1 Khái niệm về quan hệ mờ .19 3.2.2 Các phép toán trên quan hệ mờ .20 3.2.3 Phép hợp thành của các quan hệ mờ .20 3.2.4 Khoảng cách giữa hai tập mờ 21 3.3 Tổng quát hóa các phép toán trên tập mờ 22 3.4 Phương pháp khử mờ .23 3.5 Các hệ trợ giúp quyết định: 3.5.1 Giới thiệu 24 3.5.2 DSS là gì .24 3.5.3 Các đặc tính và khả năng của DSS .25 3.5.4 Những lợi ích của DSS .26 3.5.5 Các thành phần của DSS 27 3.5.6Hệ chuyên gia trợ giúp chẩn đoán loại hỏng máy điện thoại .28 Chương 4: SUY DIỄN MỜ 4.1 Suy diễn mờ: 4.1.1 Mở đầu .30 4.1.2 Suy diễn mờ 30 4.1.3 Suy diễn mờ mở rộng:(Đa biến) 33 4.1.3 Suy diễn mờ tổng quát:(Đa điều kiện) .33 Chương 5: XÂY DỰNG HỆ HỔ TRỢ QUYẾT ĐỊNH TRẠNG THÁI HỎNG MÁY ĐIỆN THOẠI 5.1 Thực hiện kết nối đo các thông số kỹ thuật của đường dây thuê bao 5.1.1 Mô hình kết nối giữa máy tính và tổng đài trung tâm .35 5.1.2 Kỹ thuật kết nối .36 5.1.3 Thực hiện phép đo tự động .36 5.1.4 Phân tích kết quả, cập nhật kho dữ liệu 37 5.2 Xây dựng hệ hổ trợ quyết định 5.2.1 Các tham số suy diễn .37 5.2.2 Định nghĩa và mờ hoá các biến logic vào ra .38 5.2.3 Định nghĩa các luật mờ 40 5.2.4 Lựa chọn hệ cơ sở dữ liệu và ngôn ngữ lập trình 40 Chương 6:PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH 6.1 Đặc tả bài toán 6.1.1 Giới thiệu chung .42 6.1.2 Đặc tả công việc .43 6.2 Phân tích các sơ đồ 6.2.1 Sơ đồ tổ chức 46 6.2.2 Sơ đồ môi trường 47 6.2.3 Sơ đồ chức năng nghiệp vụ .47 6.2.4 Sơ đồ dòng dữ liệu 50 6.3 Thiết kế chương trình 6.3.1 Xây dựng mô hình dữ liệu thực thể 55 6.3.2 Xây dựng mô hình dữ liệu quan hệ 55 6.3.3 Sơ đồ liên kết các tập tin cơ sở dữ liệu .61 6.3.4 Giao diện hệ thống chương trình 62 6.3.5 Các chương trình trong hệ thống 62 6.3.6 Giới thiệu một số chương trình 62 NHẬN XÉT VÀ ĐỊNH HƯỚNG .76 PHỤ LỤC .77 TÀI LIỆU THAM KHẢO .119 Hỗ trợ chuẩn đoán loại hỏng hóc máy điện thoại

doc123 trang | Chia sẻ: banmai | Lượt xem: 1881 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Hỗ trợ chuẩn đoán loại hỏng hóc máy điện thoại, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
frmSo_lieu_chinh.txtSo_may.text frmDo_thu.Show 1 Else MsgBox "Máy đang sửa" End If End If End Sub Private Sub cmdDong_y_Click() Dim Tam As String Dim Ma_KH As String Dim Ten_TB As String Dim BaoLut_Sua As ADODB.Recordset Set BaoLut_Sua = New ADODB.Recordset BaoLut_Sua.LockType = adLockOptimistic BaoLut_Sua.CursorType = adOpenKeyset Dim QuanTrong_Sua As ADODB.Recordset Set QuanTrong_Sua = New ADODB.Recordset QuanTrong_Sua.LockType = adLockOptimistic QuanTrong_Sua.CursorType = adOpenKeyset Dim SlieuSua As ADODB.Recordset Set SlieuSua = New ADODB.Recordset SlieuSua.LockType = adLockOptimistic SlieuSua.CursorType = adOpenKeyset Dim Khachhang_sua As ADODB.Recordset Set Khachhang_sua = New ADODB.Recordset Khachhang_sua.LockType = adLockOptimistic Khachhang_sua.CursorType = adOpenKeyset Dim ThietBi_Sua As ADODB.Recordset Set ThietBi_Sua = New ADODB.Recordset ThietBi_Sua.LockType = adLockOptimistic ThietBi_Sua.CursorType = adOpenKeyset Tam = Me.txtSo_may.text Ma_KH = Me.txtMa_KH.text Ten_TB = Me.cbmLoai_TB.text '-----------------Tim ma thiet bi da sua---------- ThietBi_Sua.Source = "select Ma_Tbi from tblThietbi where Ten_Tbi ='" & Ten_TB & "' " ThietBi_Sua.ActiveConnection = SLC ThietBi_Sua.Open '----------------Sua ten khach hang-------- Khachhang_sua.Source = "select Ten_kh from tblKhachhang where Ma_kh ='" & Ma_KH & "' " Khachhang_sua.ActiveConnection = SLC Khachhang_sua.Open Khachhang_sua.Fields(0).Value = Me.txtTen_KH.text Khachhang_sua.Update '----------------Sua thong tin thue bao-------------- 'SlieuSua.Source = " SELECT So_may, tblDienthoai.Ma_KH,Noi_D_may, So_nha ,D_pho,Toa_do_MDF,Cap_goc,Doi_so,Class,Ten_KH,tblDienthoai.Ma_TBi From tblDienThoai,tblThietbi,tblKhachhang WHERE tblDienthoai.So_may = '" & Tam & "' and tblDienthoai.Ma_KH=tblKhachhang.Ma_KH and tblDienthoai.Ma_Tbi=tblThietbi.Ma_TBi " SlieuSua.Source = " SELECT So_may, Noi_D_may, So_nha ,D_pho,Toa_do_MDF,Cap_goc,Doi_so,Class,Ma_TBi From tblDienThoai,tblKhachhang WHERE tblDienthoai.So_may = '" & Tam & "' " SlieuSua.ActiveConnection = SLC SlieuSua.Open With SlieuSua .Fields(0).Value = frmSo_lieu_chinh.txtSo_may.text .Fields(7).Value = frmSo_lieu_chinh.txtclass.text .Fields(1).Value = frmSo_lieu_chinh.txtNoiDM.text .Fields(2).Value = frmSo_lieu_chinh.txtSo_nha.text .Fields(3).Value = frmSo_lieu_chinh.txtDuong_pho.text .Fields(4).Value = frmSo_lieu_chinh.txtToa_do_MDF.text .Fields(5).Value = frmSo_lieu_chinh.txtCap_goc.text .Fields(6).Value = frmSo_lieu_chinh.txtDoi_so.text .Fields(8).Value = ThietBi_Sua.Fields(0).Value .Update End With 'SlieuSua.Close '---------------Xet xem co bao lut va quan trong khong----- BaoLut_Sua.Source = " SELECT So_may From tblBaoLut WHERE So_may = " & Tam & " " BaoLut_Sua.ActiveConnection = SLC BaoLut_Sua.Open QuanTrong_Sua.Source = " SELECT so_may From tblQuantrong WHERE So_may = " & Tam & " " QuanTrong_Sua.ActiveConnection = SLC QuanTrong_Sua.Open '-----------Tim may bao lut------- '----------Neu truoc co sau khong thi xoa va nguoc lai------ If Not (BaoLut_Sua.EOF And BaoLut_Sua.BOF) Then If Me.chkBaolut.Value = 0 Then BaoLut_Sua.Delete BaoLut_Sua.Update End If Else If Me.chkBaolut.Value = 1 Then BaoLut_Sua.AddNew BaoLut_Sua.Fields(0).Value = Me.txtSo_may.text BaoLut_Sua.Update End If End If '-----------Tim may quan trong------- '----------Neu truoc co sau khong thi xoa va nguoc lai------ If Not (QuanTrong_Sua.EOF And QuanTrong_Sua.BOF) Then If Me.chkQuantrong.Value = 0 Then QuanTrong_Sua.Delete QuanTrong_Sua.Update End If Else If Me.chkQuantrong.Value = 1 Then QuanTrong_Sua.AddNew QuanTrong_Sua.Fields(0).Value = Me.txtSo_may.text QuanTrong_Sua.Update End If End If '------------Khoa du lieu------------- Me.txtCap_goc.Enabled = False Me.txtclass.Enabled = False Me.txtDoi_so.Enabled = False Me.txtDuong_pho.Enabled = False Me.cbmLoai_TB.Enabled = False Me.txtNoiDM.Enabled = False Me.txtSo_nha.Enabled = False Me.txtTen_KH.Enabled = False Me.txtToa_do_MDF.Enabled = False Me.chkBaolut.Enabled = False Me.chkQuantrong.Enabled = False Me.cmdBo_qua.Enabled = False Me.cmdDong_y.Enabled = False Me.cmdDo_thu.Enabled = True Me.cmdSua.Enabled = True Me.cmdThem.Enabled = True Me.cmdTim.Enabled = True Me.cmdXoa.Enabled = True Me.GridSo_lieu_chinh.Refresh Me.GridSo_lieu_chinh.Enabled = True Me.AdoSo_lieu_chinh.Requery Me.GridSo_lieu_chinh.Refresh End Sub Private Sub cmdSua_Click() If Me.txtSo_may.text "" And Me.txtMa_KH.text "" Then '-----------Gan du lieu cho comboBox--------- Dim ThietBi_Sua1 As ADODB.Recordset Set ThietBi_Sua1 = New ADODB.Recordset ThietBi_Sua1.Source = "select ten_Tbi from tblThietbi " ThietBi_Sua1.ActiveConnection = SLC ThietBi_Sua1.Open ThietBi_Sua1.MoveFirst Do Until ThietBi_Sua1.EOF Me.cbmLoai_TB.AddItem ThietBi_Sua1.Fields(0).Value ThietBi_Sua1.MoveNext Loop Me.cbmLoai_TB.ListIndex = -1 '--------------Mo khoa cho cac text box------------- frmSo_lieu_chinh.GridSo_lieu_chinh.Enabled = False Me.txtCap_goc.Enabled = True Me.txtclass.Enabled = True Me.txtDoi_so.Enabled = True Me.txtDuong_pho.Enabled = True Me.cbmLoai_TB.Enabled = True Me.txtNoiDM.Enabled = True Me.txtSo_nha.Enabled = True Me.txtTen_KH.Enabled = True Me.txtToa_do_MDF.Enabled = True Me.chkBaolut.Enabled = True Me.chkQuantrong.Enabled = True Me.cmdBo_qua.Enabled = True Me.cmdDong_y.Enabled = True Me.cmdDo_thu.Enabled = False Me.cmdSua.Enabled = False Me.cmdThem.Enabled = False Me.cmdTim.Enabled = False Me.cmdXoa.Enabled = False End If End Sub Private Sub cmdThem_Click() frmNhap_thue_bao_moi.Visible = True End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdTim_Click() FrmNhap_So_may_can_tim.Show 1 End Sub Private Sub cmdXoa_Click() Dim SoMayXoa As String Dim Tam As Variant Dim dk As String Dim Trungma As Boolean Dim SlieuXoa As ADODB.Recordset Set SlieuXoa = New ADODB.Recordset SlieuXoa.LockType = adLockOptimistic SlieuXoa.CursorType = adOpenKeyset Dim SlieuXoa1 As ADODB.Recordset Set SlieuXoa1 = New ADODB.Recordset SlieuXoa1.LockType = adLockOptimistic SlieuXoa1.CursorType = adOpenKeyset Dim SlieuXoa2 As ADODB.Recordset Set SlieuXoa2 = New ADODB.Recordset SlieuXoa2.LockType = adLockOptimistic SlieuXoa2.CursorType = adOpenKeyset Dim BaoLutXoa As ADODB.Recordset Set BaoLutXoa = New ADODB.Recordset BaoLutXoa.LockType = adLockOptimistic BaoLutXoa.CursorType = adOpenKeyset Dim QuanTrongXoa As ADODB.Recordset Set QuanTrongXoa = New ADODB.Recordset QuanTrongXoa.LockType = adLockOptimistic QuanTrongXoa.CursorType = adOpenKeyset Dim KHangXoa As ADODB.Recordset Set KHangXoa = New ADODB.Recordset KHangXoa.LockType = adLockOptimistic KHangXoa.CursorType = adOpenKeyset Dim MayhongXoa As ADODB.Recordset Set MayhongXoa = New ADODB.Recordset MayhongXoa.LockType = adLockOptimistic MayhongXoa.CursorType = adOpenKeyset Dim MayChemXoa As ADODB.Recordset Set MayChemXoa = New ADODB.Recordset MayChemXoa.LockType = adLockOptimistic MayChemXoa.CursorType = adOpenKeyset SoMayXoa = Me.txtSo_may.text Tam = Me.txtMa_KH SlieuXoa.Source = " SELECT * From tblDienThoai where So_may = '" & SoMayXoa & "' " SlieuXoa.ActiveConnection = SLC SlieuXoa.Open '-----------Tim them xem con co so may nao trung ma_Kh hay khong----- Trungma = False SlieuXoa1.Source = " SELECT * From tblDienThoai where Ma_Kh = '" & Me.txtMa_KH & "' " SlieuXoa1.ActiveConnection = SLC SlieuXoa1.Open If SlieuXoa1.RecordCount > 1 Then Trungma = True End If BaoLutXoa.Source = " SELECT So_may From tblBaolut where So_may = '" & SoMayXoa & "' " BaoLutXoa.ActiveConnection = SLC BaoLutXoa.Open QuanTrongXoa.Source = " SELECT so_may From tblQuantrong where So_may = '" & SoMayXoa & "' " QuanTrongXoa.ActiveConnection = SLC QuanTrongXoa.Open MayhongXoa.Source = " SELECT So_may From tblDienthoaihong where So_may = '" & SoMayXoa & "' " MayhongXoa.ActiveConnection = SLC MayhongXoa.Open MayChemXoa.Source = " SELECT So_may From tblDangchemCM where So_may = '" & SoMayXoa & "' " MayChemXoa.ActiveConnection = SLC MayChemXoa.Open If MsgBox("Bạn chắc chắn muốn xóa thuê bao này ?", vbCritical + vbYesNo, " Chú ý ") = vbYes Then '-----------------Xoa bao lut --------------- If Not (BaoLutXoa.EOF And BaoLutXoa.BOF) Then BaoLutXoa.Delete BaoLutXoa.Update End If '---------------Xoa quan trong--------- If Not (QuanTrongXoa.EOF And QuanTrongXoa.BOF) Then QuanTrongXoa.Delete QuanTrongXoa.Update End If '----------------Xoa may hong-------------- If Not (MayhongXoa.EOF And MayhongXoa.BOF) Then MayhongXoa.Delete MayhongXoa.Update End If '--------------Xoa may chem CM----------- If Not (MayChemXoa.EOF And MayChemXoa.BOF) Then MayChemXoa.Delete MayChemXoa.Update End If '----------------Xoa thue bao------------ SlieuXoa.Delete SlieuXoa.Update '-------------Neu Khach hang khong con so may nao thi xoa luon khach hang------ If Not Trungma Then SlieuXoa2.Source = " SELECT * From tblKhachhang where Ma_Kh = '" & Me.txtMa_KH & "' " SlieuXoa2.ActiveConnection = SLC SlieuXoa2.Open SlieuXoa2.Delete SlieuXoa2.Update End If Me.txtCap_goc = "" Me.txtMa_KH = "" Me.txtSo_may = "" Me.txtclass = "" Me.txtChem_CM = "" Me.txtDoi_so = "" Me.txtDuong_pho = "" Me.cbmLoai_TB = "" 'Me.txtMa_Tbi="" Me.txtNoiDM = "" Me.txtSo_nha = "" Me.txtTen_KH = "" Me.txtToa_do_MDF = "" Me.chkBaolut.Value = 0 Me.chkQuantrong.Value = 0 Me.GridSo_lieu_chinh.Refresh Me.AdoSo_lieu_chinh.Requery End If End Sub Private Sub Form_Load() Set SLC = New ADODB.Connection SLC.Provider = "SQLOLEDB.1" SLC.ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=DULIEU;Data Source=sam" SLC.Open Dim HourFirst, HourLast As String Screen.MousePointer = vbHourglass StatusBar.Panels(1).text = "Xin ch ..." Screen.MousePointer = vbDefault StatusBar.Panels(1).text = "" Set AdoSo_lieu_chinh = New ADODB.Recordset AdoSo_lieu_chinh.LockType = adLockOptimistic AdoSo_lieu_chinh.CursorType = adOpenKeyset AdoSo_lieu_chinh.Source = "Select So_may,tblDienthoai.Ma_kh,Ten_Kh,Noi_d_may,So_nha,D_pho,Toa_do_MDF,Cap_goc,Doi_so,CLASS,Ten_Tbi,tblDienthoai.Ma_Tbi from tblDienthoai,tblKhachHang,tblThietbi Where tblDienThoai.Ma_Kh = tblKhachHang.Ma_Kh and tblDienthoai.Ma_Tbi=tblThietBi.Ma_Tbi order by tblDienthoai.Ma_KH DESC " AdoSo_lieu_chinh.ActiveConnection = SLC AdoSo_lieu_chinh.Open Set GridSo_lieu_chinh.DataSource = AdoSo_lieu_chinh frmNhap_thue_bao_moi.Visible = False '----------------KHOA DU LIEU--------------- Me.txtCap_goc.Enabled = False Me.txtMa_KH.Enabled = False Me.txtSo_may.Enabled = False Me.txtclass.Enabled = False Me.txtChem_CM.Enabled = False Me.txtDoi_so.Enabled = False Me.txtDuong_pho.Enabled = False Me.cbmLoai_TB.Enabled = False 'Me.txtMa_Tbi.Enabled = False Me.txtNoiDM.Enabled = False Me.txtSo_nha.Enabled = False Me.txtTen_KH.Enabled = False Me.txtToa_do_MDF.Enabled = False Me.chkBaolut.Enabled = False Me.chkQuantrong.Enabled = False Me.cmdBo_qua.Enabled = False Me.cmdDong_y.Enabled = False Me.cmdDo_thu.Enabled = True Me.cmdSua.Enabled = True Me.cmdThem.Enabled = True Me.cmdTim.Enabled = True Me.cmdXoa.Enabled = True End Sub Private Sub GridSo_lieu_chinh_Click() Dim BaoLut As ADODB.Recordset Set BaoLut = New ADODB.Recordset Dim QuanTrong As ADODB.Recordset Set QuanTrong = New ADODB.Recordset Dim Chem_CM As ADODB.Recordset Set Chem_CM = New ADODB.Recordset Dim text As String 'Dim TimthayBaoLut As Boolean, TimthayQuantrong As Boolean On Error GoTo thoat txtSo_may.text = AdoSo_lieu_chinh.Fields(0).Value txtMa_KH.text = AdoSo_lieu_chinh.Fields(1).Value txtclass.text = AdoSo_lieu_chinh.Fields(9).Value txtTen_KH.text = AdoSo_lieu_chinh.Fields(2).Value txtNoiDM.text = AdoSo_lieu_chinh.Fields(3).Value ' txtSo_nha.Text = AdoSo_lieu_chinh.Recordset.Fields(4) txtSo_nha.text = IIf(IsNull(AdoSo_lieu_chinh.Fields(4).Value), "...", AdoSo_lieu_chinh.Fields(4).Value) txtDuong_pho.text = AdoSo_lieu_chinh.Fields(5).Value txtToa_do_MDF.text = AdoSo_lieu_chinh.Fields(6).Value txtCap_goc.text = AdoSo_lieu_chinh.Fields(7).Value txtDoi_so.text = AdoSo_lieu_chinh.Fields(8).Value Me.cbmLoai_TB.text = AdoSo_lieu_chinh.Fields(10).Value 'txtMa_Tbi.text = AdoSo_lieu_chinh.Recordset.Fields(11).Value '---------------Xet xem co bao lut va quan trong khong----- text = AdoSo_lieu_chinh.Fields(0) BaoLut.Source = " SELECT So_may From tblBaolut WHERE So_may = " & text & " " BaoLut.ActiveConnection = SLC BaoLut.Open QuanTrong.Source = " SELECT so_may From tblQuantrong WHERE So_may = " & text & " " QuanTrong.ActiveConnection = SLC QuanTrong.Open '-----------Tim may bao lut------- frmSo_lieu_chinh.chkBaolut.Value = 0 If Not (BaoLut.EOF And BaoLut.BOF) Then frmSo_lieu_chinh.chkBaolut.Value = 1 End If '-----------Tim may QUAN TRONG------- frmSo_lieu_chinh.chkQuantrong.Value = 0 If Not (QuanTrong.EOF And QuanTrong.BOF) Then frmSo_lieu_chinh.chkQuantrong.Value = 1 End If '-------------Xem co bi chem may khong------------------------------ Chem_CM.Source = " SELECT Ma_chem_CM From tblDangchemCM WHERE So_may = " & text & " and IsNull(Ngay_Thao_chem) " Chem_CM.ActiveConnection = SLC Chem_CM.Open If Not (Chem_CM.EOF And Chem_CM.BOF) Then frmSo_lieu_chinh.txtChem_CM.text = Chem_CM.Fields(0).Value End If thoat: End Sub Private Sub Timer1_Timer() Timer1.Interval = 30000 Dem = True End Sub 2- Form nhập thuê bao mới Option Explicit Public CNthem As Connection Dim SLieuthem As ADODB.Recordset Dim BaoLutthem As ADODB.Recordset Dim QuanTrongthem As ADODB.Recordset Dim ThietBi_Them As ADODB.Recordset Dim Class_them As ADODB.Recordset Private Sub cmdBo_qua_Click() Me.txtSo_may_moi.text = "" Me.txtMa_KH_moi.text = "" Me.txtNoi_Dat_may_moi.text = "" Me.txtSo_nha_moi.text = "" Me.txtDuong_pho_moi.text = "" Me.txtToa_do_MDF_moi.text = "" Me.txtCap_goc_moi.text = "" Me.txtDoi_so_moi.text = "" Me.cmbClass_moi.text = "" Me.cmbMa_TBi_moi.text = "" Me.txtMa_KH_moi.text = "" Me.txtTen_KH_moi.text = "" Me.chkBao_lut_moi.Value = 0 Me.chkQuantrong.Value = 0 End Sub Private Sub cmdBo_qua_cu_Click() Me.txtSo_may_cu.text = "" Me.txtMa_KH_cu.text = "" Me.txtNoi_dat_may_cu.text = "" Me.txtSo_nha_cu.text = "" Me.txtDuong_pho_cu.text = "" Me.txtToa_do_MDF_cu.text = "" Me.txtCap_goc_cu.text = "" Me.txtDoi_so_cu.text = "" Me.CmbClass_cu.text = "" Me.cmbMa_Tbi_Cu.text = "" Me.txtMa_KH_cu.text = "" 'Me.txtTen_KH_cu.text = "" Me.chkBao_lut_cu.Value = 0 Me.chkQuan_trong_cu.Value = 0 End Sub Private Sub cmdDong_y_Click() Dim MaKh As String Dim Khachhangthem As ADODB.Recordset Set Khachhangthem = New ADODB.Recordset Khachhangthem.LockType = adLockOptimistic Khachhangthem.CursorType = adOpenKeyset Khachhangthem.Source = " select * from tblKhachhang order by Ma_Kh" Khachhangthem.ActiveConnection = CNthem Khachhangthem.Open '---------------------------Tao ma Khach hang------- Khachhangthem.MoveLast MaKh = "0" & Trim(Str(Val(Khachhangthem.Fields(0).Value) + 1)) If Me.cmdDong_y.Caption = "Đồng ý" And txtSo_may_moi.text "" And txtNoi_Dat_may_moi.text "" And txtSo_nha_moi.text "" And txtDuong_pho_moi.text "" And txtToa_do_MDF_moi.text "" And txtCap_goc_moi.text "" Then Me.cmdDong_y.Caption = "Tiếp tục" '-----------Cap nhat Ma_KH,Ten_Kh----- Khachhangthem.AddNew Khachhangthem.Fields(0).Value = MaKh Khachhangthem.Fields(1).Value = Me.txtTen_KH_moi.text Khachhangthem.Update '_------------------Cap nhat thue bao----- With SLieuthem .AddNew .Fields(0).Value = Me.txtSo_may_moi.text .Fields(1).Value = MaKh .Fields(2).Value = Me.txtNoi_Dat_may_moi.text .Fields(3).Value = Me.txtSo_nha_moi.text .Fields(4).Value = Me.txtDuong_pho_moi.text .Fields(7).Value = Me.txtToa_do_MDF_moi.text .Fields(8).Value = Me.txtCap_goc_moi.text .Fields(9).Value = Me.txtDoi_so_moi.text .Fields(10).Value = Me.cmbClass_moi.text .Fields(6).Value = Me.cmbMa_TBi_moi.text .Update End With '--------------Cap nhat may bao lut------- If Me.chkBao_lut_moi.Value = 1 Then BaoLutthem.AddNew BaoLutthem.Fields(0).Value = Me.txtSo_may_moi.text BaoLutthem.Update End If '-------------Cap nhat may quan trong---------- If Me.chkQuantrong.Value = 1 Then QuanTrongthem.AddNew QuanTrongthem.Fields(0).Value = Me.txtSo_may_moi.text QuanTrongthem.Update End If Me.txtMa_KH_moi.text = MaKh Me.cmdBo_qua.Enabled = False frmSo_lieu_chinh.AdoSo_lieu_chinh.Requery frmSo_lieu_chinh.GridSo_lieu_chinh.Refresh Else Me.cmdDong_y.Caption = "Đồng ý" Me.cmdBo_qua.Enabled = True Me.txtSo_may_moi.text = "" Me.txtMa_KH_moi.text = "" Me.txtNoi_Dat_may_moi.text = "" Me.txtSo_nha_moi.text = "" Me.txtDuong_pho_moi.text = "" Me.txtToa_do_MDF_moi.text = "" Me.txtCap_goc_moi.text = "" Me.txtDoi_so_moi.text = "" Me.cmbClass_moi.text = "" Me.cmbMa_TBi_moi.text = "" Me.chkBao_lut_moi.Value = 0 Me.chkQuantrong.Value = 0 Me.txtMa_KH_moi.text = "" Me.txtTen_KH_moi.text = "" Me.Refresh End If End Sub Private Sub cmdDong_y_cu_Click() If Me.cmdDong_y_cu.Caption = "Đồng ý" And txtSo_may_cu.text "" And txtNoi_dat_may_cu.text "" And txtSo_nha_cu.text "" And txtDuong_pho_cu.text "" And txtToa_do_MDF_cu.text "" And txtCap_goc_cu.text "" Then Me.cmdDong_y_cu.Caption = "Tiếp tục" '_------------------Cap nhat thue bao----- With SLieuthem .AddNew .Fields(0).Value = Me.txtSo_may_cu.text .Fields(1).Value = Me.txtMa_KH_cu.text .Fields(2).Value = Me.txtNoi_dat_may_cu.text .Fields(3).Value = Me.txtSo_nha_cu.text .Fields(4).Value = Me.txtDuong_pho_cu.text .Fields(7).Value = Me.txtToa_do_MDF_cu.text .Fields(8).Value = Me.txtCap_goc_cu.text .Fields(9).Value = Me.txtDoi_so_cu.text .Fields(10).Value = Me.CmbClass_cu.text .Fields(6).Value = Me.cmbMa_Tbi_Cu.text .Update End With '--------------Cap nhat may bao lut------- If Me.chkBao_lut_cu.Value = 1 Then BaoLutthem.AddNew BaoLutthem.Fields(0).Value = Me.txtSo_may_cu.text BaoLutthem.Update End If '-------------Cap nhat may quan trong---------- If Me.chkQuan_trong_cu.Value = 1 Then QuanTrongthem.AddNew QuanTrongthem.Fields(0).Value = Me.txtSo_may_cu.text QuanTrongthem.Update End If 'frmSo_lieu_chinh.AdoSo_lieu_chinh.Refresh 'frmSo_lieu_chinh.GridSo_lieu_chinh.Refresh Me.cmdBo_qua_cu.Enabled = False Else Me.cmdDong_y_cu.Caption = "Đồng ý" Me.cmdBo_qua_cu.Enabled = True Me.txtSo_may_cu.text = "" Me.txtMa_KH_cu.text = "" Me.txtNoi_dat_may_cu.text = "" Me.txtSo_nha_cu.text = "" Me.txtDuong_pho_cu.text = "" Me.txtToa_do_MDF_cu.text = "" Me.txtCap_goc_cu.text = "" Me.txtDoi_so_cu.text = "" Me.CmbClass_cu.text = "" Me.cmbMa_Tbi_Cu.text = "" Me.chkBao_lut_cu.Value = 0 Me.chkQuantrong.Value = 0 Me.Refresh End If End Sub Private Sub cmdThoat_Click() Unload Me End Sub Private Sub cmdThoat_cu_Click() Unload Me End Sub Private Sub Form_Load() Set CNthem = New ADODB.Connection CNthem.Provider = "SQLOLEDB.1" CNthem.ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=DULIEU;Data Source=sam" CNthem.Open Set SLieuthem = New ADODB.Recordset SLieuthem.LockType = adLockOptimistic SLieuthem.CursorType = adOpenKeyset Set BaoLutthem = New ADODB.Recordset BaoLutthem.LockType = adLockOptimistic BaoLutthem.CursorType = adOpenKeyset Set QuanTrongthem = New ADODB.Recordset Set ThietBi_Them = New ADODB.Recordset Set Class_them = New ADODB.Recordset QuanTrongthem.LockType = adLockOptimistic QuanTrongthem.CursorType = adOpenKeyset SLieuthem.Source = " SELECT * From tblDienThoai " SLieuthem.ActiveConnection = CNthem SLieuthem.Open BaoLutthem.Source = " SELECT So_may From tblBaolut " BaoLutthem.ActiveConnection = CNthem BaoLutthem.Open QuanTrongthem.Source = " SELECT so_may From tblQuantrong " QuanTrongthem.ActiveConnection = CNthem QuanTrongthem.Open ThietBi_Them.Source = "select ma_Tbi from tblThietbi " ThietBi_Them.ActiveConnection = CNthem ThietBi_Them.Open Class_them.Source = "select Ma_class from tblClass " Class_them.ActiveConnection = CNthem Class_them.Open '-----------Gan du lieu cho comboBox Ma_Tbi_cu, Ma_Tbi_moi--------- ThietBi_Them.MoveFirst Do Until ThietBi_Them.EOF Me.cmbMa_Tbi_Cu.AddItem ThietBi_Them.Fields(0).Value Me.cmbMa_TBi_moi.AddItem ThietBi_Them.Fields(0).Value ThietBi_Them.MoveNext Loop Me.cmbMa_Tbi_Cu.ListIndex = -1 Me.cmbMa_TBi_moi.ListIndex = -1 '-----------Gan du lieu cho comboBox Class_Cu,Cla--------- Class_them.MoveFirst Do Until Class_them.EOF Me.CmbClass_cu.AddItem Class_them.Fields(0).Value Me.cmbClass_moi.AddItem Class_them.Fields(0).Value Class_them.MoveNext Loop Me.CmbClass_cu.ListIndex = -1 Me.cmbClass_moi.ListIndex = -1 End Sub '---------------Bam Enter thay vi bam tab trong cac textbox----------- Private Sub Form_KeyPress(KeyAscii As Integer) If KeyAscii = vbCr Then KeyAscii = 0 ' Nu?t tr?n Enter key d? khụng b? side effect SendKeys "{TAB}" End If End Sub 3-Form danh sách máy đang hỏng: Option Explicit Const ConnectSever = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=DULIEU;Data Source=sam" Public MDH As Connection Public May_dang_hong As ADODB.Recordset Private Sub DataGrid1_Click() Dim BaoLutHong As ADODB.Recordset Set BaoLutHong = New ADODB.Recordset Dim QuanTrongHong As ADODB.Recordset Set QuanTrongHong = New ADODB.Recordset Dim ChemCM_hong As ADODB.Recordset Set ChemCM_hong = New ADODB.Recordset Dim text As String 'May_dang_hong.Source = "Select tblDienthoaihong.So_may,ngay_gio_hong,tblDienthoaihong.ma_loai_hong,tblLoaihong.Ten_loai_hong,tblDienthoaihong.ngay_gio_xuat_phieu,Ten_Kh,Noi_d_may,So_nha,D_pho,Toa_do_MDF,Cap_goc,Doi_so,CLASS,Ten_Tbi from tblDienthoai,tblKhachHang,tblThietbi Where tblDienThoai.Ma_Kh = tblKhachHang.Ma_Kh and tblDienthoai.Ma_Tbi=tblThietBi.Ma_Tbi order by tblDienthoai.Ma_KH" 'Dim TimthayBaoLutHong As Boolean, TimthayQuantrong As Boolean On Error GoTo thoat Me.txtSo_may.text = May_dang_hong.Fields(0).Value Me.txtTen_khach_hang.text = May_dang_hong.Fields(5).Value Me.txtCLASS.text = May_dang_hong.Fields(12).Value Me.txtDuong_pho.text = May_dang_hong.Fields(8).Value Me.txtSo_nha.text = IIf(IsNull(May_dang_hong.Fields(7).Value), "...", May_dang_hong.Fields(7).Value) Me.txtNoi_dat_may.text = May_dang_hong.Fields(6).Value Me.txtLoai_thiet_bi.text = May_dang_hong.Fields(13).Value Me.txtMDF.text = May_dang_hong.Fields(9).Value Me.txtCap_goc.text = May_dang_hong.Fields(10).Value Me.txtDoi_so.text = May_dang_hong.Fields(11).Value Me.txtLoai_hong.text = May_dang_hong.Fields(3).Value 'txtMa_Tbi.text = AdoSo_lieu_chinh.Recordset.Fields(11).Value '---------------Xet xem co bao lut va quan trong khong----- text = May_dang_hong.Fields(0) BaoLutHong.Source = " SELECT So_may From tblBaolut WHERE So_may = " & text & " " BaoLutHong.ActiveConnection = MDH BaoLutHong.Open QuanTrongHong.Source = " SELECT so_may From tblQuantrong WHERE So_may = " & text & " " QuanTrongHong.ActiveConnection = MDH QuanTrongHong.Open '-----------Tim may bao lut------- If Not (BaoLutHong.EOF And BaoLutHong.BOF) Then Me.chkBaolut.Value = 1 End If '-----------Tim may QUAN TRONG------- If Not (QuanTrongHong.EOF And QuanTrongHong.BOF) Then Me.chkQuantrong.Value = 1 End If thoat: End Sub Private Sub Form_Activate() Set MDH = New ADODB.Connection MDH.Provider = "SQLOLEDB.1" MDH.ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=DULIEU;Data Source=sam" MDH.Open Set May_dang_hong = New ADODB.Recordset May_dang_hong.LockType = adLockOptimistic May_dang_hong.CursorType = adOpenKeyset Dim Tam As Date Tam = Format(Now - 7, "hh:nn:ss d/m/yy") May_dang_hong.Source = "Select tblDienthoaihong.So_may,ngay_gio_hong,tblDienthoaihong.ma_loai_hong,tblLoaihong.Trang_thai_hong,tblDienthoaihong.ngay_gio_xuat_phieu,Ten_Kh,Noi_d_may,So_nha,D_pho,Toa_do_MDF,Cap_goc,Doi_so,CLASS,Ten_Tbi from tblDienthoaihong, tblDienthoai,tblKhachHang,tblThietbi,tblLoaihong Where tblDienthoaihong.So_may=tblDienthoai.So_may and tblDienThoai.Ma_Kh = tblKhachHang.Ma_Kh and tblDienthoai.Ma_Tbi=tblThietBi.Ma_Tbi and tblDienthoaihong.Ma_loai_hong=tblLoaiHong.Ma_loai_hong and ngay_gio_sua_xong is null order by ngay_gio_hong desc" 'May_dang_hong.Source = " SELECT * from tblDienthoaihong where ngay_gio_hong > '" & tam & "' order by ngay_gio_hong" 'May_dang_hong.Source = " SELECT * from tblDienthoaihong where ngay_gio_sua_xong is null order by ngay_gio_hong desc " May_dang_hong.ActiveConnection = MDH May_dang_hong.Open Set Me.DataGrid1.DataSource = May_dang_hong End Sub Private Sub txtDang_chem_Change() End Sub Private Sub txtTim_Click() FrmTim_may_dang_hong.Show 1 End Sub 4- Form luật suy diễn: Option Explicit Public TL As Connection Public Luat_suy_dien As ADODB.Recordset Public Loai_hong As ADODB.Recordset Public Them, Sua As Boolean Private Sub cmdBo_qua_them_Click() '----------------Xoa cac checkbox----------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value Me.txtDo_chinh_xac.text = Do_chinh_xac Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value '-----------------Tim thu tu luat----------- Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value '-----------Khoa du lieu------------ Me.chkAC_A_dat.Enabled = False Me.ChkAC_B_dat.Enabled = False Me.ChkDc_A_dat.Enabled = False Me.chkDc_B_dat.Enabled = False Me.chkR_a_dat.Enabled = False Me.chkR_B_dat.Enabled = False Me.chkR_A_B.Enabled = False Me.ChkF_AB.Enabled = False Me.chkLoai_TB.Enabled = False Me.cbmKet_luan.Enabled = False Me.txtDo_chinh_xac.Enabled = False '---------Bo che do khoa cac nut lenh----- Me.cmdFirst.Enabled = True Me.cmdLast.Enabled = True Me.cmdToi.Enabled = True Me.cmdLui.Enabled = True Me.cmdThem.Enabled = True Me.cmdXoa.Enabled = True Me.cmdSua.Enabled = True Me.cmdDong_y_them.Enabled = False Me.cmdBo_qua_them.Enabled = False '------------Xoa che do them hoac sua du lieu----------- Them = False Sua = False End Sub Private Sub cmdDong_y_them_Click() '-----------------Tim ma loai hong---------- Dim Loai_hong2 As ADODB.Recordset Set Loai_hong2 = New ADODB.Recordset Loai_hong2.Source = "select Ma_loai_hong from tblLoaihong where Trang_thai_hong ='" & Me.cbmKet_luan.text & "' " Loai_hong2.ActiveConnection = TL Loai_hong2.Open '------------Neu dang them luat------------ If Them Then Dim Do_chinh_xac As String Do_chinh_xac = "" '-----------Cap nhat cac gia tri cua luat moi---------- With Luat_suy_dien .AddNew .Fields(0).Value = Tao_ma .Fields(10).Value = Loai_hong2.Fields(0).Value .Fields(11).Value = Me.txtDo_chinh_xac.text If Me.chkAC_A_dat.Value = 1 Then .Fields(1).Value = 1 Do_chinh_xac = "M1*" Else .Fields(1).Value = 0 End If If Me.ChkAC_B_dat.Value = 1 Then .Fields(2).Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" Else .Fields(2).Value = 0 End If If Me.ChkDc_A_dat.Value = 1 Then .Fields(3).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(3).Value = 0 End If If Me.chkDc_B_dat.Value = 1 Then .Fields(4).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(4).Value = 0 End If If Me.chkR_a_dat.Value = 1 Then .Fields(5).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(5).Value = 0 End If If Me.chkR_B_dat.Value = 1 Then .Fields(6).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(6).Value = 0 End If If Me.chkR_A_B.Value = 1 Then .Fields(7).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(7).Value = 0 End If If Me.ChkF_AB.Value = 1 Then .Fields(8).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(8).Value = 0 End If If Me.chkLoai_TB.Value = 1 Then .Fields(9).Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" Else .Fields(9).Value = 0 End If .Update .Requery '-----------------Dien cac gia tri vao form-------- Me.lblSo_luat.Caption = .RecordCount .MoveLast Me.lblLuat_thu.Caption = .Fields(0).Value Do_chinh_xac = Do_chinh_xac & .Fields(11).Value Me.txtDo_chinh_xac.text = Do_chinh_xac End With End If '---------------Neu dang sua luat----------- If Sua Then '-----------Cap nhat cac gia tri---------- With Luat_suy_dien .Fields(10).Value = Loai_hong2.Fields(0).Value .Fields(11).Value = Me.txtDo_chinh_xac.text If Me.chkAC_A_dat.Value = 1 Then .Fields(1).Value = 1 Else .Fields(1).Value = 0 End If If Me.ChkAC_B_dat.Value = 1 Then .Fields(2).Value = 1 Else .Fields(2).Value = 0 End If If Me.ChkDc_A_dat.Value = 1 Then .Fields(3).Value = 1 Else .Fields(3).Value = 0 End If If Me.chkDc_B_dat.Value = 1 Then .Fields(4).Value = 1 Else .Fields(4).Value = 0 End If If Me.chkR_a_dat.Value = 1 Then .Fields(5).Value = 1 Else .Fields(5).Value = 0 End If If Me.chkR_B_dat.Value = 1 Then .Fields(6).Value = 1 Else .Fields(6).Value = 0 End If If Me.chkR_A_B.Value = 1 Then .Fields(7).Value = 1 Else .Fields(7).Value = 0 End If If Me.ChkF_AB.Value = 1 Then .Fields(8).Value = 1 Else .Fields(8).Value = 0 End If If Me.chkLoai_TB.Value = 1 Then .Fields(9).Value = 1 Else .Fields(9).Value = 0 End If .Update .Requery End With End If '--------------Khoa cac nut lenh--------- Me.chkAC_A_dat.Enabled = False Me.ChkAC_B_dat.Enabled = False Me.ChkDc_A_dat.Enabled = False Me.chkDc_B_dat.Enabled = False Me.chkR_a_dat.Enabled = False Me.chkR_B_dat.Enabled = False Me.chkR_A_B.Enabled = False Me.ChkF_AB.Enabled = False Me.chkLoai_TB.Enabled = False Me.cbmKet_luan.Enabled = False Me.txtDo_chinh_xac.Enabled = False Me.cmdThem.Enabled = True Me.cmdXoa.Enabled = True Me.cmdSua.Enabled = True Me.cmdFirst.Enabled = True Me.cmdLast.Enabled = True Me.cmdToi.Enabled = True Me.cmdLui.Enabled = True Me.cmdDong_y_them.Enabled = False Me.cmdBo_qua_them.Enabled = False '------------Xoa che do them hoac sua du lieu----------- Them = False Sua = False End Sub Private Sub cmdFirst_Click() '----------------Xoa cac checkbox----------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 Luat_suy_dien.MoveFirst '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value '---------Neu sua thi chi hien so---------- If Sua Then Do_chinh_xac = Luat_suy_dien.Fields(11).Value End If Me.txtDo_chinh_xac.text = Do_chinh_xac Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value End Sub Private Sub cmdLast_Click() Luat_suy_dien.MoveLast '----------------Xoa cac checkbox----------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value '---------Neu sua thi chi hien so---------- If Sua Then Do_chinh_xac = Luat_suy_dien.Fields(11).Value End If Me.txtDo_chinh_xac.text = Do_chinh_xac Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value End Sub Private Sub cmdLui_Click() On Error GoTo thoat If Not (Luat_suy_dien.EOF) Then Luat_suy_dien.MoveNext If Luat_suy_dien.EOF Then Luat_suy_dien.MovePrevious End If '----------------Xoa cac checkbox----------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 'If Luat_suy_dien.BOF = False Then 'End If '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value '---------Neu sua thi chi hien so---------- If Sua Then Do_chinh_xac = Luat_suy_dien.Fields(11).Value End If Me.txtDo_chinh_xac.text = Do_chinh_xac Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value End If thoat: End Sub Private Sub cmdSua_Click() On Error GoTo thoat '-------------Bao cho chuong trinh biet dang sua Du lieu-------- Sua = True Me.txtDo_chinh_xac.text = Luat_suy_dien.Fields(11).Value Me.chkAC_A_dat.Enabled = True Me.ChkAC_B_dat.Enabled = True Me.ChkDc_A_dat.Enabled = True Me.chkDc_B_dat.Enabled = True Me.chkR_a_dat.Enabled = True Me.chkR_B_dat.Enabled = True Me.chkR_A_B.Enabled = True Me.ChkF_AB.Enabled = True Me.chkLoai_TB.Enabled = True Me.cbmKet_luan.Enabled = True Me.txtDo_chinh_xac.Enabled = True Me.cmdDong_y_them.Enabled = True Me.cmdBo_qua_them.Enabled = True '-------------Khoa cac nut lenh----------- Me.cmdThem.Enabled = False Me.cmdXoa.Enabled = False Me.cmdSua.Enabled = False '--------------Bao cho chuong trinh biet dang them luat-------- Sua = True '--------------Tao du lieu cho Combobox Ket luan---------- Dim Loai_hong1 As ADODB.Recordset Set Loai_hong1 = New ADODB.Recordset Loai_hong1.Source = "Select Trang_thai_hong from tblLoaihong " Loai_hong1.ActiveConnection = TL Loai_hong1.Open Loai_hong1.MoveFirst Do Until Loai_hong1.EOF Me.cbmKet_luan.AddItem Loai_hong1.Fields(0).Value Loai_hong1.MoveNext Loop Me.cbmKet_luan.ListIndex = -1 thoat: End Sub Private Sub cmdThem_Click() '-----------Mo cac checkbox---------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 Me.cbmKet_luan.text = "" Me.txtDo_chinh_xac.text = "" Me.lblLuat_thu.Caption = "" Me.chkAC_A_dat.Enabled = True Me.ChkAC_B_dat.Enabled = True Me.ChkDc_A_dat.Enabled = True Me.chkDc_B_dat.Enabled = True Me.chkR_a_dat.Enabled = True Me.chkR_B_dat.Enabled = True Me.chkR_A_B.Enabled = True Me.ChkF_AB.Enabled = True Me.chkLoai_TB.Enabled = True Me.cbmKet_luan.Enabled = True Me.txtDo_chinh_xac.Enabled = True Me.cmdDong_y_them.Enabled = True Me.cmdBo_qua_them.Enabled = True '-------------Khoa cac nut lenh----------- Me.cmdThem.Enabled = False Me.cmdXoa.Enabled = False Me.cmdSua.Enabled = False Me.cmdFirst.Enabled = False Me.cmdLast.Enabled = False Me.cmdToi.Enabled = False Me.cmdLui.Enabled = False '--------------Bao cho chuong trinh biet dang them luat-------- Them = True '--------------Tao du lieu cho Combobox Ket luan---------- Dim Loai_hong1 As ADODB.Recordset Set Loai_hong1 = New ADODB.Recordset Loai_hong1.Source = "Select Trang_thai_hong from tblLoaihong " Loai_hong1.ActiveConnection = TL Loai_hong1.Open Loai_hong1.MoveFirst Do Until Loai_hong1.EOF Me.cbmKet_luan.AddItem Loai_hong1.Fields(0).Value Loai_hong1.MoveNext Loop Me.cbmKet_luan.ListIndex = -1 End Sub Private Sub cmdToi_Click() On Error GoTo thoat If Not (Luat_suy_dien.BOF) Then Luat_suy_dien.MovePrevious If Luat_suy_dien.BOF Then Luat_suy_dien.MoveNext End If '----------------Xoa cac checkbox----------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value '---------Neu sua thi chi hien so---------- If Sua Then Do_chinh_xac = Luat_suy_dien.Fields(11).Value End If Me.txtDo_chinh_xac.text = Do_chinh_xac Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value '-----------------Tim thu tu luat----------- Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value End If thoat: End Sub Private Sub cmdXoa_Click() If MsgBox("Bạn chắc chắn muốn xóa luật này ?", vbCritical + vbYesNo, " Chú ý ") = vbYes Then '-----------xoa luat------ Luat_suy_dien.Delete Luat_suy_dien.Update '----------Sua lai cac Ma Luat--------- Luat_suy_dien.MoveFirst Dim Ma_luat_xoa As Byte Ma_luat_xoa = 0 Do Ma_luat_xoa = Ma_luat_xoa + 1 If Len(Trim(Str(Ma_luat_xoa))) = 1 Then Luat_suy_dien.Fields(0).Value = Trim(0 & Trim(Str(Ma_luat_xoa))) Else Luat_suy_dien.Fields(0).Value = Trim(Str(Ma_luat_xoa)) End If Luat_suy_dien.Update Luat_suy_dien.MoveNext Loop Until Luat_suy_dien.EOF Luat_suy_dien.Requery '----------Dien cac gia tri vao form-------- If Not (Luat_suy_dien.BOF) Then Luat_suy_dien.MovePrevious If Luat_suy_dien.BOF Then Luat_suy_dien.MoveNext End If Me.lblSo_luat.Caption = Luat_suy_dien.RecordCount '----------------Xoa cac checkbox----------- Me.chkAC_A_dat.Value = 0 Me.ChkAC_B_dat.Value = 0 Me.ChkDc_A_dat.Value = 0 Me.chkDc_B_dat.Value = 0 Me.chkR_a_dat.Value = 0 Me.chkR_B_dat.Value = 0 Me.chkR_A_B.Value = 0 Me.ChkF_AB.Value = 0 Me.chkLoai_TB.Value = 0 '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value '-----------------Tim thu tu luat----------- Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value End If End If thoat: End Sub Private Sub Form_Load() Them = False Sua = False Set TL = New ADODB.Connection TL.Provider = "SQLOLEDB.1" TL.ConnectionString = "Persist Security Info=False;User ID=sa;Initial Catalog=DULIEU;Data Source=sam" TL.Open Set Luat_suy_dien = New ADODB.Recordset Luat_suy_dien.LockType = adLockOptimistic Luat_suy_dien.CursorType = adOpenKeyset Luat_suy_dien.Source = "Select * from tblTapluat order by Ma_luat" Luat_suy_dien.ActiveConnection = TL Luat_suy_dien.Open Luat_suy_dien.MoveFirst '-------------Dien gia tri vao cac Checkbox----------- Dim Ma_Loai_hong As String Dim Do_chinh_xac As String Do_chinh_xac = "" If Luat_suy_dien.Fields(1).Value = 1 Then Me.chkAC_A_dat.Value = 1 Do_chinh_xac = "M1*" End If If Luat_suy_dien.Fields(2).Value = 1 Then Me.ChkAC_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M2*" End If If Luat_suy_dien.Fields(3).Value = 1 Then Me.ChkDc_A_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M3*" End If If Luat_suy_dien.Fields(4).Value = 1 Then Me.chkDc_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M4*" End If If Luat_suy_dien.Fields(5).Value = 1 Then Me.chkR_a_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M5*" End If If Luat_suy_dien.Fields(6).Value = 1 Then Me.chkR_B_dat.Value = 1 Do_chinh_xac = Do_chinh_xac & "M6*" End If If Luat_suy_dien.Fields(7).Value = 1 Then Me.chkR_A_B.Value = 1 Do_chinh_xac = Do_chinh_xac & "M7*" End If If Luat_suy_dien.Fields(8).Value = 1 Then Me.ChkF_AB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M8*" End If If Luat_suy_dien.Fields(9).Value = 1 Then Me.chkLoai_TB.Value = 1 Do_chinh_xac = Do_chinh_xac & "M9*" End If Do_chinh_xac = Do_chinh_xac & Luat_suy_dien.Fields(11).Value Me.txtDo_chinh_xac.text = Do_chinh_xac Ma_Loai_hong = Luat_suy_dien.Fields(10).Value '------------------Tim ket luan------------ Set Loai_hong = New ADODB.Recordset Loai_hong.Source = "Select Trang_thai_hong from tblLoaihong where Ma_loai_hong='" & Ma_Loai_hong & "'" Loai_hong.ActiveConnection = TL Loai_hong.Open Me.cbmKet_luan.text = Loai_hong.Fields(0).Value Me.lblLuat_thu.Caption = Luat_suy_dien.Fields(0).Value Me.lblSo_luat.Caption = Luat_suy_dien.RecordCount '---------Khoa du lieu----------- Me.chkAC_A_dat.Enabled = False Me.ChkAC_B_dat.Enabled = False Me.ChkDc_A_dat.Enabled = False Me.chkDc_B_dat.Enabled = False Me.chkR_a_dat.Enabled = False Me.chkR_B_dat.Enabled = False Me.chkR_A_B.Enabled = False Me.ChkF_AB.Enabled = False Me.chkLoai_TB.Enabled = False Me.cbmKet_luan.Enabled = False Me.txtDo_chinh_xac.Enabled = False Me.cmdDong_y_them.Enabled = False Me.cmdBo_qua_them.Enabled = False Them = False Sua = False End Sub Tài liệu tham khảo Trần Đình Khang , Nguyễn Thanh Thủy - Xây dựng cơ chế suy diễn trên cơ sở tri thức mờ - 1998. Nguyễn Thanh Thủy- Trí tuệ nhân tạo - Nhà xuất bản giáo dục - 1995. Nguyễn Hoàng Phưong, Bùi Công Cường, Nguyễn Doãn Phước,Phan Xuân Minh, Chu Văn Ký - Hệ mờ và ứng dụng - Nhà xuất bản Khoa học và kỹ thuật. Trần Đình Khang- Bài giảng Hệ chuên gia - Lớp Tin 99- Đại học Thủy sản Nha Trang. Tiêu chuẩn ngành Bưu Điện - Tổng cục Bưu Điện -1998. Kỹ thuật Tổng đài Fujisu - 1998.

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

  • docdms-htcdhdt.doc