Lập trình Window - 24

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ể 1

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 2

Đố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 4

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ẽ 6

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ừ 11

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 12

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 13

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 đó 14

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:

TT

Điều khiển

Thuộc tính

Giá trị

Ghi chú

1

CommandButton

Name

cmdfirst


Có thể bạn quan tâm!

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 15

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:

End Sub Bước 9 Chạy chương trình Nhấn F5 ta thu được form kết quả như sau 16

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022