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ụn
Trang 1Bài 5 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
Trang 2Mục đích: Xây dựng CSDL
1 Mở ứng dựng Microsoft Access
2 Thiết kế CSDL, đặt tên là THUCDON.MDB, có cấu trúc gồm 1 bảng THUCDON như sau:
THUCDON
3 Điền một số record thông tin vào bảng dữ liệu này
4 Lưu thông tin
Trang 3Bài tập 5.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
Lưu ý: đối tượng ListThucDon và ListDuocChon là ListBox
3
ListDuocChon ListThucDon
cmdTinhTien cmdThoat
txtThanhTien
cmdChon cmdKhong
Trang 4Bài tập 5.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.
Trang 55 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 = Thucdon.mdb”
Cn.Open
‘Thuc thi cau lenh SQL de lay tat ca Ten mon an co trong CSDL
' Phan lay du lieu dua vao listbox
strSQL = "Select TENMONAN from THUCDON"
Set Rs = new ADODB.Recordset
Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic
If ( Not Rs.BOF) Then
Rs.MoveFirst
While ( Not Rs.EOF)
ListThucDon.AddItem Rs![TENMONAN]
5
Trang 6
Rs.Close
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 Chọn
Private Sub cmdChon_Click()
If ListThucDon.ListIndex = -1 Then
MsgBox "Ban hay chon mon an!", vbOKOnly
Exit Sub
End If
ListDuocChon.AddItem ListThucDon.Text
ListThucDon.RemoveItem ListThucDon.ListIndex
txtThanhTien.Text = ""
End Sub
9 Viết hàm xử lý sự kiện Click cho nút Không
Private Sub cmdKhong_Click()
If ListDuocChon.ListIndex = -1 Then
MsgBox "Ban hay chon mon an!", vbOKOnly
Exit Sub
End If
ListThucDon.AddItem ListDuocChon.Text
ListDuocChon.RemoveItem ListDuocChon.ListIndex
txtThanhTien.Text = ""
End Sub
10 Viết hàm xử lý sự kiện Click cho nút Tính tiền
Private Sub cmdTinhTien_Click()
Dim Rs As ADODB.Recordset
Dim strSQL As String
Dim i As Integer
Dim TongTien As Long
Dim SoMonAn As Integer
Trang 7
txtThanhTien.Text = ""
SoMonAn = ListDuocChon.ListCount
If SoMonAn = 0 Then
MsgBox "Ban hay chon mon an!", vbOKOnly
Exit Sub
End If
For i = 0 To SoMonAn - 1
strSQL = "Select DONGIA From THUCDON Where TENMONAN=Trim('" & ListDuocChon.List(i) & "')"
Set Rs = new ADODB.Recordset
Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic
Rs.MoveFirst
TongTien = TongTien + Rs![DONGIA]
Rs.Close
Next
txtThanhTien.Text = TongTien
End Sub
11 Viết hàm xử lý sự kiện Click cho nút Thoát
Private Sub cmdThoat_Click() Unload Me
End Sub
7
Trang 8Mụ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