1, Giới Thiệu : 1.1, Ngữ cảnh áp dụng : - Lọc/Tìm kiếm theo giá trị do người dùng nhập khi chạy - Xây dựng các màn hình tra cứu, tìm kiếm - Mở một Record chi tiết SUB tuỳ theo mẩu ti
Trang 21, Giới Thiệu :
1.1, Ngữ cảnh áp dụng :
- Lọc/Tìm kiếm theo giá trị do người dùng nhập khi chạy
- Xây dựng các màn hình tra cứu, tìm kiếm
- Mở một Record chi tiết (SUB) tuỳ theo mẩu tin hiện hành của RecordSet
1.2, Các thành phần trong câu truy vấn động :
- Select, Insert, Update, Delete
- From, Where
- Group by, Having
- Order by
Trang 32, Tìm kiếm, Lọc dữ liệu trên RecordSet :
2.1 Tìm kiếm bằng hành động Find:
<Tên RS>.Find “điều kiện”,SkipRecords,Direction,Start
VD :
rsSinhVien.Move -1,adBookmarkFirst
Do While Not rsSinhVien.EOF
rsSinhVien.Find ”DiemTB>=5“, _
IIF(rsSinhVien.BOF,0,1), adSearchForward Loop
2.2, Lọc dữ liệu bằng thuộc tính Filter
<Tên RS>.Filter = “điều kiện”
2.3, Chú ý : khi không có bản ghi nào thoả mãn điều kiện thì RecordSet vẫn truy xuất dữ liệu
Trang 43, Áp dụng SQL động để tìm kiếm dữ liệu :
VD : tìm những SV có tên bắt đầu là chữ T
Dim rstNV As New ADODB.Recordset
rstNV.Open "sinhvien", cnn, adOpenStatic, _
adLockOptimistic
Set DataGrid1.DataSource = rstNV
sql = “Select * From Sinhvien Where TenSV like ‘T%’"
If rst.State = adStateOpen Then rst.Close
rst.Open sql, cnn, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rst
Trang 54, Áp dụng để xây dựng các thành phần dạng Main -Sub :
4.1, Các dạng Main – Sub :
- Main – Sub
- Main – Sub – Sub
Trang 64.2, Cách xây dựng một thành phần Main – Sub:
- Xác định nguồn dữ liệu :
+ Main thường là một đối tượng ( Mã Lớp)
+ Sub là các thông tin về đối tượng đó (Học sinh trong lớp) + Chú ý chọn các Field trong bảng có thể cập nhật được
Trang 74, Áp dụng để xây dựng các thành phần dạng Main -Sub :
4.2, Cách xây dựng một thành phần Main – Sub:
- Các RecordSet và thời điểm mở :
+ Xây dựng điều kiện lọc thông tin
+ RecordSet cho Main mở khi Form_Load
+ RecordSet của Sub mở trong sự kiện MoveComplete của RecordSet Main