Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài 4.Kết nối VB với MS Access thông qua công nghệ ADO (tiếp theo) Mục đích Trong bài thực hành này, bạn sẽ làm quen với cách xây dựng một ứng dụng VB tương tác với CSDL Access thông qua sử dụng công nghệ ADO. Yêu cầu Đã nắm được các khái niệm cơ bản về xây dựng ứng dụng bằng VB Sử dụng được hệ quản trị CSDL Access Vấn đề liên quan Thiết kế CSDL bằng Access Kết nối CSDL Access thông qua ADO Thời gian để hoàn tất bài thực hành: 90 phút 1 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài tập 4.1. Thiết kế CSDL Access Mục đích: Xây dựng CSDL 1. Mở ứng dựng Microsoft Access 2. Thiết kế CSDL, đặt tên là QUYDOINGOAITE.MDB, có cấu trúc gồm 1 bảng NGOAITE như sau: NGOAITE STT Tên trường Kiểu dữ liệu Ghi chú 1 MaNT Text (7) Primary Key 2 Ten Text (50) Required 3 Tigia Text(15) 3. Điền một số record thông tin vào bảng dữ liệu này MaNT Ten Tigia USD U.S.Dollar 15538 YEN Yen Nhật 10000 RUP RUP Nga 2500 NDT Nhân dân tệ TQ 2000 4. Lưu thông tin 2 Bài 4. BÀI GIẢNG THỰC HÀNH MƠN NHẬP MƠN CƠNG NGHỆ PHẦN MỀM Bài tập 4.2. Thiết kế giao diện Mục đích: Học cách thiết kế form theo mẫu 1. Thiết kế form theo mẫu dưới đây Các đối tượng trên Form được đặt tên (thuộc tính Name) như trong hình trên Chọn thuộc tính Style của đối tượng cmbMANT là 2-Dropdown List Chọn thuộc tính Alignment của các đối tượng TextBox là 1 – Right Justify 3 txtTen txtVND txtSoTien txtQuyDoiVND cmbMANT Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 4 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài tập 4.3. Kết nối Visual Basic với Access Mục đích: Thực hiện các bước làm việc để kết nối Access với VB Ghi nhớ: Các bước làm việc với CSDL 1. Chọn công nghệ sử dụng (DAO, ADO…) 2. Mở kết nối với CSDL 3. Chuẩn bị câu lệnh SQL 4. Mở RecordSet tương ứng với câu lệnh SQL trên (hay nói cách khác, RecordSet sẽ chứa kết quả trả về khi thực thi câu lệnh SQL) 5. Di chuyển con trỏ của RecordSet về vị trí đầu tiên 6. Duyệt qua từng giá trị của RecordSet, xử lý dữ liệu theo yêu cầu 7. Đóng kết nối với CSDL 1. Vào mục Project -> References -> Chọn và đánh dấu vào mục Microsoft ActiveX Data Objects 2.6 Library. Lưu ý: không chọn nhầm mục Microsoft ActiveX Data Objects 2.5 (hoặc 2.1…), cũng như bảo đảm tất cả các mục Microsoft DAO 3.6 Object Library, Microsoft DAO 3.51 Object Library… không được chọn. 5 Bài 4. BÀI GIẢNG THỰC HÀNH MƠN NHẬP MƠN CƠNG NGHỆ PHẦN MỀM 5. Khai báo biến Connection là biến toàn cục trong phần General (trên cùng của file) Dim Cn As ADODB.Connection 6. Viết hàm xử lý sự kiện Load cho đối tượng Form1 (Bấm đúp (double click) trên form, VB sẽ tự động thêm hàm xử lý sự kiện) Private Sub Form_Load() Dim Rs As ADODB.Recordset Dim strSQL As String ‘Khoi tao moi mot doi tuong Connection Set Cn = new ADODB.Connection Cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0; Data Source = QuydoiNgoaite.mdb” Cn.Open ‘Thuc thi cau lenh SQL de lay tat ca Ten va Matkhau co trong CSDL strSQL strSQL = "Select MANT from NGOAITE" Set Rs = new ADODB.Recordset Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic ' Phan lay du lieu MANT dua vao combobox strSQL = "Select MANT from NGOAITE" Set Rs = new ADODB.Recordset Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic 6 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM If (Not Rs.BOF) Then Rs.MoveFirst While (Not Rs.EOF) cmbMANT.AddItem Rs![MANT] Rs.MoveNext Wend End If Rs.Close cmbMANT.Text = cmbMANT.List(0) End Sub 7. Viết hàm xử lý sự kiện UnLoad cho đối tượng Form1 Private Sub Form_Unload(Cancel As Integer) Cn.Close End Sub 8. Viết hàm xử lý sự kiện Click cho nút Quyđổi Private Sub cmdQuyDoi_Click() Dim Tigia As Double Tigia = Val(txtVND.Text) Dim SoTien As Double SoTien = Val(txtSoTien.Text) Dim QuyDoiVND As Double QuyDoiVND = SoTien * Tigia txtQuyDoiVND.Text = QuyDoiVND End Sub 9. Viết hàm xử lý sự kiện Click cho nút Thoát Private Sub cmdThoat_Click() Unload Me End Sub 10.Viết hàm xử lý sự kiện Click cho comboBox MANT (lưu ý, để xử lý sự kiện khi người dùng chọn lựa trong comboBox, ta dùng sự kiện Click chứ không dùng sự kiện Change) 7 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Private Sub cmbMaNT_Click() Dim Rs As ADODB.Recordset Dim strSQL As String strSQL = "Select * From NGOAITE Where MANT = Trim('" & cmbMANT.Text & "')" Set Rs = new ADODB.Recordset Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic If (Rs.BOF) Then MsgBox "Khong tim thay thong tin" Exit Sub End If Rs.MoveFirst txtQuyDoiVND.Text = "" txtTen.Text = Rs![TEN] txtVND.Text = Rs![VND] Rs.Close End Sub 8 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài tập 4.4. Chạy và kiểm lỗi chương trình Mục đích: Sử dụng công cụ debug của VB 1. Để con trỏ ngay dòng đầu tiên của hàm Form_Load() b mấ F9 (ho c ch n menu ặ ọ Debug->Toggle Breakpoint) 2. Bấm F5 để bắt đầu chạy và kiểm lỗi chuơng trình, quan sát sự thay đổi của các biến 9 . Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài 4. Kết nối VB với MS Access thông qua công nghệ ADO (tiếp theo) Mục đích Trong bài thực hành này, bạn sẽ làm quen với cách. Justify 3 txtTen txtVND txtSoTien txtQuyDoiVND cmbMANT Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 4 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài tập 4. 3. Kết nối Visual Basic với Access Mục đích:. CSDL bằng Access Kết nối CSDL Access thông qua ADO Thời gian để hoàn tất bài thực hành: 90 phút 1 Bài 4. BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Bài tập 4. 1. Thiết kế CSDL Access Mục