End If
If (Duration <> "") Then foundDur = True
End If
If (Des <> "") Then foundDes = True
End If
If (foundCN = False) And (foundDur = False) And (foundDes = False) Then MsgBox "You must input either Name or Duration or Description of
the course!"
Exit Sub End If
Dim sql As String
sql = "SELECT * FROM Course WHERE"
Có thể bạn quan tâm!
- Các Đối Tượng Và Mối Quan Hệ Giữa Chúng Trong Kiến Trúc Ado
- Nhập môn hệ quản trị cơ sở dữ liệu Phần 2 - 12
- Nhập môn hệ quản trị cơ sở dữ liệu Phần 2 - 13
Xem toàn bộ 114 trang tài liệu này.
If (foundCN) And (foundDur) And (foundDes) Then sql = sql & " (CName Like '%" & cn & "%')"
sql = sql & " and (DurationInHour = " & Duration & ")" sql = sql & " and (Description LIKE '%" & Des & "%')"
Else
If (foundCN) And (foundDur) And (Not foundDes) Then sql = sql & " (CName Like '%" & cn & "%')"
sql = sql & " and (DurationInHour = " & Duration & ")"
Else
If (foundCN) And (Not foundDur) And (foundDes) Then sql = sql & " (CName Like '%" & cn & "%')"
sql = sql & " and (Description LIKE '%" & Des & "%')"
Else
If (foundCN) And (Not foundDur) And (Not foundDes) Then sql = sql & " (CName Like '%" & cn & "%')"
Else
If (Not foundCN) And (foundDur) And (foundDes) Then sql = sql & " (DurationInHour = " & Duration & ")"
sql = sql & " and (Description LIKE '%" & Des & "%')" Else
If (Not foundCN) And (foundDur) And (Not foundDes) Then sql = sql & " (DurationInHour = " & Duration & ")"
Else
If (Not foundCN) And (Not foundDur) And (foundDes) Then sql = sql & "(Description LIKE '%" & Des & "%')"
End If End If End If End If End If End If End If
If (con Is Nothing) Then
Set con = New ADODB.Connection con.Open cnstr
End If
If (IsNull(con)) Then
Set con = New ADODB.Connection con.Open cnstr
End If
If (IsEmpty(con)) Then
Set con = New ADODB.Connection con.Open cnstr
End If
Dim rec As ADODB.Recordset Set rec = New ADODB.Recordset
rec.Open sql, con, adOpenDynamic If (rec.RecordCount = 0) Then
lblSearch.Caption = "There is no item found!" rec.Close: con.Close
Set con = Nothing Exit Sub
Else
rec.MoveLast
lblSearch.Caption = "There are " & CStr(rec.RecordCount) & " items
found"
Dim i As Integer
While (lbCourse.ListCount > 0) i = lbCourse.ListCount - 1
lbCourse.RemoveItem Index:=i Wend
lbCourse.ColumnCount = 4
lbCourse.AddItem item:="CID;Course Name;Duration (in hour) ;
Description;", Index:=0
Dim item As String: item = "" rec.MoveFirst
While (rec.EOF = False)
item = CStr(rec.Fields("CID").value)
If rec.Fields("CName") <> "" Then
item = item & ";" & rec.Fields("CName").value Else
item = item & "; " End If
If IsNull(rec.Fields("DurationInHour")) = False Then
item = item & ";" & CStr(rec.Fields("DurationInHour").value)
Else
item = item & "; " End If
If rec.Fields("Description") <> "" Then
item = item & ";" & rec.Fields("Description").value Else
item = item & "; "
End If
lbCourse.AddItem item:=item rec.MoveNext
Wend
rec.Close: con.Close Set con = Nothing
End If End Sub
Private Sub Form_Load()
cmdEdit.SetFocus: cmdEdit.Caption = "Edit": editingCID = -1 LoadDataToListBox
End Sub
Private Sub LoadDataToListBox()
'Ham nay se tai du lieu tu bang Coourse vao ListBox lbCourse 'lbCourse.RowSource = ""
Dim rec As ADODB.Recordset If (con Is Nothing) Then
Set con = New ADODB.Connection con.Open cnstr
End If
If (IsNull(con)) Then
Set con = New ADODB.Connection con.Open cnstr
End If
If (IsEmpty(con)) Then
Set con = New ADODB.Connection con.Open cnstr
End If
Set rec = New ADODB.Recordset
rec.Open "SELECT * FROM Course", con, adOpenDynamic If (rec.RecordCount = 0) Then
lblSearch.Caption = "There is no item found!" rec.Close: con.Close: Set con = Nothing
Exit Sub Else
rec.MoveLast
found"
lblSearch.Caption = "There are " & CStr(rec.RecordCount) & " items
rec.MoveFirst Dim i As Integer
While (lbCourse.ListCount > 0) i = lbCourse.ListCount - 1
lbCourse.RemoveItem Index:=i Wend
lbCourse.AddItem item:="CID;Course Name;Duration (in hour) ;
Description;", Index:=0
Dim item As String: item = "" While (rec.EOF = False)
item = CStr(rec.Fields("CID").value)
If rec.Fields("CName") <> "" Then
item = item & ";" & rec.Fields("CName").value Else
item = item & "; " End If
If IsNull(rec.Fields("DurationInHour")) = False Then
item = item & ";" & CStr(rec.Fields("DurationInHour").value)
Else
item = item & "; " End If
If rec.Fields("Description") <> "" Then
item = item & ";" & rec.Fields("Description").value Else
item = item & "; "
End If
lbCourse.AddItem item:=item rec.MoveNext
Wend rec.Close con.Close
Set con = Nothing End If
End Sub
BÀI TẬP CHƯƠNG 7
1. Hãy cài đặt lại chương trình trong ví dụ về một chương trình hoàn chỉnh sử dụng các đối tượng khác Recordset trong các kiến trúc DAO và ADO
2. Hãy cài đặt thêm chức năng phân trang cho ListBox của bài tập trên. Số bản ghi trên 1 trang (PageSize) sẽ do người dùng nhập vào, tại mỗi thời điểm ListBox chỉ hiển thị PageSize bản ghi và các nút 1, 2, 3, 4, … để chuyển trang. Khi người dùng chọn 1 trang bất kỳ thì ListBox chỉ hiển thị các bản ghi thuộc trang đó và nút hiển thị trang đó sẽ nổi bật lên.
TÀI LIỆU THAM KHẢO
[1] Access 2013, Microsoft, 2013
[2] Đặng Thị Thu Hiền và Đỗ Thanh Thủy, Bài giảng Nhập môn hệ quản trị cơ sở dữ liệu Access, Trường ĐH Giao Thông Vận Tải, 2007.
[3] MSDN Library – October 2012
[4] Teresa Hennig, Ben Clothier, George Hepworth and Dagi (Doug) Yudovich, Professional Access 2013 Programming, ISBN: 978-1-118-53083-2, Wrok, August 2013.
[5] http://www.gcflearnfree.org/access2013
[6] http://www.techonthenet.com/access/questions/vba_reference2013.php