<< Chapter < Page Chapter >> Page >

Private Function GoodData() As Boolean

GoodData = True

End Function

Private Sub CmdUpdate_Click()

If Not GoodData Then Exit Sub

With myRS

If AddNewRecord Then

.AddNew

Else

.Edit

End If

.Fields("Title") = txtTitle.Text

.Fields("[Year Published]") = txtYearPublished.Text

.Fields("ISBN") = txtISBN.Text

.Fields("PubID") = txtPublisherID.Text

.Update

End With

SetControls (False)

End Sub

Tìm một record

Bước 11: Tiếp theo đây, ta muốn liệt kê các sách có tiêu đề chứa một chữ hay câu nào đó, thí dụ như chữ "Guide". Kế đó người dùng có thể chọn một sách bằng cách chọn tiêu đề sách ấy và nhấp nút Go. Chương trình sẽ locate (tìm ra) record của sách ấy và hiển thị chi tiết của nó.

Bây giờ bạn hãy cho vào Form một textbox tên txtSearch và một Image tên ImgSearch. Kế đó đặt một frame tên fraSearch vào Form. Để lên frame nầy một listbox tên List1 để tựa các sách.

Ta sẽ cho ImgSearch hiển thị hình một ống nhòm nên bạn hãy click vào bên phải property Picture trong Properties Window để chọn Icon BINOCULR.ICO từ folder E:\Program Files\Microsoft Visual Studio\Common\Graphics\Icons\Misc.

Khi người dùng nhấp vào ImgSearch, chương trình sẽ tự động tìm kiếm các sách có tựa được người dùng đánh vào trong TextBox. Sự kiện ImgSearch được xử lý như sau:

Private Sub ImgSearch_Click()

fraSearch.Visible = True

Dim SrchRS As DAO.Recordset

Dim SQLCommand As String

SQLCommand = "Select * from Titles where Title LIKE '"&"*"&txtSearch&"*"&"' ORDER BY Title"

Set SrchRS = myDB.OpenRecordset(SQLCommand)

If SrchRS.RecordCount>0 Then

List1.Clear

With SrchRS

Do While Not SrchRS.EOF

List1.AddItem .Fields("Title")

.MoveNext

Loop

End With

End If

End Sub

Trong câu SELECT trên ta dùng toán tử LIKE, nội dung của TextBox, có dấu * ở hai bên. Dấu * là chỗ có (hay không có) chữ gì cũng được.

Bước 12: Lưu dự án và chạy chương trình. Kiểm tra kết quả.

Bài tập 4-4

THÍ DỤ VỀ SỬ DỤNG DAO

Bài tập này nhằm mục đích giới thiệu về cách thức sử dụng điều khiển dữ liệu và thư viện DAO trong việc thiết kế một Form nhập liệu hoàn chỉnh cho bảng THangHoa trong CSDL HangHoa.mdb. Giao diện cùng với mã lệnh chỉ mang tính chất gợi ý; sinh viên có thể thực hiện theo ý riêng của mình.

Bước 1: Thiết kế form như sau:

Hình IV.13: Sử dụng Data Control

+

*

Với *: DataControl: Điều khiển dữ liệu

DatabaseName: HangHoa.MDB

RecordSource: THangHoa

Name: datHH

Bước 2: Thiết lập các thuộc tính cho các TextBox&ComboBox.

DataSource: DatHH

DataField:

Bước 3: đặt điều khiển lưới lên form (+) sau khi đã tham chiếu đến nó

(project\components\microsoft data bound grid control 5.0 sp3).

DataSource: datHH

Chạy chương trình, ta được kết quả như trên.

Bước 4: Sự kiện cmdThem_Click

Private Sub cmdThem_Click()

datHH.Recordset.AddNew

DoiTThai False

End Sub

Trong đó:

Private Sub DoiTThai(ByVal TThai As Boolean)

cmdThem.Enabled = TThai

cmdSua.Enabled = TThai

cmdXoa.Enabled = TThai

cmdHuy.Enabled = Not TThai

cmdLuu.Enabled = Not TThai

End Sub

Bước 4: Sự kiện cmdSua_Click&sự kiện cmdXoa_Click:

Private Sub cmdSua_Click()

datHH.Recordset.Edit

DoiTThai False

End Sub

Private Sub cmdXoa_Click()

On Error GoTo Xuly

datHH.Recordset.Delete

Exit Sub

Xuly:

MsgBox Err.Description, vbCritical + vbSystemModal, "Loi"

End Sub

Bước 5: sự kiện cmdluu_click&Cmdhuy_click

Private Sub cmdHuy_Click()

'dathh.Database =

datHH.Recordset.CancelUpdate

DoiTThai True

End Sub

Private Sub cmdLuu_Click()

datHH.Recordset.Update

DoiTThai True

End Sub

Bước 6: Sự kiện Form_Load:

Private Sub Form_Load()

DoiTThai True

End Sub

- Có nhận xét gì nếu khi chạy chương trình, ta thêm mới một mẩu tin có khóa là Mahang trùng với một MaHang đã có. Để giái quyết ta làm thế nào?

Bài tập tự làm

Sử dụng CSDL HangHoa.mdb, anh (chị) hãy:

  1. Cải tiến Form nhập ở bài 4-4, sao cho trường MaLoai phải được lấy từ các MaLoai của bảng TLoaiHang. Hơn nữa thay vì hiển thị MaLoai, ta hiển thị TenLoai cho dễ theo dõi; nhưng khi thêm vào bảng THangHoa, ta lại thêm vào MaLoai của TenLoai đó.

Bằng cách sử dụng DAO (tương tự 4-3), anh (chị) hãy:

  • Thiết kế Form nhập liệu cho bảng THANGHOA.
  • Thiết kế Form nhập liệu cho bảng TNHANVIEN.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Giáo trình visual basic. OpenStax CNX. Jul 29, 2009 Download for free at http://cnx.org/content/col10777/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Giáo trình visual basic' conversation and receive update notifications?

Ask