Bài giảng Microsoft Visual Basic - Bài 3: Sử dụng DataCombo, DataList và DataGrid
DataGrid là một điều khiển ActiveX, nên muốn sử dụng chúng ta phải đưa vào ứng dụng thông qua chức năng Project – Components –
Microsoft DataGrid Control 6.0.
Điều khiển này chứa trong tập tin MSDATGRD.OCX
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Microsoft Visual Basic - Bài 3: Sử dụng DataCombo, DataList và DataGrid", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Microsoft Visual Basic - Bài 3: Sử dụng DataCombo, DataList và DataGrid
MICROSOFT VISUAL BASIC I, Sử dụng DataGrid hiển thị dữ liệu 1, Thiết lập DataGrid trên Form 2, Kết nối DataGrid với nguồn dữ liệu 3, Truy xuất nội dung trên DataGrid II, Sử dụng DataCombo và DataList 1, Giới thiệu 2, Chương trình ứng dụng Bài 3 : Sử dụng DataCombo, DataList và DataGrid Menu Tiếp a, Đưa DataGrid vào ứng dụng : DataGrid là một điều khiển ActiveX, nên muốn sử dụng chúng ta phải đưa vào ứng dụng thông qua chức năng Project – Components – Microsoft DataGrid Control 6.0... Điều khiển này chứa trong tập tin MSDATGRD.OCX 1, Thiết lập DataGrid trên Form Menu Về 1, Thiết lập DataGrid trên Form b, Thiết kế lại DataGrid DataGrid khi đưa vào form mặc định chỉ có hai cột, muốn tăng giảm cột ta có thể làm như sau : + nhấn chuột phải trên DataGrid và chọn Edit trên shortcut menu + Sau đó, nhấn chuột phải lần thứ hai trên DataGrid Delete : để xoá cột đang được chọn trên DataGrid Insert : để chèn thêm một cột vào trước cột đang được chọn trên DataGrid Append : thêm một cột vào vị trí sau cùng trên DataGrid Có thể định độ rộng của cột bằng chuột khi thấy xuất hiện con trỏ sau Menu 2, Kết nối DataGrid với nguồn dữ liệu Ta liên kết DataGrid với Recordset qua thuộc tính Datsource : Set .DataSource = Ví dụ : Dùng DataGrid hiển thị nội dung của bảng sinhvien Dim rsSinhVien As New ADODB.Recordset Sub LayNguonSinhVien() If rsSinhVien.State = 1 Then rsSinhVien.Close sql = "SINHVIEN" rsSinhVien.Open sql, cnn, 3, 3 Set DataGrid1.DataSource = rsSinhVien End Sub Private Sub Form_Load() Call Mo_CSDL Call LayNguonSinhVien End Sub Menu Tiếp 3, Truy xuất nội dung trên DataGrid a, Cách 1: Trước khi lấy nội dung của một ô bất kỳ trên DataGrid, ta dùng thuộc tính Col và Row để chuyển ô hiện hành trên DataGrid đến ô muốn lấy nội dung và dùng thuộc tính Text để lấy nội dung. (lưu ý cột, dòng đánh số từ 0) Ví dụ : Muốn lấy trị của ô ở cột thứ 3, dòng thứ 4 DataGrid1.Col = 2 DataGrid1.Row = 3 MsgBox DataGrid1.Text Menu Về 3, Truy xuất nội dung trên DataGrid b, Cách 2: Sử dụng thuộc tính Text của đối tượng Columns() trên DataGrid để lấy nội dung trên dòng hiện hành : -Ví dụ : Muốn lấy trị cột thứ 3 của dòng hiện hành : MsgBox DataGrid1.Columns(2).Text Menu 1, Giới thiệu DataList và DataCombo là hai control đặc biệt có khả năng kết nối với nguồn dữ liệu. Hai control này có thể sử dụng 2 nguồn dữ liệu, một để hiển thị, một để cập nhật dữ liệu. a, Các thuộc tính dùng khi muốn cập nhật dữ liệu : DataSource : chứa recordset nguồn DataField : chứa Field ( trường dữ liệu) b, Các thuộc tính hiển thị dữ liệu RowSource : chứa nội dung các mẩu tin ListField : chọn trường hiển thị nội dung BoundColumn : cột nội dung lưu trữ ( không hiển thị) BoundText : nội dung lưu trữ ( không hiển thị) Menu Tiếp Dim rsKhoa As New ADODB.Recordset Sub Nguon_Khoa() If rsKhoa.State = 1 Then rsKhoa.Close sql = "KHOA" Set DataCombo1.DataSource = rsKhoa DataCombo1.DataField = "MaKhoa" Set DataCombo1.RowSource = rsKhoa DataCombo1.ListField = "TenKhoa" DataCombo1.BoundColumn = "MaKhoa" End Sub Private Sub Form_Load() Call Mo_CSDL Call Nguon_Khoa End Sub 2, Chương trình ứng dụng a, Ví dụ về cách lấy nguồn cho DataCombo (Trên 1 RecordSet) Menu Về Tiếp 2, Chương trình ứng dụng b, Ví dụ về kết hợp sử dụng TextBox và DataCombo Phân tích : + Nguồn dữ liệu sử dụng để cập nhật là Bảng Sinh Viên + Nhưng ở Datacombo Khoa lại phải hiển thị tên khoa. Mà trong bảng Sinh viên chỉ có Mã Khoa. Như vậy, ta phải sử dụng 2 recordset trên DataCombo để lấy được dữ liệu ở Sinh Viên và Khoa. + Khi di chuyển thì phải chỉ rõ vị trí bản ghi hiện hành trên tổng số bản ghi. Menu Về Tiếp 2, Chương trình ứng dụng Các bước giải bài tập trên : 1, Viết chương trình kết nối CSDL (trong Module) 2, Khai báo các Recorset sử dụng cho chương trình 3, Viết thủ tục lấy nguồn hiển thị cho DataCombo (bảng Khoa) 4, Viết thủ tục lấy nguồn chính cho chương trình (bảng SinhVien) 5, Viết thủ tục Form_Load() để thiết lập kết nối dữ liệu 6, Viết lệnh cho các nút lệnh di chuyển 7, Viết lệnh hiển thị vị trí hiện hành / tổng bản ghi Ví dụ b Public cnn As New ADODB.Connection Public duong_dan As String, strProvider As String Sub Mo_CSDL() duong_dan = App.Path & "\CSDL.MDB" strProvider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source =" & duong_dan If cnn.State = 1 Then cnn.Close cnn.CursorLocation = adUseClient cnn.Open strProvider End Sub 1, Viết chương trình kết nối CSDL (trong Module) Ví dụ b 2, Khai báo các Recorset sử dụng cho chương trình Dim rsSinhVien As New ADODB.Recordset Dim rsKhoa As New ADODB.Recordset Ví dụ b 3, Viết thủ tục lấy nguồn hiển thị cho DataCombo (bảng Khoa) Sub LayNguonKhoa() If rsKhoa.State = 1 Then rsKhoa.Close sql = "KHOA" rsKhoa.Open sql, cnn, 3, 3 Set dcboKhoa.RowSource = rsKhoa dcboKhoa.ListField = "TenKhoa" dcboKhoa.BoundColumn = "MaKhoa" End Sub Ví dụ b 4, Viết thủ tục lấy nguồn chính cho chương trình (bảng SinhVien) Sub LayNguonSinhVien() If rsSinhVien.State = 1 Then rsSinhVien.Close sql = "SINHVIEN" rsSinhVien.Open sql, cnn, 3, 3 Set txtMasv.DataSource = rsSinhVien txtMasv.DataField = "MaSV" Set txtHoten.DataSource = rsSinhVien txtHoten.DataField = "HoTenSV" Set txtNgaysinh.DataSource = rsSinhVien txtNgaysinh.DataField = "Ngaysinh" Set txtDiachi.DataSource = rsSinhVien txtDiachi.DataField = "Diachi" Set dcboKhoa.DataSource = rsSinhVien dcboKhoa.DataField = "MaKhoa" End Sub Ví dụ b 5, Viết thủ tục Form_Load() để thiết lập kết nối dữ liệu Private Sub Form_Load() Call Mo_CSDL Call LayNguonKhoa Call LayNguonSinhVien End Sub Ví dụ b 6, Viết lệnh cho các nút lệnh di chuyển Private Sub cmdDau_Click() rsSinhVien.MoveFirst End Sub Private Sub cmdTruoc_Click() If rsSinhVien.Absolut
File đính kèm:
- bai_giang_microsoft_visual_basic_bai_3_su_dung_datacombo_dat.pdf