LblDienthoai, LblFax, LblCompany, LblUtien, LblEmail. Ngoài ra, ta sử dụng một Label có tên là LblDS có Caption là “Danh sách khách hàng”.
Tiếp theo, chúng ta phải ràng buộc mỗi TextBox với từng trường (field) cụ thể của bảng (Table) tblDS_KH dựa vào hai thuộc tính quan trọng của TextBox là DataSource và DataField. Ở đây DataSource của 8 textbox đều là Adodc1:
Đối với thuộc tính DataField của txtmakh, ta nhấp chuột vào nút của hộp Combobox để hiển thị tất cả các trường trong bảng tblDS_KH: makh, tenkh, diachi, dienthoai, fax, company, utien, email, rồi nhấp chuột chọn trường “makh”:
Ta làm tương tự cho các textbox còn lại.
Thực thi chương trình bằng cách nhấp nút (Start) hoặc nhấn phím F5, ta thấy kết quả của chương trình như sau:
Nhấn chuột vào ô sẽ hiển thị bản ghi kế tiếp sau. Nhấn chuột vào ô sẽ hiển thị bản ghi cuối cùng. Nhấn chuột vào ô sẽ hiển thị bản ghi ở ngay trước bản ghi hiện thời. Nhấn chuột vào ô sẽ hiển thị bản ghi đầu tiên.
5.6.4. Ví dụ minh hoạ
Cho cơ sở dữ liệu qltv.mdb chứa trong thư mục “D:Bai tap VBADO Form luoi”, gồm 3 bảng dữ liệu:
Sach(Mas, Tens, Tacgia, Nhaxb, Namxb) Docgia(Madg, Tendg, Diachi, Dienthoai) Muontra(Madg, Mas, Ngaym, Ngayht, Ngayt)
Hãy lập một chương trình (project), trong đó có form Sách dùng để thao tác với bảng Sach theo mẫu sau:
Giải:
Bước 1. Đưa điều khiển ADODC, DataCombo, DataGrid vào hộp công cụ: Từ menu hệ thống, chọn Project/Components, đánh dấu kiểm vào các mục chọn như hình sau:
Khi đó trên hộp công cụ sẽ có các điều khiển sau:
Bước 2. Đưa vào form điều khiển ADODC và gán giá trị cho một số thuộc tính sau:
Name = AdodcSach
Connectiontring = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Bai tap VBADO Form luoiqltv.mdb;Persist Security Info=False”
RecordSource = Sach
Bước 3. Đưa vào form điều khiển DataGrid và thực hiện các thao tác sau:
Gán giá trị cho một số thuộc tính sau:
Name = DataGridSach AllowAddNew =True AllowDelete =True DataSource =AdodcSach
Nhấn phải chuột vào điều khiển DataGrid chọn Edit, sau đó nhấn phải chuột vào điều khiển DataGrid 3 lần nữa, mỗi lần chọn Insert để thêm 3 cột vào DataGrid
Tiếp tục nhấn phải chuột vào điều khiển DataGrid chọn Property để mở hộp thoại Property Pages, như hình sau:
Trên hộp thoại Property Pages, lần lượt chọn cột trong mục Column, sau đó gán tiêu đề cho cột trong mục Caption và chọn nguồn dữ liệu (tên trường) trong mục DataField. Có thể thiết lập Font, màu, định dạng cho các cột bằng cách chọn các Tab: Font, Color, Format...trên hộp thoại Property Pages.
Bước 4. Đưa thêm điều khiển Adodc thứ hai vào form và thiết lập các thuộc tính sau:
Name = AdodcTacgia
Connectiontring = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Bai tap VBADO Form luoiqltv.mdb;Persist Security Info=False”
RecordSource = “Select distinct Tacgia from Sach”
Bước 5. Đưa thêm điều khiển Adodc thứ ba vào form và thiết lập các thuộc tính sau:
Name = AdodaNhaxb
Connectiontring = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Bai tap VBADO Form luoiqltv.mdb;Persist Security Info=False”
RecordSource = “Select distinct Nhaxb from Sach”
Bước 6. Đưa điều khiển Frame lên form rồi thiết lập giá trị cho thuộc tính Caption của nó là “Lọc theo”. Sau đó, đưa điều khiển 2 điều khiển DataCombo lên trên Frame đó, rồi thiết lập giá trị cho các thuộc tính của hai điều khiển DataCombo. Đối với DataCombo thứ nhất:
Name: cboTacgia BoundColumn =Tacgia DataField =Tacgia DataSource =AdodcTacgia ListField =Tacgia RowSource =AdodcTacgia
Đối với DataCombo thứ hai, ta thiết lập giá trị cho một số thuộc tính sau:
Name = cboNhaxb BoundColumn = Nhaxb DataField = Nhaxb DataSource = AdodcNhaxb ListField =Nhaxb RowSource = AdodcNhaxb
Bước 7. Đưa thêm 8 điều khiển CommandButton và 2 điều khiển Label lên form, xác định vị trí và các thước của tất cả các điều khiển trên form cho phù hợp, rồi thiết lập một số thuộc tính của các điều khiển mới đưa lên form theo bảng sau:
Điều khiển | Thuộc tính | Giá trị | Ghi chú | |
1 | CommandButton | Name | cmdfirst |
Có thể bạn quan tâm!
- Lập trình Window - 21
- Lập trình Window - 22
- Lập trình Window - 23
- Tạo Trình Thiết Kế Môi Trường Dữ Liệu Sử Dụng Data View
- Lập trình Window - 26
- Lập trình Window - 27
Xem toàn bộ 248 trang tài liệu này.
Caption | Về đầu | |||
2 | CommandButton | Name | cmdpre | |
Caption | Về trước | |||
3 | CommandButton | Name | cmdadd | |
Caption | Thêm | |||
4 | CommandButton | Name | cmdedit | |
Caption | Sửa | |||
5 | CommandButton | Name | cmddel | |
Caption | Xóa | |||
6 | CommandButton | Name | cmdundo | |
Caption | Bỏ lọc | |||
7 | CommandButton | Name | cmdnext | |
Caption | Về sau | |||
8 | CommandButton | Name | cmdlast | |
Caption | Về cuối | |||
9 | Label | Caption | Tác giả | |
10 | Label | Caption | Nhà xuất bản |
Đến đây ta thu được form có dạng sau
Bước 8. Mở cửa sổ Code của form frmSach và gò vào các dòng lệnh sau:
Dim Cnn As New ADODB.Connection Private Sub cbonhaxb_Click(Area As Integer) Dim x As String
If cbotacgia.Text = "" Then
x = "select * from sach where nhaxb like '" & Trim(cbonhaxb.Text) & "'"
Else
x = "select * from sach where (tacgia like '" & Trim(cbotacgia.Text) & "'" & ") and ( nhaxb like '" & Trim(cbonhaxb.Text) & "')"
End If
Dim rsxem As New ADODB.Recordset
rsxem.CursorLocation = adUseClient
rsxem.Open x, Cnn, adOpenStatic, adLockReadOnly Set DataGrid1.DataSource = rsxem
End Sub
„---------------------------------------------------------------------------------------
Private Sub cbotacgia_Click(Area As Integer) Dim x As String
If cbonhaxb.Text = "" Then
x = "select * from sach where tacgia like '" & Trim(cbotacgia.Text) & "'"
Else
x = "select * from sach where (tacgia like '" & Trim(cbotacgia.Text) & "'" & ") and ( nhaxb like '" & Trim(cbonhaxb.Text) & "')"
End If
Dim rsxem As New ADODB.Recordset rsxem.CursorLocation = adUseClient
rsxem.Open x, Cnn, adOpenStatic, adLockReadOnly Set DataGrid1.DataSource = rsxem
End Sub
„---------------------------------------------------------------------------------------
Private Sub cmdadd_Click() Adodc1.Recordset.AddNew
End Sub
„---------------------------------------------------------------------------------------
Private Sub cmddel_Click() Adodc1.Recordset.Delete
End Sub
„---------------------------------------------------------------------------------------
Private Sub cmdedit_Click()
If cmdedit.Caption = "Söa" Then cmdedit.Caption = "L•u"
Else
Adodc1.Recordset.Update Form1.Refresh cmdedit.Caption = "Söa"
End If End Sub
„---------------------------------------------------------------------------------------
Private Sub cmdfirst_Click() Adodc1.Recordset.MoveFirst
End Sub
„---------------------------------------------------------------------------------------
Private Sub cmdlast_Click() Adodc1.Recordset.MoveLast
End Sub
„---------------------------------------------------------------------------------------
Private Sub cmdnext_Click() Adodc1.Recordset.MoveNext
End Sub
„---------------------------------------------------------------------------------------
Private Sub cmdpre_Click() Adodc1.Recordset.MovePrevious
End Sub
Private Sub cmdundo_Click()
Set DataGrid1.DataSource = Adodc1 End Sub
„---------------------------------------------------------------------------------------
Private Sub Form_Load()
Cnn.ConnectionString = "provider=microsoft.jet.oledb.4.0; data source= " & App.Path & "qltv.mdb"
Cnn.Open End Sub
Bước 9. Chạy chương trình (Nhấn F5), ta thu được form kết quả như sau: