Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành
viên, vì vậy chưa thể tải được các tài liệu của
Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Visual Basic

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn: Sưu tầm
Người gửi: Nguyễn Hữu Tiến (trang riêng)
Ngày gửi: 10h:58' 18-08-2010
Dung lượng: 991.0 KB
Số lượt tải: 28
Nguồn: Sưu tầm
Người gửi: Nguyễn Hữu Tiến (trang riêng)
Ngày gửi: 10h:58' 18-08-2010
Dung lượng: 991.0 KB
Số lượt tải: 28
Số lượt thích:
1 người
(Đỗ Thanh Phong)
BÀI GIẢNG : VISUAL BASIC
NỘI DUNG
Tổng quan về Visual Basic
Cách biên tập và thực hiện chương trình
Giới thiệu về Form và các Control
Hằng, biến, kiểu dữ liệu
Cấu trúc điều khiển
Tạo Object trong VB
Menu và cách tạo Menu
Các hộp thoại dùng chung
Tập tin
Đồ hoạ
Cơ sở dữ liệu
Tài liệu tham khảo
Giáo trình Visual Basic, Phạm Thuỳ Nhân. Nhà xuất bản Đồng Nai, 1999
Kỹ xảo lập trình VB6, Phạm Hữu Khang. Nhà xuất bản Lao Động Xã Hội
Giáo trình Visual Basic của APTECH
Kỹ năng lập trình Visual Basic 6.0, Nguyễn Tiến Dũng, Nhà xuất bản Thống kê
Chương 1: Tổng quan về Visual Basic
Giới thiệu
Các phiên bản Visual Basic
Cài đặt Visual Basic
I - Giới thiệu
VB6.0 là phiên bản mạnh của ngôn ngữ lập trình Visual basic
Dễ dàng lập trình ứng trên môi trường windows
Với VB6.0, ta có thể :
Khai thác thế mạnh của các điều khiển mở rộng.
Làm việc với các điều khiển mới: Monthview, DataTimePiker, ToolBar, ImageCombo, FlatScrollBar.
Làm việc với DHTML.
Làm việc với cơ sở dữ liệu.
Các bổ sung về lập trình hướng đối tượng
I - Giới thiệu (tt)
II - Phiên bản VB
Visual Basic 5.0
Visual Basic 6.0
Visual Basic . Net
III - Cài đặt
Sử dụng file setup.
Nên cài đặt thêm bộ trợ giúp MSDN
Yêu cầu tối thiểu:
Microsoft Window 95 trở lên hoặc là Microsoft Window NT Workstation 4.0 trở lên.
Tốc độ CPU 66MHz trở lên.
Màn hình VGA hoặc màn hình có độ phân giải cao được hổ trợ bởi Microsoft Window
Yêu cầu 16 MB RAM cho Microsoft Window 95 hoặc 32 MB RAM cho Microsoft Window NT Workstation
Chương II – Biên tập và thực hiện
chương trình
Khởi động và màn hình VB
Cách thiết kế Form
Cách viết mã vào chương trình
Biên dịch
I - Khởi động và màn hình VB
1. Khởi động VB 6.0
Start Programs Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0
Chọn Standard.exe trong Tab New
Click Open
1- Click Stander exe
2 -Mở mới
2. Tìm hiểu môi trường tích hợp IDE – Integrated Development Environment
Thanh Standard:Thanh công cụ chuẩn
I - Khởi động và màn hình VB
Thanh Debug:gỡ rối
I - Khởi động và màn hình VB
Thanh Edit: sử dụng trong viết code
Thanh Form Editor: di chuyển, sắp xếp các điều khiển trên
biểu mẫu
I - Khởi động và màn hình VB
Hộp công cụ Toolbox: chứa các điều khiển dùng trong thiết kế biểu mẫu
Project Explorer: Quản lý và định hướng đề án
Cửa sổ Properties: xem, sửa đổi giá trị các thuộc tính của điều khiển
I - Khởi động và màn hình VB
I - Khởi động và màn hình VB
Form Layout: Định vị trị trí của biểu mẫu
II – Cách thiết kế Biểu mẫu (form)
Mở một dự án mới:
File New Project
Thêm biểu mẫu vào dự án:
Biểu mẫu dạng MDI:
Format Add MDI Form : Thêm form chính
Format Add Form: Thêm form con
Biểu mẫu dạng thường:
Format Add Form
Thêm module vào dự án
Format Add module
II – Cách thiết kế Biểu mẫu (form)
Thêm các điều khiển vào biểu mẫu
Chọn điều khiển trên thanh Toolbox
Kéo vẽ vào Form
Thiết đặt các thuộc tính cần thiết cho điều khiển ( trong Properties)
III – Thiết kế mã chương trình
View code
Chọn tên điều khiển
Chọn sự kiện của đối tượng
IV – Biên dịch
Biên dịch đề án thành tập tin thực thi:
Project Project Properties
Loại đề án
Đối tượng bắt đầu
IV – Biên dịch
File Make *. EXE
Chương III
Giới thiệu Form và các control
Form, các thuộc tính và sự kiện cơ bản
Control, các thuộc tính và sự kiện cơ bản
Label
Textbox
Commanbutton
Checkbox và Option button
Combo box và Listbox
Scrool bar
I – Form, các thuộc tính và sự kiện
Sự kiện:
Load(): Xảy ra khi form được load
Click(): Xảy ra khi form được click
Activate(): Xảy ra khi form được kích hoạt
DblClick(): Xảy ra khi nhắp double lên form
Thuộc tính:
Caption: Tiêu đề form
BorderStyle: Thiết đặt đường viền cho form
ControlBox: Hiển thị / tắt các nút Min, Max, Close
I – Form, các thuộc tính và sự kiện
Thuộc tính (tt):
Backcolor: màu nền
Enabled: Cho form hoạt động / không
MaxButton: Nút max hiệu lực/ không
MinButton: Nút min hiệu lực/không
StartUpPosition: Vị trí hiển thị form
II – Control, các thuộc tính và sự kiện
Điều khiển Label
Cho phép người dùng hiển thị ký tự trên biểu mẩu
Nam : tên điều khiển
Caption : hiển thị chuổi ký tự
Font, Fore color, BackStyle, BackColor: font ký tự, màu ký tự, nhãn trong suôt không ?, màu nền
Điều khiển khung Frame
Giúp bố trí giao diện trong sáng, rõ nét, làm nổi bật các điều khiển
Điều khiển Textbox
Giúp người dùng nhập thông tin vào, xuất thông tin,…
Maxlength: số ký tự tối đa
Text: dùng để nhận và xuất thông tin
Locked: cho phép thay đổi/không thuộc tính text
PasswordChar: quy định dạng hiển thị của ký tự
Multiline: hiển thị trên một dòng hay nhiều dòng
SelLength, Seltart, SelText: số ký tự chọn, vị trí ký tự bắt đầu chọn, chuyển ký tự chọn
II – Control, các thuộc tính và sự kiện
II – Control, các thuộc tính và sự kiện
Điều khiển Command Button
Nút lệnh
Caption: hiển thị ký tự trên nút lệnh
Default: nhập giá trị từ phím Enter
Cancel: Nhận gía trị từ phím Esc
Enabled: cho phép nút có hiệu lực hay không ?
Name: tên nút lệnh
Tooltip text: chú thích
Điều khiển Listbox
Cho phép hiển thị các đề mục để lựa chọn
Name: tên listbox
List: dữ liệu trong listbox
MultiSelect: Thuộc tính chọn : 1/nhiều
Thêm đề mục vào listbox: additem item [,index]
Xoá đề mục: box.remove index
Xoá tất cả các đề mục : box.clear
Nhận giá trị đề mục : thuộc tính text
II – Control, các thuộc tính và sự kiện
Điều khiển combo box
Được xem là tích hợp giữa text box và listbox
Style: Dạng bombo box
Kiểu Giá trị Hằng
Drop-down combo box 0 VbComboDropDown
Simple combo box 1 VbComboSimple
Drop-down list box 2 VbComboDropList
II – Control, các thuộc tính và sự kiện
Điều khiển Checkbox
Cho biết một mục có được chọn hay không ?
Private Sub Check1_Click()
If Check1.Value = vbChecked Then
Text1.Font.Bold = True
Else
Text1.Font.Bold = False
End If
End Sub
II – Control, các thuộc tính và sự kiện
Điều khiển Option button
Tương tự như Check box nhưng ở trong một nhóm chỉ có một mẩu được chọn
Điều khiển Hscrollbar
Có thể dùng làm thiết bị nhập, thiết bị chỉ định cho số lượng, vận tốc
Large change : xác định khoảng thay đổi khi ấn chuột
Small change : xác định khoảng thay đổi khi ấn chuột ở cuối thanh cuộn
Value: trả về giá trị của điều khiển trong [min, max]
II – Control, các thuộc tính và sự kiện
Private Sub HScroll1_Change()
Text1.FontSize = HScroll1.Value
Text1.Height = Text1.Height + HScroll1.Value
Text1.Width = Text1.Width + HScroll1.Value
End Sub
Điều khiển Vscrollbar
Tương tự Hscrollbar
II – Control, các thuộc tính và sự kiện
Chương IV : Hằng, biến, kiểu dữ liệu
Cách khai báo biến, sử dụng biến
Tầm vực và thời gian sống của biến
Cách định nghĩa hằng và sử dụng
Các kiểu dữ liệu cơ bản của VB
I- Biến và cách sử dụng
Là một vùng nhớ được đặt tên, dùng để lưu trữ dữ liệu trung gian trong quá trình hoạt động
Khai báo biến
Cú pháp : [ Dim | Private | Static | Public ] VarName As DataType
VD: Dim i as integer
Khai báo tường minh
Dim VarName [As VarType][, VarName2 [As VarType2]]
Private VarName[As VarType][, VarName2[As VarType2]]
Static VarName[As VarType][, VarName2[As VarType2]]
Public VarName[As VarType][, VarName2[As VarType2]]
Ví dụ:
Private iNumVal As Integer
Private iAvgVal As Integer, dInputval As Double
Static sCalcAverage As Single
Dim strInputMsg As String
Lưu ý:
Để được yêu cầu khai báo tường minh ta check vào mục Require Variable Declaration trong mục Option
Quy định cách đặt tên biến:
Tên phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới
Tên không được có dấu câu và các kí tự đặc biệt
I- Biến và cách sử dụng
Tên phải duy nhất (không trùng với tên nào) trong phạm vi hoạt động của nó.
Tên không dài hơn 255 kí tự
Tên không phân biệt chữ hoa và chữ thường
Ví Dụ:
Cách đặt tên biến không đúng
1tuan
tien.cua.toi
so luong
Cách đặt tên biến đúng
icount, number
I- Biến và cách sử dụng
Lưu ý:
Bạn nên đặt tên biến kèm theo ý nghĩa của loại biến ở ký tự đầu của tên biến
icount ‘biến kiểu integer
I- Biến và cách sử dụng
II - Tầm vực và thời gian sống của biến
Public: nếu biến được khai báo với từ khoá public trong module . Pas thì sẽ có tác dụng trong toàn chương trình
Private: nếu biến được khai báo với private trong module .pas thì nó chỉ có tác dung trong module.pas
Dim: Khai báo trong thủ tục, module.pas
Static: Biến tĩnh, khai báo trong thủ tục
Biến toàn cục
được khai báo với từ khoá public có tác dụng trong toàn CT
VD : public icount as integer
Biến cấp module
Được khai báo với từ khóa private, dim trong module
Chỉ được truy cập trong module
Vd: dim i as integer
private ngaythang as date
Tuy nhiên, ta có thể khai báo biến kiểu pubic trong module. Khi đó nó sẽ được truy cập trong module và cả ngoài module
II - Tầm vực và thời gian sống của biến
Biến cục bộ động
Được khai báo trong thủ tục và có thời gian sống trùng với thời gian sống của thủ tục
VD:
Sub PrintStr()
Dim Str As String ` Str là một biến cục bộ động.
...
End Sub
Biến cục bộ tĩnh
Được khai báo trong thủ tục với từ khoá static và có thời gian sống như biến module
II - Tầm vực và thời gian sống của biến
Mục đích: được sử dụng để ngăn ngừa các thủ tục khởi tạo lại giá trị, thường được sử dụng trong các sự kiện click chuột
II - Tầm vực và thời gian sống của biến
III - Hằng và cách sử dụng
Hằng chứa giá trị tạm, không thay đổi trong suốt quá trình hoạt động
Khai báo:
[]const [As ] =
VD:
Const Pi=3.1416
Public Const Max As Integer =9
IV – Các kiểu dữ liệu cơ bản
Kiểu số nguyên:
Gồm: Byte, Integer, Long
Phép toán: +, - ,*, / (chia lấy phần nguyên), / (chia lấy phần dư)
Kiểu Boolean: (True /False)
Kiểu số thực:
Gồm: Single, Double, Currency
Hàm làm tròn Round : Round(10.02345,3)=10.023
Kiểu Date:
Kiểu ngày, giờ
VD:#11/11/1900#
#10/3/2005 12.20 AM#
Kiểu xâu ký tự - String
Khai báo:
Độ dài cố định: Dim Name as String * 50
Không cố định: Dim Name as String
IV – Các kiểu dữ liệu cơ bản
IV – Các kiểu dữ liệu cơ bản
Kiểu xâu ký tự - String (tt)
Hàm thông dụng
Len(str) : Lấy chiều dài chuỗi str
Mid(str, start, [length]): Trích chuỗi con từ chuỗi gốc
Left(str, [length]): Trích chuỗi con từ bên trái chuỗi str
Right(str, [length]): ……. phải … str
InStr([start, ] string1, string2[,compare]): Tìm chuỗi con trong chuỗi gốc - trả về vị trí tìm thấy
Start: Vị trí bắt đầu việc tìm kiếm
String1: Chuỗi để so sánh
String2: Chuỗi cần tìm
IV – Các kiểu dữ liệu cơ bản
Compare:
0 (vbBinaryCompare): So sánh chính xác
1 (vbTextCompare): Tương đối
VD:
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"
SearchChar = "P"
MyPos = Instr(4, SearchString, SearchChar, 1)
MyPos = Instr(1, SearchString, SearchChar, 0)
MyPos = Instr(SearchString, SearchChar)
MyPos = Instr(1, SearchString, "W")
IV – Các kiểu dữ liệu cơ bản
Kiểu xâu ký tự - String (tt)
Str: Chuyển đổi song kiểu chuỗi
Val: Chuyển đổi sang kiểu số
Kiểu Object
Chứa địa chỉ 4 byte để trỏ đến đối tượng
Cách dùng:
Dim Obj as Object
Set Obj = OpenDatabase(“d: vlot hu.mdb”)
IV – Các kiểu dữ liệu cơ bản
Kiểu Variant (mặc định)
Kiểu tổng quát, có thể chứa mọi kiểu khác (trừ kiểu chuỗi có độ dài cố định)
Hàm kiểm tra kiểu: VarType hoặc TypeName
Hằng giá trị
vbEmpty 0
vbNULL 1
vbInteger 2
vbLong 3
vbSingle 4
vbDouble 5
IV – Các kiểu dữ liệu cơ bản
vbCurrency 6
vbDate 7
vbString 8
vbObject 9
vbError 10
vbBoolean 11
vbVariant 12
vbByte 17
vbArray 8192
IV – Các kiểu dữ liệu cơ bản
Kiểu mảng
Là dãy các biến có cùng tên, cùng kiểu
Mảng có chiều dài cố định:
Dim Mang(14) As Integer 0 ..14
Public Mang(20) As Double 0..20
Dim Mang ( 10 to 24) As Integer 10 .. 24
Hàm Unbound: Trả về biên trên
Hàm Lbound: Trả về biên dưới
Dim Mang(3,1 to 10, 9) as Integer mảng 3 chiều, kích thước: 4 x 10 x 10
IV – Các kiểu dữ liệu cơ bản
Kiểu mảng (tt)
Mảng động:
Khai báo: Dim MangDong()
Cấp phát: ReDim [Preserve] MangDong(kích thước)
Ví dụ:
ReDim MangDong(10)
ReDim Preserve MangDong(Ubound(MangDong) +10)
IV – Các kiểu dữ liệu cơ bản
Kiểu mảng (tt)
Một số tính năng khác
Sao chép mảng:
Sub ByteCopy (Old() as Byte, New() as Byte)
New = Old
End sub
Trả về một mảng từ hàm
Public Function Ham(b as Byte) as Byte()
Dim X(2) as Byte
X(0) =b;
X(1) = b+2
X(2)= b+b
Ham= X
End Function
IV – Các kiểu dữ liệu cơ bản
Hàm và thủ tục
Cú pháp thủ tục:
[Private| Public|Static] Sub(tham số)
End Sub
Cú pháp hàm:
[Private| Public|Static] Function(tham số) as
End Function
IV – Các kiểu dữ liệu cơ bản
Hàm và thủ tục (tt)
Có thể sử dụng Exit Sub / Exit Function
Truyền giá trị - ByVal
Sub Truyentri( Byval Ten as)
End Sub
Truyền tham chiếu
Sub Truyenthamchieu(Ten as)
End Sub
V - Cấu trúc điều khiển
Cấu trúc chọn
Cấu trúc lặp
V - Cấu trúc điều khiển
Cấu trúc chọn
Các biểu thức so sánh
Ký hiệu Ý nghĩa
= Bằng
<> Khác
> Lớn hơn
< Nhỏ hơn
>= Lớn hơn hoặc bằng
<= Nhỏ hơn hoặc bằng
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
If … Then
Một dòng:
If <đk> Then
Nhiều dòng:
If <đk> Then
End If
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
If … Then … Else
If <đk 1> Then
ElseIf <đk2> Then
Else
End If
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
Select Case
Select Case
Case
Case
….
Case Else
End Select
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
Select Case (tt)
Ví dụ:
Dim Number
Number = 8
Select Case Number
Case 1 To 5
Debug.Print "Between 1 and 5"
Case 6, 7, 8
Debug.Print "Between 6 and 8"
Case 9 To 10
Debug.Print "Greater than 8"
Case Else
Debug.Print "Not between 1 and 10"
End Select
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
Select Case (tt)
Lưu ý: Trong cấu trúc Case không sử dụng tên biến
Không dùng Case Index >100 mà
Case Is >100
V - Cấu trúc điều khiển
Cấu trúc lặp
Do … Loop : Lặp không xác định
Kiểu 1: Thực hiện trong điều kiện đúng
Do While <điều kiện>
Loop
Kiểu 2: Thực hiện trong điều kiện đúng
Do
Loop While <điều kiện>
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
Do … Loop : (tt)
Kiểu 3: Thực hiện trong điều kiện sai
Do Until <điều kiện>
Loop
Kiểu 4: Thực hiện trong điều kiện sai
Do
Loop Until <điều kiện>
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
For … Next : Lặp với số lần xác định
For =<điểm đầu> To <điểm cuối> [Step
]
Next
Ví dụ:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
. . .
Next
Next
Next
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
For Each … Next : Lặp với số số phần tử của tập các đối tượng/ mảng
For Each In
Next
Phần tử: biến Variant, Object, Mảng
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
For Each … Next : (tt)
Ví dụ:
Dim mang(10) As Integer
Dim i
mang(0) = 1
mang(1) = 2
mang(2) = 3
mang(3) = 4
mang(4) = 5
For Each i In mang
MsgBox i
Next
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
While …Wend: Lặp không xác định, không sử dụng lệnh Exit
While <đk>
Wend
V - Cấu trúc điều khiển
Câu lệnh thoát – Exit
Lệnh Ý nghĩa
Exit do Lệnh thoát cho Do …
Exit For Lệnh thoát cho For …
Exit sub Lệnh thoát cho Sub
Exit Function Lệnh thoát cho Function
V - Cấu trúc điều khiển
Câu lệnh thoát – Exit (ví dụ)
Sub RandomLoop
Dim I, MyNum Do
For I = 1 To 1000
MyNum = Int(Rnd * 100)
Select Case MyNum
Case 17: MsgBox "Case 17"
Exit For
Case 29: MsgBox "Case 29"
Exit Do
Case 54: MsgBox "Case 54"
Exit Sub
End Select
Next Loop
End Sub
V - Cấu trúc điều khiển
Câu lệnh Go to: Bãy lỗi
On Error Goto Loi
Khi có lỗi chương trình sẽ nhảy đến Loi và thực hiện lệnh ở đó
VI- Tạo đối tượng trong VB
Khai báo biến đối tượng
Một số từ khoá thường dùng
VI- Tạo đối tượng trong VB
Tạo biến đối tượng
Cú pháp:
<[Dim]/[Public]/[Private]> As <đối tượng>
Ví dụ:
Dim frmbieumau As Form
Dim txtInfor As TextBox
Public cmdnutlenh As CommandButton
Private scrMyBar As ScrollBar
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá SET
Tham chiếu đến đối tượng chuyên biệt
Ví dụ:
Set frmBien = Form1
Set cmdNutlenh = Command1
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá IS
Cho phép kiểm tra biến đối tượng có tham chiếu đến đối tượng không
Ví dụ:
If biendoituong Is Doituong Then
……..
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá Nothing
Giải phóng vùng nhớ đã dùng cho đối tượng
Ví dụ
Dim Afont as Font
……….
Set Afont =Nothing
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá New
Tạo đối tượng mới từ đối tượng gốc (là lớp)
Ví dụ: Tạo ra đối tượng mới từ đối tượng Form1
Dim Newform As New Form1
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Các kiểu đối tượng tổng quát: Control, Object, Variant
Dùng để tham chiếu đến các đối tương thuộc nhiều kiển khác nhau
Dim bien As Control
Dim obj As Object
VII- Menu và cách tạo Menu
Giới thiệu
Cách tạo menu
VII- Menu và cách tạo Menu
Giới thiệu
Có 2 loại menu cơ bản
Dạng thả xuống – Drop down menu
Dạng bật ra – Pop up menu
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng thả xuống
Tool Menu Editor
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng thả xuống
Các thuộc tính cơ bản
Caption : là chuỗi hiển thị trên menu
Name : tên của thành phần
Shortcut: tạo phím tắt cho thành phần
WindowList: Hiển thị tiêu đề của form con trong form mẹ (MDI)
Checked: Thuộc tính dạng check
Enable: Cho phép thuộc tính co tác dụng hay không
Visible: Cho phép thuộc tính được hiển thị hay không
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng thả xuống
Các thuộc tính cơ bản
Tách nhóm menu: Caption =‘-’
Tạo phím chọn nhanh: thêm ký tự & trược ký tự cần tạo trong mục Caption
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng bật ra
Tạo trược menu theo dạng thả xuống
Tắt thuộc tính Visible của menu vừa tạo
Thiết đặt sự kiện MouseUp
Ví dụ:
Private Sub MDIForm_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mfile, vbPopupMenuLeftAlign
End If
End Sub
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng bật ra
Các thuộc tính hiển thị:
vbPopupMenuLeftAlign, vbPopupMenuRightAlign, vbPopupMenuCenterAlign
VIII- Hộp thoại dùng chung
Hộp thông điệp (Message Box)
Hộp nhập (Input box)
Các hộp thoại thông dụng (Common Dialog)
Hộp thọai hiệu chỉnh (Custom dialog)
VIII- Hộp thoại dùng chung
Hộp thông điệp – Message box
Xuất thông tin, tương tác với người dùng
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Ví dụ:
Msgbox “Thong tin hien thi”& chr(10)& “ dung chung”
Dạng hộp thoại
VIII- Hộp thoại dùng chung
Hộp nhập – Input Box
Dùng nhận thông tin
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
VD:
Public Sub main()
Dim ReturnString As String
ReturnString = InputBox(" Nhap vao ten cua ban")
End Sub
VIII- Hộp thoại dùng chung
Các hợp thoại thông dụng
Mở tập tin
Lưu tập tin
Chọn màu
Chọn Font
In ấn
Trợ giúp
Tuy có 6 dạng hợp thoại, nhưng chúng ta chỉ dùng một công cụ duy nhất: Commondialog (Microsoft Common Dialog Control 6.0 (SP2) )
Hộp thoại mở và lưu tập tin
Chức năng: Mở và lưu tập tin
Ví dụ : Về hộp thoại Open
Private Sub Form_Load()
On Error GoTo ErrHander
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files(*.txt)|*.txt| Batch Files (*.bat)|*.bat"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen
Exit Sub
ErrHander: Exit Sub
CommonDialog1.ShowOpen
End Sub
Mở hộp thoại Lưu: ShowSave
Hộp thoại mở và lưu tập tin
Thuộc tính
Filter: Dạng tập tin mở/lưu
Filter index: Mục (dạng file) được chọn mặc định
Flags: Dạng mở/lưu tập tin (&H10&, &H200&, &H2000)
InitDir: Thư mục mặc định
Hộp thoại chọn màu
Chức năng
Cho phép chọn màu
ShowColor
Ví dụ
Private sub getcolor(){
commondialog1.showcolor
lname.BackColor=commondialog1.color
End sub
Hộp thoại Font
Chức năng
Cho phép người dùng chọn font chữ
Showfont
Thuộc tính flags: cho phép chọn loại font hiển thị
Ví dụ
Private sub getfont()
Commondialog1.showfont
lname.fontname=commondialog1.fontname
End sub
Private Sub Command1_Click()
CommonDialog1.Flags = &H3
CommonDialog1.ShowFont
End Sub
Các thuộc tính của hộp thoại font
Các thuộc tính của thuộc tính Flags
Hộp thoại Print
Chức năng
Thực hiện việc in ấn
ShowPrint
Một số thuộc tính thông dụng: Copies, FromPage, ToPage
Ví dụ
Commondialog1.ShowPrint
Thuộc tính của hộp thoại Print
X. Xử lý chuột và bàn phím
1. Sự kiện chuột
Biểu mẫu hoặc điều khiển có thể bắt đầu sự kiện chuột khi có con trỏ chuột đi ngang qua.
Có 3 sự kiện chuột chủ yếu , đó là:
MouseDown: Xảy ra khi người sử dụng ấn chuột
MouseUp : Xảy ra khi người sử dụng thả một nút chuột bất kỳ
MouseMove: Xảy ra khi con trỏ chuột di chuyển đến một điểm mới trên màn hình
Các tham số :
Button: cho biết nút chuột
Shift: Cho biết Shift , Ctrl hay Alt được ấn
X, Y : cho biết toạ độ con trỏ chuột
Sử dụng sự kiện MouseDown
Ví dụ mô ta sự kiện ấn chuột
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Line (10, 10)-(X, Y) ‘vẽ đường thẳng (10,10) đến (X,Y)
End Sub
X. Xử lý chuột và bàn phím
Sự kiện MouseUp:
Ví dụ mô ta sự kiện thả chuột
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Print "Ban vua tha chuot trai“
If Button = 2 Then Print "Ban vua tha chuot phai“
If Button = 4 Then Print "Ban vua tha chuot giua“
End Sub
X. Xử lý chuột và bàn phím
Sử dụng sự kiện MouseMove
Thường dùng với phương thức Line để vẽ hình
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Circle (X, Y), 50
End Sub
Hiệu chỉnh con trỏ chuột
Ta có thể dùng thuộc tính MousePointer để hiển thị một biểu tượng, con trỏ màn hình hay con trỏ chuột đã được hiệu chỉnh. Dưới đây là một số giá trị của thuộc tính MousePointer
CcDefault
CcArrow
CcCross
……..
X. Xử lý chuột và bàn phím
2. Sự kiện bàn phím
Bàn phím cũng có 3 sự kiện:
KeyPress: khi một phím có mã ASCII bất kỳ được ấn
KeyDown: khi một phím bất kỳ được ấn
KeyUp: khi một phím bất kỳ được thả
Chỉ có những điều khiển đang có Focus mới bắt đầu sự kiện bàn phím.
Còn đối với biểu mẫu, nó chỉ bắt đầu được sự kiện bàn phím mỗi khi được kích hoạt và không có bất kỳ điều khiển khác có Focus.
X. Xử lý chuột và bàn phím
Private Sub Text1_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox "Keycode: " & KeyCode & "Shift: " & Shift
End Sub
Shift Ý nghĩa
1 Phím Shift
2 Phím Ctrl
4 Phím Alt
KeyCode = 13 Phím Enter
KeyCode = 27 Phím Asc
X. Xử lý chuột và bàn phím
LẬP TRÌNH CƠ SỞ DỮ LIỆU
LẬP TRÌNH VỚI ADO
(ACTIVEX DATA OBJECT)
ADO (ActiveX Data Object)
ADO là gì?
Mô hình ADO
Tham chiếu ADO trong VB
Sử dụng các đối tượng của ADO
Tổng quan về phương thức truy cập dữ liệu
1. ADO là gì ?
ADO là giao diện lập trình truy xuất cơ sở dữ liệu được phát triễn bởi Microsoft, ADO nằm bên trên OLE DB, sử dụng những phương thức do OLE DB cung cấp để truy xuất dữ liệu.
OLE DB là một giao diện lập trình cơ sở dữ liệu ở mức hệ thống.
Một số phiên bản OLE DB:
Microsoft OLE DB Provider for ODBC
Microsoft OLE DB Provider for SQL Server
Microsoft OLE DB Provider for Microsoft Jet
Microsoft OLE DB Provider for Oracle
…….
ADO (ActiveX Data Object)
Mô hình đối tượng ADO
Đối tượng của ADO
Connection, command, Recordset: là 3 đối tượng chủ yếu của mô hình đối tượng này
Connection: Dùng kết nối cơ sở dữ liệu, làm nhiệm vụ kiểm soát giao dịch.
Connection có thể gắn liền với đối tượng Recordset hoặc Command
Command : Thực hiện lệnh.
Các hành động: Update, Insert, Delete và các câu lệnh truy vấn
Recordset: Chứa một tập hợp kết quả được trả về từ dữ liệu nguồn
Errors: Chứa thông tin liên quan đến lỗi gây bởi một trong những đối tượng trên mô hình ADO
ADO (ActiveX Data Object)
Tham chiếu ADO vào Visual Basic
Chọn Project / Reference/ Chọn Microsoft ActiveX Data Objects 2.7 Library ( Sử dụng cho trường hợp SQL Server)
Chọn Project / Components/Chọn Microsoft ADO Data Control 6.0 (OLE DB )
ADO (ActiveX Data Object)
Đối tượng Connection
Thuộc tính:
CommandTimeout: Thời gian chờ để nhận kết quả thực thi câu lệnh Execute
ConnectionString: Chỉ định chuỗi kết nối CSDL
Các thông số của ConnectionString:
Provider: SQLOLEDB dùng cho SQL Server
Data Source: Tên của Server
Initial Catalog: Tên của CSDL
UserID, Password: Tài khoản và mật khẩu đăng nhập vao CSDL
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=NVLOT
ConnectionTimeout: Thời gian chờ để nhận kết quả kết nối. Mặc định là 15 giây
Cursorlocation: Cho biết đối tượng Recordset được tạo phía Client hay Server
Đối tượng Connection
DefaultDatabase: Tên CSDL SQL server cần kết nối
Provider: Chỉ định Data provider nào được sử dụng
State: Trả về trạng thái nối kết
Phương thức:
BeginTrans: Khởi tạo một giao dịch
Cancel: Ngừng thực thi câu lệnh Open hoặc Execute
Close: Đóng đối tượng Connection và ngắt nối kết
CommitTrans: Lưu lại tất cả những thay đổi được thực hiện trong quá trình thực hiện giao dịch
Execute: thực thi một câu truy vấn, câu SQL, thủ tục lưu trữ nội
Open: Thiết lập kết nối với SQL Server qua ConnectionString
RollbackTrans: Phục hồi tất cả thay đổi
Đối tượng Connection
Dim adoconnection As New ADODB.Connection
Dim adocommand As New ADODB.Command
With adoconnection
.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tes;Data Source=(local)"
.Open
.BeginTrans
End With
With adocommand
.ActiveConnection = adoconnection
.CommandType = adCmdText
.CommandText = "Insert sinhvien(ma,ten) values(4," & “Cong" & ") "
.Execute
End With
adoconnection.CommitTrans
Đối tượng Recordset
Phương thức:
Addnew: Thêm vào Recordset một mẫu tin mới
Cancel: Hủy bỏ thực thi phương thức Open
CancelBatch: Hủy bỏ những cập nhật sắp xảy ra trong một Recordset
Clone: Tạo một bản sao của Recordset
Close: Đóng Recordset và đóng kết nối với CSDL
Delete: Xóa mẫu tin hiện tại
GetRows: Nhận về nhiều mẫu tin đưa vào một mảng
GetString: Chuyển dữ liệu trong một Recordset thành chuỗi
Move: Di chuyển con tro dòng đi bao nhiêu mẫu tin
MoveFirst: Di chuyển về đầu mẫu tin
MoveLast: Di chuyển về cuối mẫu tin
Đối tượng Recordset
MoveNext: Di chuyển con trỏ dòng sang mẫu tin tiếp theo
MovePrevious: Di chuyển con trỏ dòng về mẫu tin trước đó
NextRecordset: Trả về Recordset kết tiếp
Open: Mở một Recordset dựa trên ActiveConncection và Source
Requery: Thực thi lại câu Query để là tươi
Resync: Làm tươi lại dữ liệu trong Recordset
Update: Lưu lại các thay đổi trên Recordset
UpdateBatch: Lưu lại những thay đổi trong một con trỏ theo lô
Đối tượng Recordset
Dim adoRS As New ADODB.Recordset
With adoRS
.ActiveConnection = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=(local)"
.Source = “Select EmployeeID, Lastname, FirstName From Employees"
.Open
End With
While adoRS.Fields.Count > 0
If (Not adoRS.BOF) And (Not adoRS.EOF) Then
Debug.Print adoRS.Fields("FirstName")
Debug.Print adoRS.Fields("LastName")
End If
Set adoRS = adoRS.NextRecordset //adoRS.MoveNext
Wend
Đối tương Command
Phương thức:
Cancel: Hủy bỏ thực thi câu lệnh Execute
Execute: thực thi câu lệnh trong thuộc tính ComandText
Thuộc tính:
ActiveConnection:Chuỗi nối kết đến CSDL
CommandText: Câu lệnh cần thực hiện
CommandTimeout: Số giây mà đối tượng Command chờ kết quả trả về
CommandType: Loai câu lệnh Command
Name: Tên đối tượng Command
State: Trạng thái của đối tượng Command Đóng, mở, đang kết nối,…
Trình bày dữ liệu trên DataGrid
Project Components Microsoft DataGrid Control 6.0
Project Components Microsoft ADO Data Control 6.0
ADO
(ADODC1)
DataGrid
(DBGrid)
Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=(local)"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from Employees“
Set adoRS.DataSource = Adodc1
Set DBGrid.DataSource = Adodc1
DBGrid.Refresh
Thêm mới, Cập nhật, Xóa dữ liệu
Dim sql, strcon As String
strcon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tes;Data Source=(local)"
sql = "Insert into sinhvien(mssv,hoten,phai) values(`" & txtmssv.Text & "`,`" & txthoten.Text & "`,`"
If Nam.Value = True Then
sql = sql & "Nam`)"
Else
sql = sql & "Nu`)"
End If
With adocommand
.ActiveConnection = strcon
.CommandText = sql
.Execute
End With
Adodc1.Refresh
DBGrid.Refresh
Thêm mới
Dim sql, strcon As String
strcon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tes;Data Source=(local)"
sql = "Update sinhvien set hoten=`" & txthoten.Text & "` where mssv=`" & txtmssv.Text & "`"
With adocommand
.ActiveConnection = strcon
.CommandText = sql
.Execute
End With
Adodc1.Refresh
DBGrid.Refresh
Câp nhật
Tom tắt kết nối ADO
Có thể sử dụng cách lệnh sau để kết nối và thực thi với cơ sở dữ liệu SQL Server / Access
Khai báo biến
Dim Conn, Rst, gsCon
Khởi tạo gsCon
gsCon=“chuỗi Provider”
Khởi tọa kết nối
Set Conn=CreateObject(“ADODB.Connection”)
Hoặc Conn2 as New ADODB.Connection
Khởi tạo kết nối bảng
Set Rst=CreateObject(“ADODB.Recordset”)
Hoặc R as New ADODB.Recordset
Tạo kết nối
Conn.Open gsConn
Thực thi phát biểu Insert/Update/Delete
Conn.Execute “Delete from…..”
Tạo kết nối với bảng csdl ứng với kết nối Conn
Rst.Open “Select * from ….” , Conn
Thêm dữ liệu vào bảng
Rst.AddNew
Rst(“Tên cột”)=“giá tri”
Rst.Update
Lấy dữ liệu
Biến=Rst(“Tên cột”)
Biến =Rst(“số thứ tự côt”)
Di chuyển trên bảng
Rst.MoveFirst
Rst.MoveLast
Rst.MoveNext
Rst.MovePrevious
Kiểm tra
Rst.EOF, Rst.BOF
Đóng nối kết: Rst.Close / Conn.Close
Crystal Report
Chức năng:
Cho phép in mẫu báo cáo ra màn hình, máy in, excel, word…
Thiết kế Report
Crystal Report
Danh sách mẫu báo cáo
Crystal Report
Nguồn dữ liệu
Microsoft SQL Server
Thông tin đăng nhập Microsoft SQL Server
Crystal Report
Crystal Report
Sau khi thiết kế song .
Sử dụng điều khiển Crviewer Control
Project Components Crystal Report Viewer Control
Crystal Report 8.5 ActiveX Designers Design and Runtime Library
Private Sub Form_Load()
CRViewer1.EnableExportButton = True
Dim appReport As New CRAXDDRT.Application
Dim csReport As CRAXDDRT.Report
Set csReport = appReport.OpenReport(App.Path & "Report2.rpt")
csReport.Database.LogOnServer "pdssql.dll", “(local)", "tes", "sa", ""
CRViewer2.ReportSource = csReport
CRViewer2.ViewReport
End Sub
Mã lệnh hiển thị hộp thoại Print
Xây dựng, đăng ký và sử dụng tập tin DLL
DLL – Dynamic Link Library là thự viện liên kết động chứa các phương thức và thuộc tính có thể dùng lại
Xây dựng tập tin dll
File New Project ActiveX DLL
Đặt tên cho Project
Mục Instancing:
Private: Chỉ được phép tạo đối tượng trong dự án chứa đối tượng
PublicNotCreatable: Cho phép các ứng dụng khác sử dụng đối tượng, nhưng không cho phép các ứng dụng khác tạo chúng
MultiUse:Tạo tuỳ ý đối tượng
Global MultiUse:Tương tự MultiUse, trở thành một phần không gia được VB sử dụng
Tên lớp
Tên Project
Nội dung
Xây dựng, đăng ký và sử dụng tập tin DLL
Khai báo các phương thức và thuộc tính cho lớp
Lưu tập tin lại
Biên dịch:
Project Properties Component chọn Binary Compatibility
File Make.DLL Lưu vào thư mục System32
Đăng ký tập tin DLL
Start Run Nhập Regsvr32
Xây dựng, đăng ký và sử dụng tập tin DLL
Sử dụng tập tin DLL
Tạo Project mới
Project References Chọn Project chứa tập tin DLL
Khai báo đối tượng và sử dụng
Private Sub Command1_Click()
Dim s
Set s = CreateObject("BG.TEST")
MsgBox s.Giaithua(6)
End Sub
NỘI DUNG
Tổng quan về Visual Basic
Cách biên tập và thực hiện chương trình
Giới thiệu về Form và các Control
Hằng, biến, kiểu dữ liệu
Cấu trúc điều khiển
Tạo Object trong VB
Menu và cách tạo Menu
Các hộp thoại dùng chung
Tập tin
Đồ hoạ
Cơ sở dữ liệu
Tài liệu tham khảo
Giáo trình Visual Basic, Phạm Thuỳ Nhân. Nhà xuất bản Đồng Nai, 1999
Kỹ xảo lập trình VB6, Phạm Hữu Khang. Nhà xuất bản Lao Động Xã Hội
Giáo trình Visual Basic của APTECH
Kỹ năng lập trình Visual Basic 6.0, Nguyễn Tiến Dũng, Nhà xuất bản Thống kê
Chương 1: Tổng quan về Visual Basic
Giới thiệu
Các phiên bản Visual Basic
Cài đặt Visual Basic
I - Giới thiệu
VB6.0 là phiên bản mạnh của ngôn ngữ lập trình Visual basic
Dễ dàng lập trình ứng trên môi trường windows
Với VB6.0, ta có thể :
Khai thác thế mạnh của các điều khiển mở rộng.
Làm việc với các điều khiển mới: Monthview, DataTimePiker, ToolBar, ImageCombo, FlatScrollBar.
Làm việc với DHTML.
Làm việc với cơ sở dữ liệu.
Các bổ sung về lập trình hướng đối tượng
I - Giới thiệu (tt)
II - Phiên bản VB
Visual Basic 5.0
Visual Basic 6.0
Visual Basic . Net
III - Cài đặt
Sử dụng file setup.
Nên cài đặt thêm bộ trợ giúp MSDN
Yêu cầu tối thiểu:
Microsoft Window 95 trở lên hoặc là Microsoft Window NT Workstation 4.0 trở lên.
Tốc độ CPU 66MHz trở lên.
Màn hình VGA hoặc màn hình có độ phân giải cao được hổ trợ bởi Microsoft Window
Yêu cầu 16 MB RAM cho Microsoft Window 95 hoặc 32 MB RAM cho Microsoft Window NT Workstation
Chương II – Biên tập và thực hiện
chương trình
Khởi động và màn hình VB
Cách thiết kế Form
Cách viết mã vào chương trình
Biên dịch
I - Khởi động và màn hình VB
1. Khởi động VB 6.0
Start Programs Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0
Chọn Standard.exe trong Tab New
Click Open
1- Click Stander exe
2 -Mở mới
2. Tìm hiểu môi trường tích hợp IDE – Integrated Development Environment
Thanh Standard:Thanh công cụ chuẩn
I - Khởi động và màn hình VB
Thanh Debug:gỡ rối
I - Khởi động và màn hình VB
Thanh Edit: sử dụng trong viết code
Thanh Form Editor: di chuyển, sắp xếp các điều khiển trên
biểu mẫu
I - Khởi động và màn hình VB
Hộp công cụ Toolbox: chứa các điều khiển dùng trong thiết kế biểu mẫu
Project Explorer: Quản lý và định hướng đề án
Cửa sổ Properties: xem, sửa đổi giá trị các thuộc tính của điều khiển
I - Khởi động và màn hình VB
I - Khởi động và màn hình VB
Form Layout: Định vị trị trí của biểu mẫu
II – Cách thiết kế Biểu mẫu (form)
Mở một dự án mới:
File New Project
Thêm biểu mẫu vào dự án:
Biểu mẫu dạng MDI:
Format Add MDI Form : Thêm form chính
Format Add Form: Thêm form con
Biểu mẫu dạng thường:
Format Add Form
Thêm module vào dự án
Format Add module
II – Cách thiết kế Biểu mẫu (form)
Thêm các điều khiển vào biểu mẫu
Chọn điều khiển trên thanh Toolbox
Kéo vẽ vào Form
Thiết đặt các thuộc tính cần thiết cho điều khiển ( trong Properties)
III – Thiết kế mã chương trình
View code
Chọn tên điều khiển
Chọn sự kiện của đối tượng
IV – Biên dịch
Biên dịch đề án thành tập tin thực thi:
Project Project Properties
Loại đề án
Đối tượng bắt đầu
IV – Biên dịch
File Make *. EXE
Chương III
Giới thiệu Form và các control
Form, các thuộc tính và sự kiện cơ bản
Control, các thuộc tính và sự kiện cơ bản
Label
Textbox
Commanbutton
Checkbox và Option button
Combo box và Listbox
Scrool bar
I – Form, các thuộc tính và sự kiện
Sự kiện:
Load(): Xảy ra khi form được load
Click(): Xảy ra khi form được click
Activate(): Xảy ra khi form được kích hoạt
DblClick(): Xảy ra khi nhắp double lên form
Thuộc tính:
Caption: Tiêu đề form
BorderStyle: Thiết đặt đường viền cho form
ControlBox: Hiển thị / tắt các nút Min, Max, Close
I – Form, các thuộc tính và sự kiện
Thuộc tính (tt):
Backcolor: màu nền
Enabled: Cho form hoạt động / không
MaxButton: Nút max hiệu lực/ không
MinButton: Nút min hiệu lực/không
StartUpPosition: Vị trí hiển thị form
II – Control, các thuộc tính và sự kiện
Điều khiển Label
Cho phép người dùng hiển thị ký tự trên biểu mẩu
Nam : tên điều khiển
Caption : hiển thị chuổi ký tự
Font, Fore color, BackStyle, BackColor: font ký tự, màu ký tự, nhãn trong suôt không ?, màu nền
Điều khiển khung Frame
Giúp bố trí giao diện trong sáng, rõ nét, làm nổi bật các điều khiển
Điều khiển Textbox
Giúp người dùng nhập thông tin vào, xuất thông tin,…
Maxlength: số ký tự tối đa
Text: dùng để nhận và xuất thông tin
Locked: cho phép thay đổi/không thuộc tính text
PasswordChar: quy định dạng hiển thị của ký tự
Multiline: hiển thị trên một dòng hay nhiều dòng
SelLength, Seltart, SelText: số ký tự chọn, vị trí ký tự bắt đầu chọn, chuyển ký tự chọn
II – Control, các thuộc tính và sự kiện
II – Control, các thuộc tính và sự kiện
Điều khiển Command Button
Nút lệnh
Caption: hiển thị ký tự trên nút lệnh
Default: nhập giá trị từ phím Enter
Cancel: Nhận gía trị từ phím Esc
Enabled: cho phép nút có hiệu lực hay không ?
Name: tên nút lệnh
Tooltip text: chú thích
Điều khiển Listbox
Cho phép hiển thị các đề mục để lựa chọn
Name: tên listbox
List: dữ liệu trong listbox
MultiSelect: Thuộc tính chọn : 1/nhiều
Thêm đề mục vào listbox: additem item [,index]
Xoá đề mục: box.remove index
Xoá tất cả các đề mục : box.clear
Nhận giá trị đề mục : thuộc tính text
II – Control, các thuộc tính và sự kiện
Điều khiển combo box
Được xem là tích hợp giữa text box và listbox
Style: Dạng bombo box
Kiểu Giá trị Hằng
Drop-down combo box 0 VbComboDropDown
Simple combo box 1 VbComboSimple
Drop-down list box 2 VbComboDropList
II – Control, các thuộc tính và sự kiện
Điều khiển Checkbox
Cho biết một mục có được chọn hay không ?
Private Sub Check1_Click()
If Check1.Value = vbChecked Then
Text1.Font.Bold = True
Else
Text1.Font.Bold = False
End If
End Sub
II – Control, các thuộc tính và sự kiện
Điều khiển Option button
Tương tự như Check box nhưng ở trong một nhóm chỉ có một mẩu được chọn
Điều khiển Hscrollbar
Có thể dùng làm thiết bị nhập, thiết bị chỉ định cho số lượng, vận tốc
Large change : xác định khoảng thay đổi khi ấn chuột
Small change : xác định khoảng thay đổi khi ấn chuột ở cuối thanh cuộn
Value: trả về giá trị của điều khiển trong [min, max]
II – Control, các thuộc tính và sự kiện
Private Sub HScroll1_Change()
Text1.FontSize = HScroll1.Value
Text1.Height = Text1.Height + HScroll1.Value
Text1.Width = Text1.Width + HScroll1.Value
End Sub
Điều khiển Vscrollbar
Tương tự Hscrollbar
II – Control, các thuộc tính và sự kiện
Chương IV : Hằng, biến, kiểu dữ liệu
Cách khai báo biến, sử dụng biến
Tầm vực và thời gian sống của biến
Cách định nghĩa hằng và sử dụng
Các kiểu dữ liệu cơ bản của VB
I- Biến và cách sử dụng
Là một vùng nhớ được đặt tên, dùng để lưu trữ dữ liệu trung gian trong quá trình hoạt động
Khai báo biến
Cú pháp : [ Dim | Private | Static | Public ] VarName As DataType
VD: Dim i as integer
Khai báo tường minh
Dim VarName [As VarType][, VarName2 [As VarType2]]
Private VarName[As VarType][, VarName2[As VarType2]]
Static VarName[As VarType][, VarName2[As VarType2]]
Public VarName[As VarType][, VarName2[As VarType2]]
Ví dụ:
Private iNumVal As Integer
Private iAvgVal As Integer, dInputval As Double
Static sCalcAverage As Single
Dim strInputMsg As String
Lưu ý:
Để được yêu cầu khai báo tường minh ta check vào mục Require Variable Declaration trong mục Option
Quy định cách đặt tên biến:
Tên phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới
Tên không được có dấu câu và các kí tự đặc biệt
I- Biến và cách sử dụng
Tên phải duy nhất (không trùng với tên nào) trong phạm vi hoạt động của nó.
Tên không dài hơn 255 kí tự
Tên không phân biệt chữ hoa và chữ thường
Ví Dụ:
Cách đặt tên biến không đúng
1tuan
tien.cua.toi
so luong
Cách đặt tên biến đúng
icount, number
I- Biến và cách sử dụng
Lưu ý:
Bạn nên đặt tên biến kèm theo ý nghĩa của loại biến ở ký tự đầu của tên biến
icount ‘biến kiểu integer
I- Biến và cách sử dụng
II - Tầm vực và thời gian sống của biến
Public: nếu biến được khai báo với từ khoá public trong module . Pas thì sẽ có tác dụng trong toàn chương trình
Private: nếu biến được khai báo với private trong module .pas thì nó chỉ có tác dung trong module.pas
Dim: Khai báo trong thủ tục, module.pas
Static: Biến tĩnh, khai báo trong thủ tục
Biến toàn cục
được khai báo với từ khoá public có tác dụng trong toàn CT
VD : public icount as integer
Biến cấp module
Được khai báo với từ khóa private, dim trong module
Chỉ được truy cập trong module
Vd: dim i as integer
private ngaythang as date
Tuy nhiên, ta có thể khai báo biến kiểu pubic trong module. Khi đó nó sẽ được truy cập trong module và cả ngoài module
II - Tầm vực và thời gian sống của biến
Biến cục bộ động
Được khai báo trong thủ tục và có thời gian sống trùng với thời gian sống của thủ tục
VD:
Sub PrintStr()
Dim Str As String ` Str là một biến cục bộ động.
...
End Sub
Biến cục bộ tĩnh
Được khai báo trong thủ tục với từ khoá static và có thời gian sống như biến module
II - Tầm vực và thời gian sống của biến
Mục đích: được sử dụng để ngăn ngừa các thủ tục khởi tạo lại giá trị, thường được sử dụng trong các sự kiện click chuột
II - Tầm vực và thời gian sống của biến
III - Hằng và cách sử dụng
Hằng chứa giá trị tạm, không thay đổi trong suốt quá trình hoạt động
Khai báo:
[
VD:
Const Pi=3.1416
Public Const Max As Integer =9
IV – Các kiểu dữ liệu cơ bản
Kiểu số nguyên:
Gồm: Byte, Integer, Long
Phép toán: +, - ,*, / (chia lấy phần nguyên), / (chia lấy phần dư)
Kiểu Boolean: (True /False)
Kiểu số thực:
Gồm: Single, Double, Currency
Hàm làm tròn Round : Round(10.02345,3)=10.023
Kiểu Date:
Kiểu ngày, giờ
VD:#11/11/1900#
#10/3/2005 12.20 AM#
Kiểu xâu ký tự - String
Khai báo:
Độ dài cố định: Dim Name as String * 50
Không cố định: Dim Name as String
IV – Các kiểu dữ liệu cơ bản
IV – Các kiểu dữ liệu cơ bản
Kiểu xâu ký tự - String (tt)
Hàm thông dụng
Len(str) : Lấy chiều dài chuỗi str
Mid(str, start, [length]): Trích chuỗi con từ chuỗi gốc
Left(str, [length]): Trích chuỗi con từ bên trái chuỗi str
Right(str, [length]): ……. phải … str
InStr([start, ] string1, string2[,compare]): Tìm chuỗi con trong chuỗi gốc - trả về vị trí tìm thấy
Start: Vị trí bắt đầu việc tìm kiếm
String1: Chuỗi để so sánh
String2: Chuỗi cần tìm
IV – Các kiểu dữ liệu cơ bản
Compare:
0 (vbBinaryCompare): So sánh chính xác
1 (vbTextCompare): Tương đối
VD:
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"
SearchChar = "P"
MyPos = Instr(4, SearchString, SearchChar, 1)
MyPos = Instr(1, SearchString, SearchChar, 0)
MyPos = Instr(SearchString, SearchChar)
MyPos = Instr(1, SearchString, "W")
IV – Các kiểu dữ liệu cơ bản
Kiểu xâu ký tự - String (tt)
Str: Chuyển đổi song kiểu chuỗi
Val: Chuyển đổi sang kiểu số
Kiểu Object
Chứa địa chỉ 4 byte để trỏ đến đối tượng
Cách dùng:
Dim Obj as Object
Set Obj = OpenDatabase(“d: vlot hu.mdb”)
IV – Các kiểu dữ liệu cơ bản
Kiểu Variant (mặc định)
Kiểu tổng quát, có thể chứa mọi kiểu khác (trừ kiểu chuỗi có độ dài cố định)
Hàm kiểm tra kiểu: VarType hoặc TypeName
Hằng giá trị
vbEmpty 0
vbNULL 1
vbInteger 2
vbLong 3
vbSingle 4
vbDouble 5
IV – Các kiểu dữ liệu cơ bản
vbCurrency 6
vbDate 7
vbString 8
vbObject 9
vbError 10
vbBoolean 11
vbVariant 12
vbByte 17
vbArray 8192
IV – Các kiểu dữ liệu cơ bản
Kiểu mảng
Là dãy các biến có cùng tên, cùng kiểu
Mảng có chiều dài cố định:
Dim Mang(14) As Integer 0 ..14
Public Mang(20) As Double 0..20
Dim Mang ( 10 to 24) As Integer 10 .. 24
Hàm Unbound: Trả về biên trên
Hàm Lbound: Trả về biên dưới
Dim Mang(3,1 to 10, 9) as Integer mảng 3 chiều, kích thước: 4 x 10 x 10
IV – Các kiểu dữ liệu cơ bản
Kiểu mảng (tt)
Mảng động:
Khai báo: Dim MangDong()
Cấp phát: ReDim [Preserve] MangDong(kích thước)
Ví dụ:
ReDim MangDong(10)
ReDim Preserve MangDong(Ubound(MangDong) +10)
IV – Các kiểu dữ liệu cơ bản
Kiểu mảng (tt)
Một số tính năng khác
Sao chép mảng:
Sub ByteCopy (Old() as Byte, New() as Byte)
New = Old
End sub
Trả về một mảng từ hàm
Public Function Ham(b as Byte) as Byte()
Dim X(2) as Byte
X(0) =b;
X(1) = b+2
X(2)= b+b
Ham= X
End Function
IV – Các kiểu dữ liệu cơ bản
Hàm và thủ tục
Cú pháp thủ tục:
[Private| Public|Static] Sub
End Sub
Cú pháp hàm:
[Private| Public|Static] Function
End Function
IV – Các kiểu dữ liệu cơ bản
Hàm và thủ tục (tt)
Có thể sử dụng Exit Sub / Exit Function
Truyền giá trị - ByVal
Sub Truyentri( Byval Ten as
End Sub
Truyền tham chiếu
Sub Truyenthamchieu(Ten as
End Sub
V - Cấu trúc điều khiển
Cấu trúc chọn
Cấu trúc lặp
V - Cấu trúc điều khiển
Cấu trúc chọn
Các biểu thức so sánh
Ký hiệu Ý nghĩa
= Bằng
<> Khác
> Lớn hơn
< Nhỏ hơn
>= Lớn hơn hoặc bằng
<= Nhỏ hơn hoặc bằng
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
If … Then
Một dòng:
If <đk> Then
Nhiều dòng:
If <đk> Then
End If
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
If … Then … Else
If <đk 1> Then
ElseIf <đk2> Then
Else
End If
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
Select Case
Select Case
Case
Case
….
Case Else
End Select
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
Select Case (tt)
Ví dụ:
Dim Number
Number = 8
Select Case Number
Case 1 To 5
Debug.Print "Between 1 and 5"
Case 6, 7, 8
Debug.Print "Between 6 and 8"
Case 9 To 10
Debug.Print "Greater than 8"
Case Else
Debug.Print "Not between 1 and 10"
End Select
V - Cấu trúc điều khiển
Cấu trúc chọn (tt)
Select Case (tt)
Lưu ý: Trong cấu trúc Case không sử dụng tên biến
Không dùng Case Index >100 mà
Case Is >100
V - Cấu trúc điều khiển
Cấu trúc lặp
Do … Loop : Lặp không xác định
Kiểu 1: Thực hiện trong điều kiện đúng
Do While <điều kiện>
Loop
Kiểu 2: Thực hiện trong điều kiện đúng
Do
Loop While <điều kiện>
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
Do … Loop : (tt)
Kiểu 3: Thực hiện trong điều kiện sai
Do Until <điều kiện>
Loop
Kiểu 4: Thực hiện trong điều kiện sai
Do
Loop Until <điều kiện>
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
For … Next : Lặp với số lần xác định
For
]
Next
Ví dụ:
For I = 1 To 10
For J = 1 To 10
For K = 1 To 10
. . .
Next
Next
Next
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
For Each … Next : Lặp với số số phần tử của tập các đối tượng/ mảng
For Each
Next
Phần tử: biến Variant, Object, Mảng
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
For Each … Next : (tt)
Ví dụ:
Dim mang(10) As Integer
Dim i
mang(0) = 1
mang(1) = 2
mang(2) = 3
mang(3) = 4
mang(4) = 5
For Each i In mang
MsgBox i
Next
V - Cấu trúc điều khiển
Cấu trúc lặp (tt)
While …Wend: Lặp không xác định, không sử dụng lệnh Exit
While <đk>
Wend
V - Cấu trúc điều khiển
Câu lệnh thoát – Exit
Lệnh Ý nghĩa
Exit do Lệnh thoát cho Do …
Exit For Lệnh thoát cho For …
Exit sub Lệnh thoát cho Sub
Exit Function Lệnh thoát cho Function
V - Cấu trúc điều khiển
Câu lệnh thoát – Exit (ví dụ)
Sub RandomLoop
Dim I, MyNum Do
For I = 1 To 1000
MyNum = Int(Rnd * 100)
Select Case MyNum
Case 17: MsgBox "Case 17"
Exit For
Case 29: MsgBox "Case 29"
Exit Do
Case 54: MsgBox "Case 54"
Exit Sub
End Select
Next Loop
End Sub
V - Cấu trúc điều khiển
Câu lệnh Go to: Bãy lỗi
On Error Goto Loi
Khi có lỗi chương trình sẽ nhảy đến Loi và thực hiện lệnh ở đó
VI- Tạo đối tượng trong VB
Khai báo biến đối tượng
Một số từ khoá thường dùng
VI- Tạo đối tượng trong VB
Tạo biến đối tượng
Cú pháp:
<[Dim]/[Public]/[Private]>
Ví dụ:
Dim frmbieumau As Form
Dim txtInfor As TextBox
Public cmdnutlenh As CommandButton
Private scrMyBar As ScrollBar
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá SET
Tham chiếu đến đối tượng chuyên biệt
Ví dụ:
Set frmBien = Form1
Set cmdNutlenh = Command1
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá IS
Cho phép kiểm tra biến đối tượng có tham chiếu đến đối tượng không
Ví dụ:
If biendoituong Is Doituong Then
……..
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá Nothing
Giải phóng vùng nhớ đã dùng cho đối tượng
Ví dụ
Dim Afont as Font
……….
Set Afont =Nothing
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Từ khoá New
Tạo đối tượng mới từ đối tượng gốc (là lớp)
Ví dụ: Tạo ra đối tượng mới từ đối tượng Form1
Dim Newform As New Form1
VI- Tạo đối tượng trong VB
Từ khoá thường dùng
Các kiểu đối tượng tổng quát: Control, Object, Variant
Dùng để tham chiếu đến các đối tương thuộc nhiều kiển khác nhau
Dim bien As Control
Dim obj As Object
VII- Menu và cách tạo Menu
Giới thiệu
Cách tạo menu
VII- Menu và cách tạo Menu
Giới thiệu
Có 2 loại menu cơ bản
Dạng thả xuống – Drop down menu
Dạng bật ra – Pop up menu
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng thả xuống
Tool Menu Editor
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng thả xuống
Các thuộc tính cơ bản
Caption : là chuỗi hiển thị trên menu
Name : tên của thành phần
Shortcut: tạo phím tắt cho thành phần
WindowList: Hiển thị tiêu đề của form con trong form mẹ (MDI)
Checked: Thuộc tính dạng check
Enable: Cho phép thuộc tính co tác dụng hay không
Visible: Cho phép thuộc tính được hiển thị hay không
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng thả xuống
Các thuộc tính cơ bản
Tách nhóm menu: Caption =‘-’
Tạo phím chọn nhanh: thêm ký tự & trược ký tự cần tạo trong mục Caption
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng bật ra
Tạo trược menu theo dạng thả xuống
Tắt thuộc tính Visible của menu vừa tạo
Thiết đặt sự kiện MouseUp
Ví dụ:
Private Sub MDIForm_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mfile, vbPopupMenuLeftAlign
End If
End Sub
VII- Menu và cách tạo Menu
Cách tạo menu
Tạo menu dạng bật ra
Các thuộc tính hiển thị:
vbPopupMenuLeftAlign, vbPopupMenuRightAlign, vbPopupMenuCenterAlign
VIII- Hộp thoại dùng chung
Hộp thông điệp (Message Box)
Hộp nhập (Input box)
Các hộp thoại thông dụng (Common Dialog)
Hộp thọai hiệu chỉnh (Custom dialog)
VIII- Hộp thoại dùng chung
Hộp thông điệp – Message box
Xuất thông tin, tương tác với người dùng
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Ví dụ:
Msgbox “Thong tin hien thi”& chr(10)& “ dung chung”
Dạng hộp thoại
VIII- Hộp thoại dùng chung
Hộp nhập – Input Box
Dùng nhận thông tin
InputBox(prompt[, title] [, default] [, xpos] [, ypos] [, helpfile, context])
VD:
Public Sub main()
Dim ReturnString As String
ReturnString = InputBox(" Nhap vao ten cua ban")
End Sub
VIII- Hộp thoại dùng chung
Các hợp thoại thông dụng
Mở tập tin
Lưu tập tin
Chọn màu
Chọn Font
In ấn
Trợ giúp
Tuy có 6 dạng hợp thoại, nhưng chúng ta chỉ dùng một công cụ duy nhất: Commondialog (Microsoft Common Dialog Control 6.0 (SP2) )
Hộp thoại mở và lưu tập tin
Chức năng: Mở và lưu tập tin
Ví dụ : Về hộp thoại Open
Private Sub Form_Load()
On Error GoTo ErrHander
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files(*.txt)|*.txt| Batch Files (*.bat)|*.bat"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen
Exit Sub
ErrHander: Exit Sub
CommonDialog1.ShowOpen
End Sub
Mở hộp thoại Lưu: ShowSave
Hộp thoại mở và lưu tập tin
Thuộc tính
Filter: Dạng tập tin mở/lưu
Filter index: Mục (dạng file) được chọn mặc định
Flags: Dạng mở/lưu tập tin (&H10&, &H200&, &H2000)
InitDir: Thư mục mặc định
Hộp thoại chọn màu
Chức năng
Cho phép chọn màu
ShowColor
Ví dụ
Private sub getcolor(){
commondialog1.showcolor
lname.BackColor=commondialog1.color
End sub
Hộp thoại Font
Chức năng
Cho phép người dùng chọn font chữ
Showfont
Thuộc tính flags: cho phép chọn loại font hiển thị
Ví dụ
Private sub getfont()
Commondialog1.showfont
lname.fontname=commondialog1.fontname
End sub
Private Sub Command1_Click()
CommonDialog1.Flags = &H3
CommonDialog1.ShowFont
End Sub
Các thuộc tính của hộp thoại font
Các thuộc tính của thuộc tính Flags
Hộp thoại Print
Chức năng
Thực hiện việc in ấn
ShowPrint
Một số thuộc tính thông dụng: Copies, FromPage, ToPage
Ví dụ
Commondialog1.ShowPrint
Thuộc tính của hộp thoại Print
X. Xử lý chuột và bàn phím
1. Sự kiện chuột
Biểu mẫu hoặc điều khiển có thể bắt đầu sự kiện chuột khi có con trỏ chuột đi ngang qua.
Có 3 sự kiện chuột chủ yếu , đó là:
MouseDown: Xảy ra khi người sử dụng ấn chuột
MouseUp : Xảy ra khi người sử dụng thả một nút chuột bất kỳ
MouseMove: Xảy ra khi con trỏ chuột di chuyển đến một điểm mới trên màn hình
Các tham số :
Button: cho biết nút chuột
Shift: Cho biết Shift , Ctrl hay Alt được ấn
X, Y : cho biết toạ độ con trỏ chuột
Sử dụng sự kiện MouseDown
Ví dụ mô ta sự kiện ấn chuột
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Line (10, 10)-(X, Y) ‘vẽ đường thẳng (10,10) đến (X,Y)
End Sub
X. Xử lý chuột và bàn phím
Sự kiện MouseUp:
Ví dụ mô ta sự kiện thả chuột
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 Then Print "Ban vua tha chuot trai“
If Button = 2 Then Print "Ban vua tha chuot phai“
If Button = 4 Then Print "Ban vua tha chuot giua“
End Sub
X. Xử lý chuột và bàn phím
Sử dụng sự kiện MouseMove
Thường dùng với phương thức Line để vẽ hình
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Circle (X, Y), 50
End Sub
Hiệu chỉnh con trỏ chuột
Ta có thể dùng thuộc tính MousePointer để hiển thị một biểu tượng, con trỏ màn hình hay con trỏ chuột đã được hiệu chỉnh. Dưới đây là một số giá trị của thuộc tính MousePointer
CcDefault
CcArrow
CcCross
……..
X. Xử lý chuột và bàn phím
2. Sự kiện bàn phím
Bàn phím cũng có 3 sự kiện:
KeyPress: khi một phím có mã ASCII bất kỳ được ấn
KeyDown: khi một phím bất kỳ được ấn
KeyUp: khi một phím bất kỳ được thả
Chỉ có những điều khiển đang có Focus mới bắt đầu sự kiện bàn phím.
Còn đối với biểu mẫu, nó chỉ bắt đầu được sự kiện bàn phím mỗi khi được kích hoạt và không có bất kỳ điều khiển khác có Focus.
X. Xử lý chuột và bàn phím
Private Sub Text1_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
MsgBox "Keycode: " & KeyCode & "Shift: " & Shift
End Sub
Shift Ý nghĩa
1 Phím Shift
2 Phím Ctrl
4 Phím Alt
KeyCode = 13 Phím Enter
KeyCode = 27 Phím Asc
X. Xử lý chuột và bàn phím
LẬP TRÌNH CƠ SỞ DỮ LIỆU
LẬP TRÌNH VỚI ADO
(ACTIVEX DATA OBJECT)
ADO (ActiveX Data Object)
ADO là gì?
Mô hình ADO
Tham chiếu ADO trong VB
Sử dụng các đối tượng của ADO
Tổng quan về phương thức truy cập dữ liệu
1. ADO là gì ?
ADO là giao diện lập trình truy xuất cơ sở dữ liệu được phát triễn bởi Microsoft, ADO nằm bên trên OLE DB, sử dụng những phương thức do OLE DB cung cấp để truy xuất dữ liệu.
OLE DB là một giao diện lập trình cơ sở dữ liệu ở mức hệ thống.
Một số phiên bản OLE DB:
Microsoft OLE DB Provider for ODBC
Microsoft OLE DB Provider for SQL Server
Microsoft OLE DB Provider for Microsoft Jet
Microsoft OLE DB Provider for Oracle
…….
ADO (ActiveX Data Object)
Mô hình đối tượng ADO
Đối tượng của ADO
Connection, command, Recordset: là 3 đối tượng chủ yếu của mô hình đối tượng này
Connection: Dùng kết nối cơ sở dữ liệu, làm nhiệm vụ kiểm soát giao dịch.
Connection có thể gắn liền với đối tượng Recordset hoặc Command
Command : Thực hiện lệnh.
Các hành động: Update, Insert, Delete và các câu lệnh truy vấn
Recordset: Chứa một tập hợp kết quả được trả về từ dữ liệu nguồn
Errors: Chứa thông tin liên quan đến lỗi gây bởi một trong những đối tượng trên mô hình ADO
ADO (ActiveX Data Object)
Tham chiếu ADO vào Visual Basic
Chọn Project / Reference/ Chọn Microsoft ActiveX Data Objects 2.7 Library ( Sử dụng cho trường hợp SQL Server)
Chọn Project / Components/Chọn Microsoft ADO Data Control 6.0 (OLE DB )
ADO (ActiveX Data Object)
Đối tượng Connection
Thuộc tính:
CommandTimeout: Thời gian chờ để nhận kết quả thực thi câu lệnh Execute
ConnectionString: Chỉ định chuỗi kết nối CSDL
Các thông số của ConnectionString:
Provider: SQLOLEDB dùng cho SQL Server
Data Source: Tên của Server
Initial Catalog: Tên của CSDL
UserID, Password: Tài khoản và mật khẩu đăng nhập vao CSDL
Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=NVLOT
ConnectionTimeout: Thời gian chờ để nhận kết quả kết nối. Mặc định là 15 giây
Cursorlocation: Cho biết đối tượng Recordset được tạo phía Client hay Server
Đối tượng Connection
DefaultDatabase: Tên CSDL SQL server cần kết nối
Provider: Chỉ định Data provider nào được sử dụng
State: Trả về trạng thái nối kết
Phương thức:
BeginTrans: Khởi tạo một giao dịch
Cancel: Ngừng thực thi câu lệnh Open hoặc Execute
Close: Đóng đối tượng Connection và ngắt nối kết
CommitTrans: Lưu lại tất cả những thay đổi được thực hiện trong quá trình thực hiện giao dịch
Execute: thực thi một câu truy vấn, câu SQL, thủ tục lưu trữ nội
Open: Thiết lập kết nối với SQL Server qua ConnectionString
RollbackTrans: Phục hồi tất cả thay đổi
Đối tượng Connection
Dim adoconnection As New ADODB.Connection
Dim adocommand As New ADODB.Command
With adoconnection
.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tes;Data Source=(local)"
.Open
.BeginTrans
End With
With adocommand
.ActiveConnection = adoconnection
.CommandType = adCmdText
.CommandText = "Insert sinhvien(ma,ten) values(4," & “Cong" & ") "
.Execute
End With
adoconnection.CommitTrans
Đối tượng Recordset
Phương thức:
Addnew: Thêm vào Recordset một mẫu tin mới
Cancel: Hủy bỏ thực thi phương thức Open
CancelBatch: Hủy bỏ những cập nhật sắp xảy ra trong một Recordset
Clone: Tạo một bản sao của Recordset
Close: Đóng Recordset và đóng kết nối với CSDL
Delete: Xóa mẫu tin hiện tại
GetRows: Nhận về nhiều mẫu tin đưa vào một mảng
GetString: Chuyển dữ liệu trong một Recordset thành chuỗi
Move: Di chuyển con tro dòng đi bao nhiêu mẫu tin
MoveFirst: Di chuyển về đầu mẫu tin
MoveLast: Di chuyển về cuối mẫu tin
Đối tượng Recordset
MoveNext: Di chuyển con trỏ dòng sang mẫu tin tiếp theo
MovePrevious: Di chuyển con trỏ dòng về mẫu tin trước đó
NextRecordset: Trả về Recordset kết tiếp
Open: Mở một Recordset dựa trên ActiveConncection và Source
Requery: Thực thi lại câu Query để là tươi
Resync: Làm tươi lại dữ liệu trong Recordset
Update: Lưu lại các thay đổi trên Recordset
UpdateBatch: Lưu lại những thay đổi trong một con trỏ theo lô
Đối tượng Recordset
Dim adoRS As New ADODB.Recordset
With adoRS
.ActiveConnection = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=(local)"
.Source = “Select EmployeeID, Lastname, FirstName From Employees"
.Open
End With
While adoRS.Fields.Count > 0
If (Not adoRS.BOF) And (Not adoRS.EOF) Then
Debug.Print adoRS.Fields("FirstName")
Debug.Print adoRS.Fields("LastName")
End If
Set adoRS = adoRS.NextRecordset //adoRS.MoveNext
Wend
Đối tương Command
Phương thức:
Cancel: Hủy bỏ thực thi câu lệnh Execute
Execute: thực thi câu lệnh trong thuộc tính ComandText
Thuộc tính:
ActiveConnection:Chuỗi nối kết đến CSDL
CommandText: Câu lệnh cần thực hiện
CommandTimeout: Số giây mà đối tượng Command chờ kết quả trả về
CommandType: Loai câu lệnh Command
Name: Tên đối tượng Command
State: Trạng thái của đối tượng Command Đóng, mở, đang kết nối,…
Trình bày dữ liệu trên DataGrid
Project Components Microsoft DataGrid Control 6.0
Project Components Microsoft ADO Data Control 6.0
ADO
(ADODC1)
DataGrid
(DBGrid)
Adodc1.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Northwind;Data Source=(local)"
Adodc1.CommandType = adCmdText
Adodc1.RecordSource = "select * from Employees“
Set adoRS.DataSource = Adodc1
Set DBGrid.DataSource = Adodc1
DBGrid.Refresh
Thêm mới, Cập nhật, Xóa dữ liệu
Dim sql, strcon As String
strcon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tes;Data Source=(local)"
sql = "Insert into sinhvien(mssv,hoten,phai) values(`" & txtmssv.Text & "`,`" & txthoten.Text & "`,`"
If Nam.Value = True Then
sql = sql & "Nam`)"
Else
sql = sql & "Nu`)"
End If
With adocommand
.ActiveConnection = strcon
.CommandText = sql
.Execute
End With
Adodc1.Refresh
DBGrid.Refresh
Thêm mới
Dim sql, strcon As String
strcon = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=tes;Data Source=(local)"
sql = "Update sinhvien set hoten=`" & txthoten.Text & "` where mssv=`" & txtmssv.Text & "`"
With adocommand
.ActiveConnection = strcon
.CommandText = sql
.Execute
End With
Adodc1.Refresh
DBGrid.Refresh
Câp nhật
Tom tắt kết nối ADO
Có thể sử dụng cách lệnh sau để kết nối và thực thi với cơ sở dữ liệu SQL Server / Access
Khai báo biến
Dim Conn, Rst, gsCon
Khởi tạo gsCon
gsCon=“chuỗi Provider”
Khởi tọa kết nối
Set Conn=CreateObject(“ADODB.Connection”)
Hoặc Conn2 as New ADODB.Connection
Khởi tạo kết nối bảng
Set Rst=CreateObject(“ADODB.Recordset”)
Hoặc R as New ADODB.Recordset
Tạo kết nối
Conn.Open gsConn
Thực thi phát biểu Insert/Update/Delete
Conn.Execute “Delete from…..”
Tạo kết nối với bảng csdl ứng với kết nối Conn
Rst.Open “Select * from ….” , Conn
Thêm dữ liệu vào bảng
Rst.AddNew
Rst(“Tên cột”)=“giá tri”
Rst.Update
Lấy dữ liệu
Biến=Rst(“Tên cột”)
Biến =Rst(“số thứ tự côt”)
Di chuyển trên bảng
Rst.MoveFirst
Rst.MoveLast
Rst.MoveNext
Rst.MovePrevious
Kiểm tra
Rst.EOF, Rst.BOF
Đóng nối kết: Rst.Close / Conn.Close
Crystal Report
Chức năng:
Cho phép in mẫu báo cáo ra màn hình, máy in, excel, word…
Thiết kế Report
Crystal Report
Danh sách mẫu báo cáo
Crystal Report
Nguồn dữ liệu
Microsoft SQL Server
Thông tin đăng nhập Microsoft SQL Server
Crystal Report
Crystal Report
Sau khi thiết kế song
Sử dụng điều khiển Crviewer Control
Project Components Crystal Report Viewer Control
Crystal Report 8.5 ActiveX Designers Design and Runtime Library
Private Sub Form_Load()
CRViewer1.EnableExportButton = True
Dim appReport As New CRAXDDRT.Application
Dim csReport As CRAXDDRT.Report
Set csReport = appReport.OpenReport(App.Path & "Report2.rpt")
csReport.Database.LogOnServer "pdssql.dll", “(local)", "tes", "sa", ""
CRViewer2.ReportSource = csReport
CRViewer2.ViewReport
End Sub
Mã lệnh hiển thị hộp thoại Print
Xây dựng, đăng ký và sử dụng tập tin DLL
DLL – Dynamic Link Library là thự viện liên kết động chứa các phương thức và thuộc tính có thể dùng lại
Xây dựng tập tin dll
File New Project ActiveX DLL
Đặt tên cho Project
Mục Instancing:
Private: Chỉ được phép tạo đối tượng trong dự án chứa đối tượng
PublicNotCreatable: Cho phép các ứng dụng khác sử dụng đối tượng, nhưng không cho phép các ứng dụng khác tạo chúng
MultiUse:Tạo tuỳ ý đối tượng
Global MultiUse:Tương tự MultiUse, trở thành một phần không gia được VB sử dụng
Tên lớp
Tên Project
Nội dung
Xây dựng, đăng ký và sử dụng tập tin DLL
Khai báo các phương thức và thuộc tính cho lớp
Lưu tập tin lại
Biên dịch:
Project Properties Component chọn Binary Compatibility
File Make
Đăng ký tập tin DLL
Start Run Nhập Regsvr32
Xây dựng, đăng ký và sử dụng tập tin DLL
Sử dụng tập tin DLL
Tạo Project mới
Project References Chọn Project chứa tập tin DLL
Khai báo đối tượng và sử dụng
Private Sub Command1_Click()
Dim s
Set s = CreateObject("BG.TEST")
MsgBox s.Giaithua(6)
End Sub
 






