Bài giảng VB2(Bậc CĐ)

Chia sẻ bởi Nguyễn Văn Toàn | Ngày 07/05/2019 | 96

Chia sẻ tài liệu: Bài giảng VB2(Bậc CĐ) thuộc Excel

Nội dung tài liệu:

Lương Văn Vân
BÀI GIẢNG
VISUAL BASIC 2
MỘT SỐ TIÊU ĐIỂM CỦA MÔN HỌC
Tổng số tiết: 90 tiết
Lý thuyết: 30 tiết
Bài tập: 15 tiết
Thực hành: 45 tiết
Sinh viên cần phải được học trước các môn
Visual Basic 1
Hệ quản trị CSDL (Access hoặc SQL Server)
Câu lệnh SQL để truy vấn dữ liệu
Thi kết thúc môn học bằng hình thức thi viết hoặc thi thực hành.
Lập trình Visual Basic 2
2
TÀI LIỆU THAM KHẢO
1. Đặng Thế Khoa, Giáo trình lập trình ứng dụng Visual Basic, Trung tâm tin học, ĐH Khoa học tự nhiên - Đại học Quốc gia TP.Hồ Chí Minh.

2. VN-Guide, Giáo trình học và thực hành Visual Basic căn bản, Nhà xuất bản thống kê.

3. TS. Võ Trung Hùng, Bài giảng Lập trình Visual Basic, Đại Học Bách Khoa Đà nẵng, 2008.

4. Giáo trình Visual Basic 6.0, Đại học FPT 2007.
Lập trình Visual Basic 2
3
Lập trình Visual Basic 2
4
NỘI DUNG
Lập trình Visual Basic 2
5
Chương 1: TỔNG QUAN VỀ LẬP TRÌNH CSDL VỚI VB
CÁC KỸ THUẬT LIÊN KẾT CSDL
Kỹ thuật ODBC
ODBC (Open DataBase Connectivity) là lớp giao tiếp mở chung, cấp thấp (giao tiếp theo các lệnh API) hỗ trợ chương trình liên kết và làm việc với các CSDL khác nhau.
Lập trình Visual Basic 2
6
CÁC KỸ THUẬT LIÊN KẾT CSDL (tt)
Kỹ thuật DAO
DAO (Data Access Object) là lớp giao tiếp cấp cao gồm các đối tượng cho phép chương trình liên kết trực tiếp đến CSDL Access thông qua một cơ chế truy xuất dữ liệu Microsoft Jet.
Lập trình Visual Basic 2
7
CÁC KỸ THUẬT LIÊN KẾT CSDL (tt)
Kỹ thuật OLE DB
OLE DB là kỹ thuật truy cập dữ liệu cấp thấp, được phát triển từ kỹ thuật ODBC, cung cấp bộ giao tiếp API chung cho các ứng dụng cho phép truy xuất các CSDL có cấu trúc và không cấu trúc thông qua một trình giao tiếp OLE DB Provider.
Lập trình Visual Basic 2
8
CÁC KỸ THUẬT LIÊN KẾT CSDL (tt)
Kỹ thuật ADO
ADO (ActiveX Data Object) là lớp giao tiếp cấp cao được xây dựng dựa trên kỹ thuật OLE DB.
Lập trình Visual Basic 2
9
CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ
Lập trình Visual Basic 2
10
Connection: Là đối tượng được sử dụng dùng để tạo liên kết chương trình với CSDL

Provider: Tên của chương trình giao tiếp dữ liệu (OLE DB Provider)
Data source: Tên đầy đủ của tập tin CSDL cần liên kết
Username: Là thông tin tùy chọn quy định tên của người dùng được tổ chức bên trong CSDL
Password: Chuỗi mật khẩu tương ứng với Username truy cập CSDL
CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ
Lập trình Visual Basic 2
11
Command:
Đối tượng Command cho phép chương trình gọi thực hiện một câu truy vấn SQL trên CSDL hay gọi thực hiện một thủ tục xử lý đã được cài đặt trong CSDL (Stored procedure).
Parameter
Là đối tượng dùng để nhận và trả về giá trị khi đối tượng Command gọi một thủ tục.
Đối với CSDL Access các truy vấn đã được xây dựng sẵn trong tập tin MDB (bao gồm các truy vấn chọn, thêm, xóa, sửa…) có thể được xem như thủ tục.

CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ
Lập trình Visual Basic 2
12
Recordset:
Là đối tượng lưu trữ một tập hợp các mẫu tin được chọn từ các bảng có trong CSDL. Thông qua đối tượng Recordset, chúng ta có thể thực hiện các xử lý như hiện thị dữ liệu, cập nhật, tìm kiếm, xóa, sửa...
Field:
Là đối tượng con cho phép chúng ta truy xuất và làm việc với một trường (cột) dữ liệu có trong một bộ mẫu tin Recordset. Với đối tượng Field có hai thuộc tính đó là: Name (tên trường dữ liệu) và Type (kiểu dữ liệu của trường).

CÁC ĐỐI TƯỢNG LẬP TRÌNH ADO CƠ SỞ
Lập trình Visual Basic 2
13
Mô hình các đối tượng:

ĐIỀU KHIỂN ADO DATA
Lập trình Visual Basic 2
14
Microsoft ADO Data Control :
Cho phép liên kết và truy xuất CSDL theo kỹ thuật ADO
Bình thường, khi ta mới khởi động một project VB6 mới, Control Data ADO không có sẵn trong IDE. Muốn có nó, bạn hãy dùng Menu Command Project | Components..., rồi chọn Microsoft ADO Data Control 6.0 (OLEDB) từ giao diện Components như dưới đây:
ĐIỀU KHIỂN ADO DATA (tt)
Lập trình Visual Basic 2
15
Lập trình Visual Basic 2
16
Chương 2: CÁC ĐT CƠ SỞ TRONG MÔ HÌNH LT CSDL
CONNECTION
Lập trình Visual Basic 2
17
Tạo đối tượng Connection dùng lệnh:
Public cn As ADODB.Connection
Set cn = New ADODB.Connection
cn.Provider = "Microsoft.Jet.OLEDB.4.0“
cn.ConnectionString = "Data Source="& App.Path & "..TenCsdl.mdb;”
cn.Open
Thuộc tính State:
Thuộc tính State của connection dùng để kiểm tra trạng thái liên kết của Connection đang đóng hay đang mở hoặc chúng ta có thể dùng thuộc tính State để kiểm tra kết nối có thành công hay không
adStateClosed: không kết nối
adStateOpen: kết nối
Thuộc tính Open:
Dùng để mở kết nối
RECORDSET
Lập trình Visual Basic 2
18
Recordset là bộ mẩu tin. Đây là đối tương chính của mô hình ADO, đối tượng được dùng để hiển thị và cập nhật dữ liệu trong lập trình ứng dụng CSDL.

Mỗi một dòng dữ liệu có trong bộ mẩu tin được gọi là mẩu tin. Tuy bộ mẫu tin có thể chứa nhiều mẩu tin nhưng tại một thời điểm, chúng ta chỉ có thể làm việc với đúng một mẩu tin gọi là mẩu tin hiện hành. Mỗi cột dữ liệu có trong bộ mẩu tin được gọi là trường dữ liệu (Field).

RECORDSET (TT)
Lập trình Visual Basic 2
19
Khai báo biến bộ mẩu tin (Recordset)
Dim as .Recordset
Cấp phát vùng nhớ cho biến Recordset
Set = New .Recordset
Khởi tạo các giá trị cho biến bộ mẩu tin (Recordset)
.Open [Source],[Connection],[Type],[Lock],[Option]
Trong đó:
Source: là chuỗi xác định nguồn dữ liệu của bộ mẩu tin là tên một bảng hay chuỗi câu lệnh SQL.
Connection: là chuỗi chứa thông tin kết nối CSDL.
RECORDSET (TT)
Lập trình Visual Basic 2
20
Type: là các hằng số chỉ ra loại của Recordset. Thông thường khi viết ứng dụng chạy trên máy đơn chúng ta thường dùng loại adOpenStatic.
Lock: là thuộc tính xác định trạng thái cho phép khóa dữ liệu khi cập nhật trên bộ mẫu tin.
Option: là thuộc tính xác định kiểu nguồn dữ liệu Source
RECORDSET (TT)
Lập trình Visual Basic 2
21
Thuộc tính State của Recordset:
adStateClosed (0) trạng thái đóng
adStateOpen (1) trạng thái mở
Đóng mở bộ mẩu tin (Recordset)
.Close
.Open

VD: if .State = adStateClosed then .Open
RECORDSET (TT)
Lập trình Visual Basic 2
22
Truy xuất các trường dữ liệu:
Chúng ta có thể dùng các cách sau:
(“”)
Hoặc:
!
Hoặc:
(index)
Ví dụ:
Rs(“mssv”)
Rs!mssv



