MỘT SỐ BÀI TẬP THỰC HÀNH
2. Tạo giao diện và thiết lập thuộc tính a. Thiết lập Form FrmQLDT
- Tạo một Project mới như giao diện ở phần I. Thiết kế Menu điều khiển cho giao diện này.
* Bảng các thuộc tính
Đối tượng Những thuộc tính Giá trị
From Name FromQLDT
Caption Quản lý số điện thoại
* Bảng thiết kế Menu Editor
Caption Name
& Cap nhat ...&Ma vung ...&Danh ba
Mnucn Mnudsv Mnusdb
& Xu Ly
...&Tim kiem ...&In danh ba
Mnux1 Mnutk MnuIn
& Thoát Mnut
+ Lưu Project với tên QLDT.vbp, lưu tên Form với tên: FrmQLDT.frm - Tạo thêm một Form mới, lưu với tên FrmTinh.frm.
*
Bảng các thuộc tính
Đối tượng Những thuộc tính Giá trị Form
Name Caption
FrmTinh
Cập nhật mã vùng
Data
Name Caption Connect DatabaseName RecordSource
Data1 Data1 Access C:\QLDT Tinh
Label 1 Name
Caption
Lb1tieude Nhập mã vùng
Label 2 Name
Caption
Lb1mv Mã vùng
Label 3 Name
Caption
Lb1tv Tên vùng Texbox 1
Name DataField DataSource
Txtmavung Mavung Data1 Texbox 2
Name DataField DataSource
TxtTinh Tinh Data1
Command Button1
Name Caption
CmdThem
&Thêm Command
Button2
Name Caption
CmdLuu
&Lưu Command
Button3
Name Caption
CmdXoa
&Xóa Command
Button4
Name Caption
CmdTruoc
&Trước Command
Button5
Name Caption
CmdSau
&Sau Command
Button6
Name Caption
CmdDong
&Đóng
** Giao diện như sau:
hình 68 Viết lệnh
- Nút Them
Private Sub CmdThem_Click () Data1.Recordset.AddNew End Sub
- Nút Lưu
Private Sub CmdLuu_Click () Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified End Sub
- Nút Xoá
Private Sub CmdXoa_Click()
If MsgBox (‘’Bạn sẽ xóa mất dữ liệu ‘’, vbYesNoCancel + vbCritical, ‘’thông báo’’)
= vbYes Then.
Data1. Recordset.Delete Data1. Recordset.Move last End if
End Sub Nút trước
Private Sub cmdtuoc_click () Data1. Recordset.Move.Privious End Sub
Nút sau:
Private Sub cmdsau_click () Data1. Recordset.Move.Next End Sub
Nút đóng :
Private Sub cmDong_click () Unload Me
End Sub
- Tạo thêm một Form mới, lưu với tên Frmsodanhba.frm
*Giao diện như sau :
Hình 70
Bảng thuộc tính
Đối tượng Những thuộc tính Giá trị
From Name
Caption
FrmTinh
Cập nhật mã vùng
Data Name
Caption
Data1 Data1
Connect
Database Name Record Source
Access C:\QLDT Sodanhba
Label 1 Name
Caption
Lb1tieude
Nhập sổ danh bạ
Label 2 Name
Caption
Lb1mv Mã vùng
Label3 Name
Caption
Lb1sdt Số điện thoại
Label 4 Name
Caption
Lb1ht Họ lót
Label 5 Name
Caption
Lb1ten Tên
Label 6 Name
Caption
Lb1dc Địa chỉ Texbox 1
Name Data Field Data Source
Txtmavung Mavung Data1 Texbox 2
Name Data Field Data Source
Txtsodt Sodt Data1 Texbox 3
Name Data Field Data Source
TxtHo Ho Data1
Texbox4 Name
Data Field Data Source
TxtTen Ten Data1
Texbox5 Name
Data Field Data Source
Txtdiachi Diachi Data1 Command
Button1
Name Caption
CmdThem
&Thêm Command
Button2
Name Caption
CmdLuu
&Lưu Command
Button3
Name Caption
CmdXoa
&Xóa
Command Name CmdTruoc
Button4 Caption &Trước Command
Button5
Name Caption
CmdSau
&Sau Command
Button6
Name Caption
CmdDong
&Đóng
* Viết lệnh - Nút Them
Private Sub CmdThem_Click () Data1.Recordset.AddNew End Sub
- Nút Lưu
Private Sub CmdLuu_Click () Data1.UpdateRecord
Data1.Recordset.Bookmark = Data1.Recordset.LastModified End Sub
- Nút Xoá
Private Sub CmdXoa_Click()
If MsgBox(‘’Bạn sẽ xóa mất dữ liệu‘’, vbYesNoCancel + vbCritical, ‘’thông báo’’) = vbYes Then.
Data1. Recordset.Delete Data1. Recordset.Move last End If
End Sub Nút trước
Private sub Cmdtruoc_click () Data1. Recordset.Move.Previous End Sub
Nút sau:
Private sub Cmdsau_click () Data1. Recordset.Move.Next End Sub
Nút đóng :
Private sub CmdDong_click ()
Unload Me End Sub
- Tạo thêm một Form mới, lưu với tên FrmTimkiem.frm - Giao diện như sau:
Hình 72 - Bảng các thuộc tính
Đối tượng Những thuộc tính Gía trị
Form Name
Caption
Frm Timkiem Tim Kiem
Data Name
Caption
DatabaseName
Data1 Data1
D:\Tailieu\QLDT
MSFlexGrid Name
DataSource
GrdHienthi Data1
Labe11 Name
Caption
Lblmv Mã vùng
Labe12 Name LblTbao
Command Button1 Name Caption
CmdTimkiem
&Timkiem Command Button2 Name
Captipn
CkieeDong
&Đóng - Viết lệnh
Option Explicit Dim St As String - Nút tìm kiếm
Private Sup cmdTimkiem_Click ()
BuildSQL
DatDThoai.Recordsource = St TxtTentinh.DataField = ”Tentinh’’
DatDThoai.Refresh
LbTbao.Caption= ’’Danh sách mã vùng’’+TxtTentinh.Text+’’:’’
End Sub
-Thủ tục Form load PrivateSup Form_Load() TxtMavung.Text =’’’’
TxtTentinh.Text =’’’’
LblTbao.Caption =’’’’
EndSub
-Thủ tục cho câu lệnh SQL PublicSub BuildsQL()
St =’’SELECT{Ho},{Ten},Tinh.Tentinh,Diachi,Sodt’’
St =St + ‘’FROM Sodanhba,Tinh’’
St = St + ‘’ WHERE Sodanhba = Tinh.Mavung and Sodanhba.Mavung= ’’+’’& TxtMavung.Text &’’“
EndSup - Nút Đóng
PrivateSub CmdDong_Click () Unload Me
EndSub
- Tạo thêm một Form mới, lưu với tên FrmBaocao.frm
- Giao diện như sau:
- Bảng các thuộc tính
Đối tượng Những thuộc tính
Gía trị
From Name
Caption
FrmBaocao In danh bạ
Labe11 Name
Caption
Lblmv Mã vùng
Text Box1 Name TxtMavung Command
Button1
Name Caption
CmdHienthi
&Hiển thị Command
Button2
Name Caption
CkieeDong
&Đóng
* Viết lệnh - Nút Hiển thị
Private Sub CmdHienthi_Click ()
DataEnvironment1.Command1 (TxtMavung.Text)
DataReport1. Title = “MA VUNG’’ & ‘’ ‘’ + TxtMavung.Text DataReport1.Show
End Sub - Nút Đóng
Private Sub CmdDong_Click () Unload Me
End Sub
- Thiết kế Report với tên DataReport1 để in danh sách mã vùng
* Kết nối dữ liệu Access bằng điều khiển DataEnvironment
Tại cửa sổ thiết kế Form FrmTimkiem ta thực hiện như sau:
+ Từ trình đơn Project, chọn Add DataEnvironment và thực hiện việc kết nối dữ liệu kết quả như hình dưới.
Hình 74 Trong đó:
+ DataEnvironment có thuộc tính name là DataEnvironment1
+ Connection là tập tin ...\Dienthoai.mdb được tạo trong Access. Thuộc tính name của Conection là Conection1.
+ Đối tượng Command có thuộc tính name là Command1 được xây dựng là một câu lệnh SQL trong đó chứa tham số dùng để truy xuất dữ liệu. Cách thực hiện như sau:
Trong hộp Command Properties, chọn lớp General. Click chọn mục SQL Statement, và viết câu lệnh SQL vào khung SQL Statement như dưới đây:
Parameters St text;
Select *
Form Sodanhba, Tinh
Where Sodanhba.Mavung = Tinh.Mavung And Tinh.Mavung = St;
Hình 75
* Thiết kế Data Report:
+ Tại cửa sổ thiết kế Form FrmTimkiem chọn lệnh Project\ Add
Đối tượng Những thuộc tính Gía trị RptTextbox
Name Datafield DataMember Font
RptMavung Mavung Command1 .Vntime RptTextbox
Name Datafield DataMember Font
RptTentinh Tentinh Command1 .Vntime RptTextbox
Name Datafield DataMember Font
RptHo Ho
Command1 .Vntime RptTextbox
Name Datafield DataMember Font
RptTen Ten Command1 .Vntime RptTextbox
Name Datafield DataMember Font
RptSodt Sodt Command1 .Vntime RptTextbox
Name Datafield DataMember Font
RptDiachi Diachi Command1 .Vntime
Data Report để tạo. Sau đó chọn DataEnvironment1 của DataEnvironment cho thuộc tính DataSource, và chọn Command1 của Command cho thuộc tính DataMember trong hộp thoại Properties.
+ Tạo các đối tượng Textbox trong phần Detail của Report và chọn điều khiển Command1 trong khung DataMember và trường dữ liệu cần hiển thị trong khung DataField theo bảng thuộc tính sau:
+ Thực hiện như màn hình thiết kế dưới đây:
Sau cùng chọn Form FrmQLDT để viết code cho các mục trên màn hình menu Private Sub Mnudbv_Click ()
FrmBaocao.Show End Sub
Private Sub Mnudsv_Click () FrmSodanhba.Show End Sub
Private Sub Mnut_Click () Unload Me
End Sub
Private Sub Mnutk_Click () FrmTimkiem.Show End Sub