Nhập môn hệ quản trị cơ sở dữ liệu Phần 2 - 14

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!

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 & "%')"

Nhập môn hệ quản trị cơ sở dữ liệu Phần 2 - 14

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

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 19/01/2024