RECORDSET (TT)
Lập trình Visual Basic 2
23
Liên kết bộ mẫu tin với các điều khiển dữ liệu:
Set .Datasource=
.DataField=
Trong đó:
Tên điều khiển: TextBox, Label, ComboBox….
Ví dụ:
Rs.Open “tên Table”, cn, adOpenStatic, , adCmdTable
Set Text1.Datasource=rs
Text1.DataField=“mssv”
Set Text2.Datasource=rs
Text2.DataField=“hoten”




RECORDSET (TT)
Lập trình Visual Basic 2
24
Liên kết bộ mẫu tin với các điều khiển dữ liệu:
Set = New ADODB.Recordset
.Source = " select from "
.ActiveConnection =
.Open
Ví dụ:
Set rs = New ADODB.Recordset
rs.Source = " select mssv, hoten from sinhvien “
rs.ActiveConnection = cn
rs.Open
Text1.Text = rs!mssv




RECORDSET (TT)
Lập trình Visual Basic 2
25
Các thuộc tính mẫu tin thường dùng
RecordCount (trị Long Integer): số lượng mẩu tin
BOF: Trước mẩu tin đầu
EOF: Sau mẩu tin cuối
EditMode: chỉ trình trạng của mẩu tin hiện hành, có các giá trị sau
adEditNone 0 Bình thường
adEditInProgress 1 Đang sửa đổi chưa cập nhật
adEditAdd 2 Đang thêm mới chưa cập nhật
adEditDelete 3 Đánh dấu hủy chưa cập nhật




RECORDSET (TT)
Lập trình Visual Basic 2
26
Di chuyển mẩu tin hiện hành
.MoveFirst
.MoveLast
.MoveNext
.MovePrevious
.Move numRec [, startPos]
numRec: Là số mẩu tin sẽ nhảy qua tính từ vị trí startPos
startPos: Lấy vị trí hiện hành


RECORDSET (TT)
Lập trình Visual Basic 2
27
Duyệt qua các mẩu tin của một bộ mẩu tin (Recordset)
.MoveFirst
Do While Not .EOF
các xử lý trên mẩu tin hiện hành
.MoveNext
Loop
Hoặc
For i=1 to .RecordCount
các xử lý trên mẩu tin hiện hành
.MoveNext
Next





