Tải bản đầy đủ (.doc) (8 trang)

Bài 7. Xử lý trên form Nhập liệu và form Tìm kiếm ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (221.2 KB, 8 trang )

Bài 7.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
Bài 7. Xử lý trên form Nhập liệu và form Tìm kiếm
Mục đích
Trong bài thực hành này, bạn sẽ làm quen với control Microsoft Hierachical FlexGrid
để hiển thị kết quả tra cứu trên form Tìm kiếm.
Sau đó, bạn sẽ làm quen với việc xử lý nhập dữ liệu mới vào CSDL đối với các form
Nhập liệu
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
Làm việc với control Microsoft Hierachical FlexGrid
Xử lý câu lệnh SQL Insert
Thời gian để hoàn tất bài thực hành: 90 phút
1
Bài 7.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 7.1. Đọc- hiểu thiết kế
Mục đích: Tìm hiểu thiết kế và mã nguồn của 1 ứng dụng đã xây dựng
sẵn
1. Mở Microsoft Access
2. Mở CSDL HOCSINH.MDB, tìm hiểu cấu trúc và relationship giữa các bảng của CSDL này
3. Mở Microsoft Visual Basic
4. Mở lại ứng dụng đã xây dựng ở bài tập trước, tìm hiểu và nhớ lại những bước đã làm, kèm
theo lí do tại sao làm như vậy.
2
Bài 7.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 7.2. Thiết kế giao diện
Mục đích: Thiết kế form với control nâng cao
1. Thêm 1 form vào project và đặt tên là frmTimkiem với giao diện như sau:
3
txHoTen


