<< Chapter < Page Chapter >> Page >

Thêm một ListBox nữa vào Form1 tên là List3, sau đó thêm vào đoạn mã sau trong hàm xử lý sự kiện mnuOpen trước lệnh End If:

List2.Clear

List3.Clear

Text1.Text = ""

For Each qd In db.QueryDefs

List3.AddItem qd.Name

Next

Bước 11: Chạy chương trình, kiểm tra xem điều gì xảy ra trên List3.

Đóng chương trình lại, thêm đoạn mã sau trong hàm xử lý sự kiện List3_Click:

Private Sub List3_Click()

For Each qd In db.QueryDefs

If qd.Name = List3.List(List3.ListIndex) Then

Text1.Text = qd.SQL

End If

Next

End Sub

Chạy chương trình, mở BIBLIO.MDB, nhấp vào List3. Quan sát kết quả.

Bước 12: Chúng ta lưu câu SQL nhập từ bàn phím vào trong CSDL trên với một tên cho trước. Ý tưởng chính là ta kiểm tra câu SQL được nhập đó, nếu nó không có lỗi ta sẽ lưu vào CSDL.

Thêm một nút nhấn (Button) vào Form1 với Name: Command2, Caption: Save Query. Sau đó xử lý sự kiện Command2_Click như sau:

Private Sub Command2_Click()

' Luu cau SQL

Set qd = New QueryDef

qd.SQL = Trim$(Text1.Text)

MsgBox "Cau SQL duoc luu la: "&qd.SQL

' Nhap ten cua cau SQL

qd.Name = InputBox("Nhap ten cau SQL: ")

db.QueryDefs.Append qd

End Sub

Bước 13: Chạy chương trình, mở BIBLIO.MDB, chọn câu một query, chạy nó (Run query); sau đó nhấp vào nút Save Query để lưu lại với tên ta phải nhập vào từ bàn phím. Để kiểm tra, hãy mở lại tập tin trên (File\Open): câu query trên được hiển thị trong List3.

Hình bên dưới hiển thị kết quả khi thực thi chương trình.

Hình iv.10: kết quả thực thi ứng dụng

Bài 4-3

Mô hình dao

Bước 1: Trong bài này ta sẽ tìm hiểu những cách lập trình căn bản với cơ sở dữ liệu MS Access qua kỹ thuật DAO mà không cần dùng đến Control Data  như bài tập 4-1. Ta sẽ cần đến các đối tượng (Object) trong thư viện DAO, do đó nếu bạn mở một dự án VB mới thì hãy dùng Menu Command Project | References... để chọn Microsoft DAO 3.51 Object Library bằng cách click checkbox bên trái như trong hình dưới đây.

Hình IV.11: Tham chiếu đến thư viện DAO

Bước 2: Sau đó trong cửa sổ soạn thảo mã lệnh của Form chính ta sẽ khai báo biến myDatabase kiểu DAO database và biến myRS cho một DAO recordset. Ở đây ta nói rõ Database và Recordset là thuộc loại DAO để phân biệt với Database và Recordset thuộc loại ADO (ActiveX Data Object) sau này.

Hình IV.12: Khai báo biến

Bước 3: Bây giờ hãy đặt lên Form chính, tên frmDAO, 4 labels với captions: Title, Year Published, ISBN và Publisher ID. Kế đó cho thêm 4 textboxes tương ứng và đặt tên chúng là txtTitle, txtYearPublished, txtISBN và txtPublisherID.

Điều ta muốn làm là khi Form mới được thực thi, nó sẽ lấy về từ cơ sở dữ liệu một Recordset chứa tất cả records trong table Titles theo thứ tự abc của field (trường) Title và hiển thị record đầu tiên.

DÙNG TỪ KHÓA SET

Bước 4: Trước hết là mở một cơ sở dữ liệu dựa vào tên tập tin của Access database:

Set myDB = OpenDatabase(AppFolder&"BIBLIO.MDB")

Để ý từ khóa Set trong đoạn mã trên. Đó là vì myDB là một Pointer (con trỏ) chỉ đến một Object (đối tượng). Mặc dù từ đây về sau ta sẽ dùng myDB như một Database (cơ sở dữ liệu) theo cách giống như bất cứ một biến thuộc kiểu dữ liệu nào khác, nhưng khi chỉ định lần đầu là nó từ đâu đến thì ta dùng chữ Set, để nói rằng thật ra myDB không phải là Object Database, nhưng là Pointer đến Object Database.

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