RECORDSET (TT)
Lập trình Visual Basic 2
28
Thêm mới một mẩu tin (AddNew):
“Insert into TenTable values (`" & gtri1 & "‘, `" & gtri2 & "‘.. `" & gtri_n & "`)“
ví dụ:
Dim as .Recordset
Set = New ADODB.Recordset
rs.Source = “Insert into TenTable values (`" & gtri1 & "‘,…& gtri_n & "‘)“
rs.ActiveConnection = cn
rs.Open





RECORDSET (TT)
Lập trình Visual Basic 2
29
Sửa mẩu tin (Update):
“Update TenTable set TenField1=`" & gtr1 & "`, TenField2=`" & gtr2 & "‘, TenField_n=`" & gtri_n& "` where TenField chứa điều kiện sửa = `" & giá trị điều kiện cần sửa & “’ “
Ví dụ:
Dim as .Recordset
Set = New ADODB.Recordset
rs.Source = “Update TenTable set TenField1=`" & gtr1 & "`, TenField2=`" & gtr2 & "‘, TenField_n=`" & gtri_n& "` where TenField chứa điều kiện sửa = `" & giá trị điều kiện cần sửa & "‘ “
rs.ActiveConnection = cn
rs.Open
RECORDSET (TT)
Lập trình Visual Basic 2
30
Xóa mẩu tin (Delete):
“Delete * from TênTable where TenField chứa điều kiện xóa = `" & giá trị điều kiện cần xóa & “’ “
Ví dụ:
Dim as .Recordset
Set = New ADODB.Recordset
rs.Source = “Delete * from TênTable where TenField chứa điều kiện xóa = `" & giá trị điều kiện cần xóa & “’ “
rs.ActiveConnection = cn
rs.Open
Chương 3: CÁC ĐIỀU KHIỂN DỮ LIỆU
Lập trình Visual Basic 2
31
DATACOMBO VÀ DATALIST:
Mục đích sử dụng:
combo
Datalist
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
32
Khởi tạo DataCombo và DataList:
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
33
Các thuộc tính của DataCombo và DataList:








Với Bookmark của RecordSet có chức năng lưu trữ thông tin vị trí của mẩu tin hiện hành.
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
34
Code minh họa tạo DataCombo:
Dim as .Recordset
Set = New .Recordset
.Open [Source],[Connection],[Type],[Lock],[Option]
Set .RowSource = .
.ListField = “Tên trường“
Code hiển thị thông tin trường khác tương ứng trên một bộ mẩu tin lên TextBox khi ta chọn một trường từ DataCombo:
Viết code ở sự kiện Click vào vùng hiển thị của điền khiển
nếu .SelectedItem > 0 thì
.Bookmark = . SelectedItem
.Text = .(“Tên_trường)







Chương 3: CÁC ĐIỀU KHIỂN DỮ LIỆU
Lập trình Visual Basic 2
35
COMBOBOX:
Mục đích sử dụng:
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
36
Viết Code cho Combobox:

Set rs = New ADODB.Recordset
rs.Source = "select * from Tên_Table “
rs.ActiveConnection = cn
rs.Open


Do While Not rs.EOF

Tên_Combobox.AddItem (rs!Tên_Field)

…………………
rs.MoveNext
Loop

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
37
LISTVIEW:
Mục đích sử dụng:
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
38
Cách tạo ListView:
Bước 1:
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
39
Bước 2:
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
40
Bước 3: Thiết lập các thuộc tính cho ListView
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
41
Bước 4: Tạo các cột và định dạng
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
42
Viết Code cho ListView:

Set rs = New ADODB.Recordset
rs.Source = "select * from Tên_Table “
rs.ActiveConnection = cn
rs.Open

Dim Tên biến LV As ListItem
Tên_Điều_Khiển_ListView.ListItems.Clear

Do While Not rs.EOF
Set Tên_biến_LV = Tên_Điều_Khiển_ListViewi.ListItems. Add(, , rs!Tên_Field)
Tên_biến_LV.SubItems(1) =rs!Tên_Field
…………………
rs.MoveNext
Loop

CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Lập trình Visual Basic 2
43
Sự kiện ItemClick của ListView:

Tên_điều_Khiển (TextBox…)= Item.Text


KIỀM TRA LỖI NHẬP LiỆU:

On Error GoTo THOAT

Exit Sub
THOAT:
MsgBox “Thông báo”
CÁC KỸ THUẬT LẬP TRÌNH CSDL
Lập trình Visual Basic 2
44
Đối tượng ProgressBar
Sử dụng trong bộ định thời gian (Timer )
i = Int(i) + 1
Tên_ProgressBar = Tên_ProgressBar + 1
If i = 100 Then
Tên_Form(cần hiển thị).Show
Unload Form2
End If
CÁC KỸ THUẬT LẬP TRÌNH CSDL (TT)
Lập trình Visual Basic 2
45
Đối tượng Timer
Kỹ Thuật Form Login
Lập trình Visual Basic 2
46
Chương 4: XÂY DỰNG CÁC ỨNG DỤNG
CÁCH TỔ CHỨC MỘT ỨNG DỤNG
Lập trình Visual Basic 2
47
Để thuận tiện việc theo dõi, tìm kiếm:
DATA
FORMS
REPORTS
GRAPHICS
MODULES
ỨNG DỤNG
CÁCH TỔ CHỨC MỘT ỨNG DỤNG (TT)
Lập trình Visual Basic 2
48
DATA chứa các tập tin CSDL (đối với nguồn Access)
FORMS chứa các form trong ứng dụng
REPORTS chứa các báo biểu của ứng dụng
GRAPHICS chứa các tập tin đồ họa
MODULES chứa các tập tin module
Tập tin ứng dụng (*.vbp) được trong thư mục ỨNG DỤNG
XỬ LÝ CÁC LỖI (BẪY LỖI)
Lập trình Visual Basic 2
49
Lỗi khóa chính nhận giá trị Null:
Trước khi thêm một mẩu tin mới ta phải kiểm tra trường khóa chính không nhận giá trị giá trịn rỗng.
Code:
If giá_trị_ = “” then
thông_báo “giá trị khóa chính phải khác rỗng”
End If
XỬ LÝ CÁC LỖI (TT)
Lập trình Visual Basic 2
50
Lỗi trùng khóa chính:
Khi ta thêm một mẫu tin mới thì giá trị khoá của mẩu tin mới đã tồn tại trong CSDL
Kỹ thuật:
Set rs = New ADODB.Recordset
rs.Source= "select * from Table where khoa=`" & giá_trị_khóa_mới & "`“
rs.ActiveConnection = cn
rs.Open
If Not rs.EOF() Then
“Trùng khóa chính”
End If
XỬ LÝ CÁC LỖI (TT)
Lập trình Visual Basic 2
51
Lỗi không tồn tại khóa ngoại:
Khi ta thêm một mẫu tin mới thì giá trị khoá ngoại của mẩu tin mới không tồn tại ở bảng 1 trong CSDL
Kỹ thuật:
Set rs = New ADODB.Recordset
rs.Source= "select * from Table where khoa=`" & giá_trị_khóa_mới & "`“
rs.ActiveConnection = cn
rs.Open
If rs.EOF() Then
“không tồn tại khóa ngoại ở bảng 1”
End If
XỬ LÝ CÁC LỖI (TT)
Lập trình Visual Basic 2
52
Các lỗi khác:
Khi ta nhập liệu không đúng
Kỹ thuật:
On Error GoTo THOAT

Exit Sub
THOAT:
MsgBox “Thông báo”
THIẾT KẾ GIAO DIỆN
Lập trình Visual Basic 2
53
Khi thiết kế giao diện màn hình cho các ứng dụng chúng ta cần chú ý đến 3 yếu tố sau:
Giao diện thân thiện
Giao diện hài hòa
Thao tác thuận tiện
THIẾT KẾ GIAO DIỆN
Lập trình Visual Basic 2
54
Màn hình thông báo
Icon
command
Thông
báo
THIẾT KẾ GIAO DIỆN
Lập trình Visual Basic 2
55
Thiết kế form đơn
THIẾT KẾ GIAO DIỆN
Lập trình Visual Basic 2
56
Thiết kế form đơn kép
Lập trình Visual Basic 2
57
Chương 5: BÁO BIỂU (REPORT)
DATAREPORT DESIGNER
Lập trình Visual Basic 2
58
Các thành phần chính của báo biểu
Report header: Phần tiêu đề đầu của báo biểu
Report footer: Phần tiêu đề cuối của báo biểu
Page header: Tiêu đề đầu trang
Page footer: Tiêu đề cuối trang
Group header: Tiêu đề đầu của nhóm
Group footer: Tiêu đề cuối của nhóm
Details: Chứa nội dung chi tiết của báo biểu
DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
59
Cấu trúc của báo biểu
DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
60
Các đối tượng của báo biểu











DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
61
Các thuộc tính chính của báo biểu







Name: Tên báo biểu
Caption: Tiêu đề của cửa sổ báo biểu
DataSource: Nguồn dữ liệu (tên của DataEnvironment)
Datamember: Tên của command tạo cho báo biểu




DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
62
Tạo một command trên DataEnvironment chứa các trường





Các thuộc tính của Command
ConnectionName: Tên đối tượng kết nối CSDL
CommandType: Gồm 3 tham số sau.
abCmdText: Chứa câu truy vấn SQL…
abCmdTable: Chứa table
abCmdStoredProc: Chứa các thủ tục và hàm
DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
63
Tạo dữ liệu cho báo biểu
Để tạo số liệu cho báo biều thì phải DataEnvironment





Đối tượng Connection:
ConnectionSource: tên CSDL cần kết nối
DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
64
Tạo nhóm trên báo biểu
DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
65
Đưa trường tính toán vào cùng GroupHeader và Footer
Dùng đối tượng RptFunction để đưa trường tính toán
Các thuộc tính chính của đối tượng RptFunction
Name: Tên đối tượng
Datamember: Tên của Command chứa trường cần tính toán
Datafield: Tên trường muốn tính toán
FunctionType: Loại hàm tính toán
DATAREPORT DESIGNER (TT)
Lập trình Visual Basic 2
66
Các FunctionType của đối tượng RptFunction
MỘT SỐ KỸ THUẬT KHÁC
Lập trình Visual Basic 2
67
Đưa số trang và ngày tháng vào báo biểu
Nhất chuột phải vào báo biểu chọn Insert Control

MỘT SỐ KỸ THUẬT KHÁC (TT)
Lập trình Visual Basic 2
68
Ý nghĩa của các điều khiển trên







Tên_Label.caption=“% Trị”

MỘT SỐ KỸ THUẬT KHÁC (TT)
Lập trình Visual Basic 2
69
Thi hành một báo biểu:
Tên_báo_biểu.Show()

MỘT SỐ KỸ THUẬT KHÁC (TT)
Lập trình Visual Basic 2
70
Tạo báo biểu có tham số:
str = SQL + với tham số cần in báo biểu
Tên_DataEnvironment.Commands(index).CommandText = str
Tên_Report.Show

Str thuộc kiểu string
CÁC ĐIỀU KHIỂN DỮ LIỆU (TT)
Bài tập ứng dụng:
Quản lý Thư viện
Quản lý sinh viên
Quản lý hàng hóa
Quản lý nhân viên
Quản lý học sinh
Danh sách liên kết đối xứng
71
Lương Văn Vân
Thank You !
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Văn Toàn
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)