I. TRUY XUẤT DỮ LIỆU BẰNG ĐỐI TƯỢNG ĐK CÓ KẾT NỐI CSDL
5. Sử dụng Databound Grid Control (DBGrid)
Databound Grid control là đối tượng điều khiển giúp trình bày nội dung bảng dữ liệu dưới dạng bảng (dòng, cột), nó có các thuộc tính kiểm soát thao tác trên bảng dữ liệu như sửa chữa (edit), thêm mới (addnew) hoặc xóa một mẫu tin trong bảng. Hình dưới trình bày một form sử dụng DBGrid để thao tác trên bảng Pulishers (Nhà xuất bản) của cơ sở dữ liệu BIBLIO.MDB.
Hình 8.5: Trình bày dữ liệu bằng DBGrid
Phần này trình bày các bước sử dụng DBGrid để thao tác trên bảng dữ liệu kết hợp với Data control mà không cần viết lệnh.
Bước 1: Đặt Datacontrol lên form, điều chỉnh các thuộc tính: Database Name: Tên cơ sở dữ liệu,
Recordsource: Tên bảng dữ liệu ,
Bước 2: Nạp đối DBGrid lên ToolBox
Bấm tổ hợp phím Ctrl+T để mở hộp thoại Components, Check tại đối tượng Microsoft Databound Grid Control 5.0 Bấm nút OK
Biểu tương DBGrid xuất hiện trên Toolbox.
Bước 3: Đặt DBGrid lên form
Click tại biểu tượng DBGrid trên ToolBox,
Bước 4: Liên kết DBGrid với DataControl
Điều chỉnh thuộc tính Datasource của DBGrid thành tên của Datacontrol, Bấm phím phải trên DBGrid rồi chọn Retrieve fields
Tên các vùng của bảng dữ liệu sẽ xuất hiện trên dòng tiêu đề của DbGrid.
Hình 8.6: DBGrid sau khi nạp các vùng của bảng dữ liệu
Bước 5: Điều chỉnh các thuộc tính của DBGrid
Bấm phím phải trên DBGrid, chọn properties để mở Property Pages,
Hình 8.7: Thẻ General
Thẻ General
Ý nghĩa các tùy chọn được tóm tắt trong bảng sau:
AllowAddnew Cho phép nhập thêm mẫu tin mới trên DBGrid
AllowDelete Cho phép xóa mẫu tin ngay trên DBGrid bằng cách chọn mẫu tin rồi bấm phím Delete
AllowUpdate Cho phép thay đổi nội dung các mẫu tin ngay trên DBGrid
ColumnHeaders Có tiêu đề hay không
RowHeight Chiều cao dòng
RowdividerStyle Kiểu đường phân cách các mẫu tin trong DBGrid
Datamode DBGrid có kết nối với bảng dữ liệu hay không
Thẻ Keyboard
Định nghĩa cách sử dụng phím Tab trong DBGrid
Hình 8.8: thẻ Keyboard
Thẻ Columns
Thứ tự trình bày các Field trên các cột của DBGrid và định dạng giá trị trên mỗi cột.
Hình 8.9: Thẻ Columns
Thẻ Layout
Độ rộng cột và chếđộ căn nội dung trong cột của DBGrid, kiểu của vạch phân cách cột
Thẻ Color
Chọn màu chữ, màu nền trong DBGrid
Hình 8.11: Thẻ Color
Thẻ Font
Chọn kiểu chữ tiêu đề và nội dung DBGrid
Hình 8.12: Thẻ Font Ví dụ :
Sử dụng DBGrid để duyệt bảng Title trong cơ sở dữ liệu Biblio.mdb. Các bước thực hiện như sau:
Bước 1:Đặt DataControl lên form, điều chỉnh các thuộc tính theo bảng sau: Thuộc tính Giá trị Name Data1 Connect Access DatabaseName Biblio.mdb Recordsettype 1-dbOpenDynaset RecordSource Titles
Bước 2: Đặt DBGrid lên form, điều chỉnh các thuộc tính theo bảng sau: Thuộc tính Giá trị
AllowAddNew False AllowDelete False AllowUpdate False
Bước 3: Nạp các vùng của bảng dữ liệu Title lên DBGrid
Right-Click, chọn Retrieve Fields để lấy thông tin của và vùng thành các cột trong DBGrid.
Bấm F5 chạy chương trình. Di chuyển qua các mẫu tin trong DBGrid bằng các phím mũi tên hoặc sử dụng Datacontrol để di chuyển. Chương trình có dạng như hình 8.12.
Hình 8.13: Sử dụng DBGrid duyệt bảng Title
Thêm DBCombo chọn nhà xuất bản (Publisher) để người dùng có thể chọn chỉ xem các tựa sách theo một nhà xuất bản . Thêm TextBox chọn năm xuất bản để người dùng có thể chọn xem các tựa sách xuất bản trong một năm nào đó.
Đặt thêm các đối tượng lên form và qui định các thuộc tính như cho trong bảng sau:
Đối tượng Thuộc tinh Giá trị
Data2 Connect Access
DatabaseName Biblio.mdb
Recordsettype 2-dbOpenSnapshot
RecordSource SELECT PubID, Name FROM Publishers ORDER
BY PubID
TextBox Name TxtFlt
ComboBox Name cbFlt
List Year Published
Publisher
DBCombo Name cbPublisher
Datasource Data2
DataField PubID
Rowsource Data2
ListField Name
Button Name CmdApply
Caption Apply
Hình 8.14: Thêm đối tượng để thực hiện chức năng lọc Viết lệnh cho sự kiện click trên ComboBox
Private Sub CbFlt_Click() Select Case CbFlt.ListIndex Case 0 FltMode = 0 txtFlt.Visible = True cbPublisher.Visible = False Case 1 FltMode = 1 txtFlt.Visible = False cbPublisher.Visible = True End Select End Sub
Trong đó biến FltMode là biến chung được dùng để chọn chế độ xem theo năm xuất bản hay nhà xuất bản
Viết lệnh cho nút lệnh Apply Private Sub CmdApply_Click()
QryStr = "SELECT * FROM Titles WHERE " Select Case FltMode
Case 0
QryStr = QryStr & "[Year Published]= " & txtFlt.Text Case 1
QryStr = QryStr & "PubID= " & cbPublisher.BoundText End Select
Data1.RecordSource = QryStr Data1.Refresh
End Sub
Viết lệnh cho form_load qui định phần tửđầu tiên được chọn trong ComboBox Private Sub Form_Load()
CbFlt.ListIndex = 0 End Sub
Bấm F5 chạy chương trình, thay đối giá trị chọn năm xuất bản rồi bấm nút Apply để
xem tác dụng.