cmdTimkiemTrovecmdTiepnhan
cmdBaocao
gridKetqua
(chọn Project-
>Components-
>Microsoft Hierachical
FlexGrid Control 6.0
(OLEDB) để thêm
control này vào
ToolBox, rồi kéo thả
control này từ ToolBox
vào form
Bài 7.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 7.3. Thực thi câu lệnh để hiển thị form Tìm kiếm
Mục đích: Nhắc lại các lệnh gọi hiển thị form trong ứng dụng
1. Viết hàm sau đây với mục đích hiển thị form Tìm kiếm mới tạo ra thêm
Private Sub HienthiTimkiem()
Dim dlgTimkiem As New frmTimkiem
dlgTimkiem.Show
End Sub
2. Viết hàm xử lý sự kiện Click cho nút Tìm kiếm
3. Chạy thử chương trình xem form Tìm kiếm đã được hiển thị khi người dùng click vào button
Tìm kiếm hay chưa
4
'Hien thi Dialog Tim kiem khi nguoi dung click vao button Tim kiem
Private Sub cmdTimkiem_Click()
HienthiTimkiem
End Sub
Bài 7.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 7.4. Xử lý form Tìmkiếm

Mục đích: Làm quen với Microsoft Hierachical FlexGrid Control
Ta sẽ cho phép người dùng nhập vào thông tin, và sau đó tìm kíếm học sinh thỏa yêu cầu bằng các
bước sau
Ghi chú: Tất cả các thao tác sau được làm tại frmTimkiem!
1. Kết nối CSDL
a. Chọn công nghệ kết nối sử dụng là ADO (bước cơ bản thứ 1 trong kết nối CSDL)
b. Khai báo biến connection là biến toàn cục
Dim Cn As ADODB.Connection
c. Mở kết nối tới CSDL trong hàm Form_Load (bước cơ bản thứ 2 trong kết nối CSDL)
Private Sub Form_Load()
‘Khoi tao moi mot doi tuong Connection
Set Cn = new ADODB.Connection
Cn.ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source
= Hocsinh.mdb”
Cn.Open
End Sub
2. Tìm kiếm học sinh thỏa yêu cầu
a. Sử dụng lại hàm đã được viết sẵn HienthiKQLenGrid
'Ham nay dung de hien thi du lieu tra ra tu 1 cau lenh Select len FlexGrid
'Tham so:
' strSQL: cau truy van SQL
' Cn: connection ket noi toi CSDL (da duoc mo san)
Private Sub HienthiKQLenGrid(ByVal strSQL As String, ByVal Cn As
ADODB.Connection)

Dim Rs As New ADODB.Recordset
Rs.Open strSQL, Cn, adOpenStatic, adLockOptimistic

If (Not Rs.BOF) Then
'Di chuyen con tro ve dau RecordSet

Rs.MoveFirst

'So dong va so cot cua grid
gridKetqua.Rows = Rs.RecordCount + 1
gridKetqua.Cols = Rs.Fields.Count + 1
'Hai bien tam
Dim iMaxRow As Integer, iMaxCol As Integer
iMaxRow = Rs.RecordCount
iMaxCol = Rs.Fields.Count - 1

'Khai bao 2 bien dem luu giu gia tri dong va cot hien thoi
Dim iCurRow As Integer, iCurCol As Integer
5
Bài 7.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM

'Add thanh tieu de
For iCurCol = 1 To iMaxCol
gridKetqua.TextMatrix(0, iCurCol) = Rs(iCurCol - 1).Name
Next

'Add du lieu tu RecordSet vao Grid
For iCurRow = 1 To iMaxRow
For iCurCol = 1 To iMaxCol
gridKetqua.TextMatrix(iCurRow, iCurCol) = Rs(iCurCol - 1)
Next
Rs.MoveNext
Next
Else
MsgBox "Khong tim thay du lieu nao thoa dieu kien"
gridKetqua.Clear


End If

Rs.Close

End Sub
b. Viết hàm xử lý sự kiện Click cho nút Tìm kiếm
Private Sub cmdTimkiem_Click()

Dim strSQL As String
'Thuc thi cau lenh SQL de lay tat ca CAC HOC SINH THOA DK
strSQL = "Select * from HOCSINH where HOTEN LIKE '%" & txtHotenTimkiem.Text &
"%'"

'Hien thi ket qua
HienthiKQLenGrid strSQL, cn

End Sub
3. Chạy thử chương trình
6
Bài 7.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 7.5. Xử lý trên form Nhập liệu đơn giản
Mục đích: Làm quen với việc thao tác với các form Nhập liệu
Ta sẽ cho phép người dùng nhập vào thông tin, và sau đó thêm mới học sinh này vào CSDL. (Mặc
định là học sinh này học tại trường Đại học An Giang với mã trường là T1. Các bạn có thể nâng cấp
để thêm một comboBox cho phép người dùng chọn trường)
Ghi chú: Tất cả các thao tác sau được làm tại frmTiepnhan!
1. Viết các hàm xử lý theo đoạn code mẫu sau:
‘Khai bao 1 connection toan cuc
Dim cn As ADODB.Connection

‘Ham xu ly su kien Load
Private Sub Form_Load()
'Khoi tao moi mot doi tuong Connection
Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =
Hocsinh.mdb"
cn.Open
End Sub
7
Bài 7.BÀI GIẢNG THỰC HÀNH MÔN NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
‘Ham xu ly su kien UnLoad
Private Sub Form_Unload(Cancel As Integer)
cn.Close
End Sub
‘Ham xu ly su kien Click cua nut Tiepnhan
Private Sub cmdTiepnhan_Click()
If (txtMaHS.Text = "" Or (txtHoten.Text = "") Or _
(txtNgaysinh.Text = "") Or (txtDiachi.Text = "")) Then
MsgBox "Chua nhap du thong tin"
Exit Sub
End If
Dim strSQL As String
''Thuc thi cau lenh SQL de cap nhat moi du lieu dua vao CSDL
strSQL = "Insert into HOCSINH Values ('" & txtMaHS.Text & "','" &
txtHoten.Text & "','" & txtNgaysinh.Text & "','" & txtDiachi.Text & "'," &
optionNam.Value & ",'T1')"
cn.Execute strSQL
MsgBox "Da them du lieu"
End Sub
2. Save project, chạy thử chương trình

8

×