DDE cho phép thực hiện các hàm và traođổi dữ liệu của MS-Access và mọi ứng dụng trong windows là Access Bassic, OLE làmột khả năng cao cấp của Windows cho phép liên kết các đối tượng hoặ
Trang 1MỤC LỤC
LỜI NÓI ĐẦU 2
CHƯƠNG 1 3
HỆ QUẢN TRỊ DỮ LIỆU MICROSOFT ACCESS & NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0 3
1.1) Tổng quan về hệ quản trị Microsoft acces 3
1.1.1) Khái niệm chung: 3
1.1.2) Các kiểu dữ liệu cơ bản của một số thuộc tính hay dùng trong MS-Access: 3
1.1.3) Bảng (TABLE) 5
1.2) Tổng quan ngôn ngữ lập trình VB 6.0 6
1.2.1) Tìm hiểu chung về Visual Basic 6.0 6
Bắt đầu một dự án mới với VB6 7
1.2.3) Tìm hiểu các thành phần của IDE 8
1.2.4) Quản lý ứng dụng với Project Explorer 11
- Cửa sổ Properties 11
1.2.5) Biến, hằng trong VB 12
1.2.6) Các kiểu dữ liệu cơ bản trong VB6 12
1.2.7) Các cấu trúc điều khiển 14
1.3) Lập trình giao diện và kiết nối cơ sở dữ liệu 18
1.3.1) Lập trình giao diện 18
1.4) Giới thiệu sơ lược các kỹ thuật kết nối CSDL: 23
CHƯƠNG 2 30
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHO BÀI TOÁN QUẢN LÝ KHO 30
2.1) Vài nét về phân tích và thiết kế hệ thống 30
2.2) Phân tích và thiết kế hệ thống cho bài toán quản lý kho 32
2.2.1) Khảo sát hiện trạng và xác lập dự án ( Công ty may TNHH Phương Đông– Bắc Kạn) 32
2.3) Phân tích hệ thống về xử lý 35
2.3.1) Mô hình cấp chức năng 35
2.3.2) Mô hình luồng dữ liệu (DFD) 36
2.4) Phân tích hệ thống về dữ liệu 41
2.4.1) Bảng chuẩn hóa 3NF (PHIẾU NHẬP): 43
2.4.2) Bảng chuẩn hóa 3NF (PHIẾU XUẤT): 44
2.5) Mô hình thực thể liên kiết (ERD): 45
CHƯƠNG 3:THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNHQUẢN LÝ KHO 46
3.1) Giao diện chính của chương trình: 46
3.2) Các form của chương trình: 47
PHỤ LỤC 53
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 56
NHẬN XÉT CỦA GIÁO VIÊN 57
Trang 2LỜI NÓI ĐẦU
Ra đời vào những năm 50 của thế kỷ XX máy tính và công nghệ đó cú nhữngbước phát triển vượt bậc cả về chất lượng và số lượng Nú đó trở thành một nhân tốkhông thể thiếu trong đời sống hiện đại của nhân loại trong thời đại hiện nay – Thời đạicủa công nghệ số
Với sự phát triển mạnh mẽ của ngành công nghệ thông tin và truyền thông trên thếgiới và ở nước ta Nú đó thúc đẩy mạnh mẽ quá trình tin học hóa trong nước Rất nhiềuphần mềm, những ứng dụng của ngành công nghệ thông tin đã được áp dụng rất hiệu quảvào thực tế Nó làm cho mọi công việc của chúng ta được giải quyết một cách nhanhchóng, hiệu quả và tiết kiệm thời gian Đặc biệt là ứng dụng của nó vào việc quản lý, vớinhững phần mềm quản lý trờn mỏy đó giỳp con người quản lý một cách có khoa học,chính xác và tiết kiệm được chi phí Chúng ta không phải dùng đến cả kho để chứa sổsách, giấy tờ…Núi chung máy tính đã thay thế phần lớn sức lao động của con người
Là một sinh viên Công nghệ thông tin em hiểu rất rõ vai trò của tin học trong cuộcsống hiện nay Đặc biệt là trong lĩnh vực tin học hóa công tác quản lý Trong đợt thực tập
Tốt nghiệp lần này em lựa chọn tìm hiểu về Microsoft Access – Visua Basic 6.0 là 2
phần mềm hỗ trợ quản lý Đối với bản thân em đây là một lĩnh vực khá mới mẻ, song emcũng cố gắng hết sức để có thể tìm hiểu sâu về nó để tạo điều kiện cho việc hoàn thiệnchương trình quản lý kho trong đợt thực tập này
Em rất mong được sự ủng hộ, đóng góp ý kiến của các thầy cô và các bạn để đề tàicủa em được hoàn thiện hơn
Em xin chân thành cảm ơn!
Sinh viên
Phạm Ngọc Quang
Trang 3CHƯƠNG 1
HỆ QUẢN TRỊ DỮ LIỆU MICROSOFT ACCESS
&
NGÔN NGỮ LẬP TRÌNH VISUAL BASIC 6.0
1.1) Tổng quan về hệ quản trị Microsoft acces.
1.1.1) Khái niệm chung:
MS-Access là hệ quản trị cơ sở dữ liệu với đầy đủ các chức năng Nú có đầy đủ
các chức năng định nghĩa dữ liệu , xử lý dữ liệu và kiểm soát dữ liệu cần thiết để quản lýmột dữ liệu lớn Với MS- Access hoàn toàn linh hoạt trong việc định nghĩa lưu trữ dữliệu và định nghĩa quy cách dữ liệu để hiển thị hoặc in Cũng có thể yêu cầu MS- Accesskiểm tra mối quan hệ hợp lệ giữa các tệp hoặc các bảng của cơ sở dữ liệu Ngoài ra MS-Access là một ứng dụng cao của MS-windows, nếu có thể sử dụng tất các phương tiệncủa cơ chế trao đổi dữ liệu động (DDE- Dynamic Date Exchange) và những liên kết đốitượng (OLE-Object Linking and Embedinh) DDE cho phép thực hiện các hàm và traođổi dữ liệu của MS-Access và mọi ứng dụng trong windows là Access Bassic, OLE làmột khả năng cao cấp của Windows cho phép liên kết các đối tượng hoặc nhỳng cỏc đốitượng vào một cơ sở dữ liệu của MS-Access MS-Access còn là một công cụ để hỗ trợ đểphát triển ứng dụng cơ sở dữ liệu nú có những phương tiện phát triển cơ sở ứng dụng tiêntiến để xử lý các dữ liệu thông dụng khác Song đặc trưng nổi bật nhất của MS-Access làkhả năng xử lý dữ liệu của các bảng tính, tệp văn bản, các cơ sở dữ liệu Foxprovaf một
số cơ sở dữ liệu SQL bất kì hỗ trợ chuẩn ODBC điều này có nghĩa là MS-Access có thể
xử lý dữ liệu trên SQL server của mạng hoặc từ một cơ sở dữ liệu SQL trên máy tínhlớn
1.1.2) Các kiểu dữ liệu cơ bản của một số thuộc tính hay dùng trong Access:
MS Các kiểu dữ liệu cơ bản
1 Kiểu Text: Lưu trữ các đối tượng được mô tả khoảng 1 dòng văn bản như: Họ
tên ,địa chỉ ,quê quán …(Thường có nội dung <=255 kí tự)
2 Kiểu Memo: Thường dùng lưu trữ các đối tượng được mô tả chi tiết (thường là
đoạn văn có kích cỡ <=64000 kí tự ) như:thành phần gia đình …
3 Number: Biểu diễn số nguyên ,số thực (inter,single,double,…)dài khoảng 1,2, 4
hoặc 8 byte
4 Data/time: Kiểu ngày tháng /giờ dài 8 byte để mô tả cách nhập và hiển thị dữ
liệu là ngày tháng /giờ
Trang 45.Currency: Dữ liệu kiểu tiền tệ , dài 8 byte.
6 Auto number: Kiểu số dài 8 byte dùng để lưu trữ số thứ tự thường là số nguyên.
7 Yes/ no: Kiểu lụgic để mô tả đối tượng mà chỉ có 2 cách lựa chọn
8.Ole Objiect: Đối tượng nhúng kết hình ảnh hay nhị phân dùng khi có sử dụng
nhúng kết với các đối tượng của các chương trỡnh khỏc
9 Hyperlink: Sử dụng liên kết kí tự hoặc kết hợp kí tự và số
10 Lookup Wizard: Dùng khi muốn chọn giá trị từ bảng khác
- Một số thuộc tính hay dùng :
*) Thuộc tính Field size
+ Với trường text: Độ dài mặc định là 50, độ dài hợp lệ là từ 1- 255
+ Với trường number :Mặc định là Double (8byte)
- Byte : Miền giá trị là 0-255
- Integer : Miền giá trị là -32768- 32767
- Longinteger: Miền giá trị là -214748648- 214748647
- Single : Miền giá trị là -3.4*10- 3.4*10
-Double : Miền giá trị là -1.797*10- 1.797*10
*) Thuộc tính Format: Nếu bỏ qua Format, Access sẽ trình bày theo General.
- Các kiểu liên kết :
Access dùng quan hệ (liên kết) để đảm bảo những rằng buộc toàn vẹn giữa cácbảng có liên quan trong cỏc phộp thờm , sửa , xóa mẫu tin
Có 3 kiểu liên kết
- Liên kết 1-n ( liên kết 1-nhiều ): Tức là mỗi bản ghi của thuộc tính khóa ở bảng
một (1) có thể xác định nhiều bảng ghi ở bảng nhiều (n).Mỗi thực thể bảng l chỉ có một
và thực thể trong bảng 1
- Liên kết 1-1 (liên kết một một): Tức là mỗi bảng ghi của một thuộc tính khóa ở
bảng này chỉ xác định duy nhất một bảng ghi ở bảng kia và ngược lại
- Liên kết n-n ( liên kết nhiều đến nhiều ): Tức là mỗi bảng ghi của thuộc tớnh
khúa ở bảng này có thể xác định nhiều bảng ghi ở bảng kia và ngược lại
* Tuy nhiên trong Access chỉ sử dụng 2 liên kết 1– n và 1-1, khi có liên kết n-n thì cầnsinh ra bảng chung gian (dùng thuộc tính khóa ngoài để đưa về dạng 1-n )
Trang 51.1.3) Bảng (TABLE)
- Khái niệm về bảng:
- Bảng là nơi chứa các dữ liệu của một đối tượng nào đó
- Một cơ sở dữ liệu thường gồm nhiều bảng
- Một bảng gồm có nhiều trường cú cỏc kiểu khác nhau như: Tex, Number,Date/Time…
- Các bảng trong cơ sở dữ liệu có quan hệ với nhau
- Tạo một bảng mới.
- Từ cửa sổ Database chọn Tab Table
- Bước1: Chọn New Hộp thoại New Table xuất hiện.(như hỡnh trờn).
Lựa chọn:
+) Datasheet View: Mở bảng cho phép nhập dữ liệu Access tự động ngầm
định tên trường là Field 1.
+) Design view:Cho phép ta thiết kế cấu trúc bảng.+) Table Wizard: Tạo bảng bằng Winzard.
+) Import Table: Nhập bảng từ một cơ sở dữ liệu khác.
+) Linhk Table: Tạo bảng và thiết lập một liên kết với cơ sở dữ liệu bên
ngoài
Trang 6- Bước 2: Chọn kiểu Design chọn OK xuất hiện hộp thoại như hình sau:
- Bước 3: Khai báo danh sách tờn cỏc trường ở cột Field Name, kiểu dữ liệu ở cột Dat
Type
- Bước 4: Thiết lập khóa cho các trường khóa.
Chọn các trường cần thiết lập khóa Nếu có nhiều trường giữ phím Ctrl sau đóbấm vào các trường cần chọn làm khóa
Bấm nút Primarykey trên thanh công cụ hoặc vào thanh Menu: Edit/Primarykey
- Bước 5: Bấm tổ hợp phím Ctrl+W: Chọn Yes (để lưu), No (không lưu), Cancel (Bỏ
qua) Nếu chọn Yes hộp thoại Save As xuất hiện Gừ tờn bảng cần lưu vào vùng TableName rồi nhấp OK
1.2) Tổng quan ngôn ngữ lập trình VB 6.0
1.2.1) Tìm hiểu chung về Visual Basic 6.0
Visual Basic 6.0 (VB6) là một phiên bản của bộ công cụ lập trình Visual Basic
(VB) cho phép người dùng truy cập nhanh cách thức lập trình trên môi trườngWindows Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6 những tính năng trợgiúp mới và các công cụ lập trình hiệu quả Người dùng mới làm quen với VB cũng cóthể làm chủ VB6 một cách dễ dàng
Với VB6, chúng 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 (ngày tháng với điều khiển MonthView vàDataTimePicker, các thanh công cụ có thể di chuyển được CoolBar, sử dụng đồ họa vớiImageCombo, thanh cuộn FlatScrollBar,…)
Làm việc với các tính năng ngôn ngữ mới
Làm việc với DHTML
Làm việc với cơ sở dữ liệu
Trang 7Các bổ sung về lập trình hướng đối tượng.
1.2.2) Làm quen với VB6
Bắt đầu một dự án mới với VB6
Từ menu Start chọn Programs/ Microsoft Visual Studio 6.0/ Microsoft Visual
Basic 6.0 Khi đó bạn sẽ thấy màn hình đầu tiên như hình dưới đây
Trang 8Cửa sổ New Project
Ở đây, người dùng có thể chọn tạo mới một dự án thực thi được bằng cách chọnStandard EXE rồi nhấp Open Tiếp theo là cửa sổ làm việc chính của VB6, gọi tắt là IDE(Integrated Development Environment) sẽ được giới thiệu chi tiết trong phần sau
1.2.3) Tỡm hiểu các thành phần của IDE
IDE là tên tắt của môi trường phát triển tích hợp (Integrated DevelopmentEnvironment), đây là nơi tạo ra các chương trình Visual Basic
IDE của Visual Basic là nơi tập trung các menu, thanh công cụ và cửa sổ để tạo rachương trình Mỗi một thành phần của IDE cú cỏc tính năng ảnh hưởng đến các hoạtđộng lập trình khác nhau
Thanh menu cho phép tác động cũng như quản lý trực tiếp trên toàn bộ ứng dụng Bêncạnh đó thanh công cụ cho phép truy cập các chức năng của thanh menu thông qua cỏcnỳt trờn thanh công cụ
Các biểu mẫu (Form) - khối xây dựng chương trình chính của VB - xuất hiện
trong cửa sổ Form Hộp công cụ để thờm cỏc điều khiển vào các biểu mẫu của đề án Cửa
sổ Project Explorer hiển thị các đề án khác nhau mà người dùng đang làm cũng như cácphần của đề án Người dùng duyệt và cài đặt các thuộc tính của điều khiển, biểu mẫu vàmodule trong cửa sổ Properties Sau cùng, người dùng sẽ xem xét và bố trí một hoặcnhiều biểu mẫu trên màn hình thông qua cửa sổ Form Layout
Trang 9Cửa sổ IDE của VB6
*) Sử dụng thanh công cụ trong IDE của VB
Thanh công cụ là tập hợp các nút bấm mang biểu tượng thường đặt dưới thanhmenu Cỏc nỳt này đảm nhận các chức năng thông dụng của thanh menu (New, Open,Save )
Thanh công cụ ở dạng standard
- Sử dụng thanh công cụ gỡ rối (debug)
Thanh công cụ gỡ rối
Với thanh công cụ gỡ rối, ta có thể thực thi, tạm ngưng hoặc dừng một đề án Vớithanh công cụ Debug, ta có thể kiểm tra chương trình và giải quyết các lỗi có thể xảy ra.Khi gỡ rối chương trình, ta có thể chạy từng dòng lệnh, kiểm tra giá trị các biến, dừngchương trình tại một điểm nào đó hoặc với một điều kiện nào đó
Trang 10- Sử dụng thanh công cụ Edit
Thanh công cụ Edit
Thanh công cụ Edit được dùng để viết chương trình trong cửa sổ Code, thanh công
cụ Edit có đầy đủ các tính năng của menu Edit Ngoài ra ta có thể sử dụng chức năng viếtchương trình tự động như là Quick Info
- Sử dụng thanh công cụ Form Editor
Thanh công cụ thiết kế biểu mẫu
Thanh công cụ Form Editor có chức năng giống như menu Format dùng để dichuyển và sắp xếp các điều khiển trên biểu mẫu
- Sử dụng hộp công cụ (Toolbox)
Hộp công cụ là nơi chứa các điều khiển được dùng trongquá trình thiết kế biểu mẫu Các điều khiển được chia làm hai loại:Điều khiển có sẵn trong VB và các điều khiển được chứa trong tậptin với phần mở rộng là OCX
Đối với các điều khiển có sẵn trong VB thì ta không thể gỡ
bỏ khỏi hộp công cụ, trong khi đó đối với điều khiển nằm ngoài ta
cú thờm hoặc xóa bỏ khỏi hộp công cụ
Trang 111.2.4) Quản lý ứng dụng với Project Explorer
Cửa sổ Project Explorer
Project Explorer trong VB6 giúp quản lý và định hướng nhiều đề ỏn.VB cho phépnhóm nhiều đề án trong cùng một nhóm Ta có thể lưu tập hợp các đề án trong VB thành
một tập tin nhóm đề án với phần mở rộng vbp.
- Cửa sổ Properties
Cửa sổ properties
Trang 12Mỗi một thành phần, điều khiển điều có nhiều thuộc tính Mỗi một thuộc tính lại
có một hoặc nhiều giá trị
Cửa sổ Properties cho phép ta xem, sửa đổi giá trị các thuộc tính của điều khiểnnhằm giúp điều khiển hoạt động theo đúng ý đồ của người sử dụng
1.2.5) Biến, hằng trong VB.
*) Biến:
Biến được dùng để lưu tạm thời các giá trị tính toán trong quá trình xử lý củachương trình Khi xử lý một chương trình ta luôn cần phải lưu trữ một giá trị nào đó đểtính toán hoặc so sánh Mỗi biến được đặc trưng bởi tên , biến không có sẵn trong chươngtrình muốn sử dụng chúng thì phải khai báo bằng một trong báo cáo cách thức sau:
Dim / Static /Global <tên biến > as <kiểu giá trị >
Khai báo với từ khoá Dim, Static dùng cho khai báo biến cục bộ Khai báo với từkhoá Public, Global dùng cho khai báo biến dùng chung cho toàn bộ chương trình
*) Hằng:
Dùng để chứa những dữ liệu tạm thời nhưng không thay đổi trong suốt timechương trình hoạt động Sử dụng hằng số làm chương trình sáng sủa, dễ đọc nhờ nhữngtên gợi nhớ thay vì các con số VB cung cấp một số hằng định nghĩa sẵn, nhưng ta cũng
có thể tạo ra hằng
Khai báo hằng :
[ Public / Private ] const < tên hằng >[<kiểu dữ liệu >] = <Biểu thức>
Hằng có tầm hoạt động tương tự biến Hằng khai báo trong thủ tục chỉ hoạt độngtrong thủ tục Hằng khai báo trong modul chỉ hoạt động trong modul Hằng khai báo trongphần Declarations của Modul chuẩn có tầm hoạt động trên toàn ứng dụng
1.2.6) Các kiểu dữ liệu cơ bản trong VB6.
Khi ta khai báo một biến trong chương trình tức là bạn tạo ra một khoảng bộ nhớ
đó lớn tuỳ thuộc vào biến đó được khai báo kiểu gì Khi khai báo điều quan trọng là xácđịnh biến cho phù hơp với các giá trị đưa vào
Kiểm soát nội dung của dữ liệu VB 12ung kiểu dữ liệu Variant như là kiểu mặcđịnh Ngoài ra, một số kiểu dữ liệu khác cho phép tối ưu hoá về tốc độ và kích cỡ chương
Trang 13trình Khi 13ung Variant ta không phải chuyển đổi giữa các kiểu dữ liệu, VB tự động làmviệc đó.
String - Là kiểu dữ liệu chuỗi, khoảng giá trị có thể lên đến 2 tỷ ký
tự Nhận biết biến này bằng tiếp vị ngữ $
Byte - Là các số nguyên, khoảng giá trị từ -2.147.483.648 đến
2.147.483.647 Nhận biết biến này bằng dấu & ở cuối
Date - Ngày tháng năm: 01- January -100 đến 31- December – 9999
Currency - $922,337,203,685,477.5808 đến+ $922,337,203,685,477.5807
Object - Đối tượng: Chứa một địa chỉ 4 byte trỏ đến đối tượng hiện
hành hoặc các ứng dụng khác
Integer - Là các số nguyên Nhận biết này bằng dấu % ở cuối
Single - Là các số có dấu chấm thập phân Nhận biết biấn này bằng
dấu ! ở cuối
Double - Là các số dấu thập phân Nhận biết biến này bằng dấu # ở
cuối
Boolean - Biến logic, có giá trị là True, hay False 13ung để gán giá trị
trong cỏc cõu lệnh điều kiện
Variant - Kiểu tuỳ ý:Cú thể chứa mọi loại dữ liệu kể cả mảng
Trang 141.2.7) Các cấu trúc điều khiển.
Đây là cỏc cõu lệnh cho phép người lập trình có thể điều khiển thứ tự thi hành củacỏc cõu lệnh trong chương trình
Trang 15VB lần lượt kiểm tra các điều kiện cho đến khi điều kiện đúng VB sẽ thi hành cáclệnh tương ứng.
*) Cấu trúc Select Case.
Giải quyết vấn đề có quá nhiều ElseIf được 15ung, giúp cho chương trình 15ungsủa, dễ đọc Biểu thức để so sánh được tính toán một lần vào đầu cấu trúc Sau đó VB so
sánh kết quả biểu thức với từng Case Nếu bằng nó thi hành khối lệnh trong Case đó
Cú pháp:
Select Case < biểu thức điều kiện >
[Case < danh sách biểu thức 1 >
[< khối lệnh – 1 > ] ] [Case < danh sách biểu thức 2 >
Mỗi danh sách biểu thức chứa một hoặc nhiều giá trị, các giá trị cách nhau bằng
dấu phẩy Mỗi khối lệnh có thể chứa từ 0 đến nhiều dòng lệnh Case Else không nhất
thiết phải có
*) Cấu trúc lặp For…Next
Cú pháp :
For < biến đếm > = < Điểm đầu > To <điểm cuối >
[ Step = <bước nhảy >]
Next [ biến đếm ]
Trong đó :
Biến đếm, biến đầu, biến cuối, bước nhảy là các giá trị số Bước nhảy có thể là các
giá trị âm hay dương Nếu bước nhày là một giá trị dương điểm đầu phải lớn hơn điểncuối nếu không khối lệnh sẽ không thi hành Nếu bước nhảy là mụt số âm, điểm đầu phải
Trang 16lớn hơn hoặc bằng điểm cuối Nếu Step không được chỉ ra thì mặc định bước nhảy bằng
1
Hoặc cú pháp khác : Tương tự vòng lặp For…next, nhưng nó lặp khối lệnh theo số phần
tử của một tập hợp đối tượng hay một mảng thay vì theo số lần lặp xác định Vòng lặpnày tiện lợi khi khong biết số phần tử trong tập hợp
For Each <phần tử > In < nhóm >
<khối lệnh>
Next [ phần tử ]
Để 16ung For Each…next:
Phần tử trong tập hợp chỉ có thể là kiều Variant, Object hoặc một đối tượng trongObject browser
Phần tử trong mảng chỉ có thể là biến Variant
Không dung For Each…Next với mảng chứa kiểu tự định nghĩa ví Variant khôngchứa kiểu tự định nghĩa
*) Cấu trúc Do…Loop.
Thi hành một khối lệnh với số lần lặp không định trước Trong đó, một biểu thứcđiều kiện dùng để so sánh để giải quyết định vòng lặp có tiếp tục hay hay không Điềukiện quy về False ( 0 ) hoặc True ( khác 0 )
Kiểu 1: Lặp khi điều kiện la True
Do while < điều kiện >
< khối lệnh >
Loop Kiểu 2 : Vòng lặp luụn cú ít nhất một lần thi hành khối lệnh.
Do
< khối lệnh >
Loop White <Điều kiện>
Trang 17Kiểu 3 : Lặp trong khi điều kiện là False
Do until <điều kiện >
- <Tờn nhãn>: là một tên được đặt theo quy tắc của một danh biểu
- Nếu một lệnh trong <Cỏc cõu lệnh có thể gây ra lỗi> thì khi chương trình thựcthi dến câu lệnh đó, chương trình sẽ tự động nhảy đến đoạn chương trình định nghĩa bêndưới <Tờn nhón> để thực thi
Dạng 2:
On Error Resume Next
<Cỏc câu lệnh cú thờ gây ra lỗi>
- Ý nghĩa:
Nếu một lệnh trong <Cỏc câu lệnh có thể gây ra lỗi> thì khi chương trình thực
thi đến câu lệnh đó, chương trình sẽ tự động bỏ qua cõu lờnh bị lỗi và thực thi câu lệnh
kế tiếp
Trang 18*) Vòng lặp While…Wend.
Tương tự như Do …while, nhưng ta không thể thoỏt vũng lặp bằng lệnh Exit Do
vậy, vòng lặp kiểu này chỉ thoát khi biểu thức điều kiện sai
1.3) Lập trình giao diện và kiết nối cơ sở dữ liệu.
1.3.1) Lập trình giao diện.
- Khi ta viết một chương trình với VB bạn phải trải qua 2 bước:
+ Thiết kế giao diện: Thiết kế giao diện chính là thiết kế hình dạng của Form, việc
bố trí các điều khiển trờn nú như thế nào
+ Viết lệnh cho các điều khiển: dựng cỏc lệnh trong VB để quy định cách ứng xửcho mỗi Form và cho mỗi Control
*) Thiết kế biểu mẫu sử dụng các điều khiển
- IDE của VB là nơi tập trung các menu, thanh công cụ và cửa sổ để tạo ra chương trình.Mỗi phần của IDE có tính năng ảnh hưởng đến các hoạt động lậptrình khác nhau Thanh menu cho phép bạn quản lý cũng như tác động trực tiếp lên toàn
bộ ứng dụng Thanh công cụ cho phép truy cập các chức năng của thanh menu qua cỏcnỳt trờn thanh công cụ
- Các biểu mẫu Form - khối xây dựng chính của các chương trình VB - xuất hiện trongcửa sổ Form Hộp công cụ (Toolbox) để thờm cỏc điều khiển vào Form
- Điều khiển: Các thành phần có sẵn để người lập trình tạo giao diện tương tác với người
dùng Các điều khiển tạo nên sức sống cho ứng dụng Chúng cho phép ứng dụng hiển thị
dữ liệu và tương tác với người sử dụng
*) Giới thiệu hộp công cụ thiết kế giao diện Toolbox
- Nút lệnh (Command button): Nút lệnh là một điều khiển dùng để bắt đầu, ngắt hoặc
kết thúc một quá trình Khi nút lệnh được chọn thỡ nú trụng như được nhấn xuống, do đónút lệnh còn được gọi là nút nhấn (Push Button)
- Hộp văn bản (Text box)
Ô văn bản là một điều khiển cho phép nhận thông tin do người dùng nhập vào.Đối với ô nhập liệu ta cũng có thể dùng để hiển thị thông tin, thông tin này được đưa vàotại thời điểm thiết kế hay thậm chí ở thời điểm thực thi ứng dụng Còn thao tác nhận
Trang 19thông tin do người dùng nhập vào dĩ nhiên là được thực hiện tại thời điểm chạy ứngdụng
Là một điều khiển thông dụng dùng để nhận dữ liệu từ người sử dụng cũng nhưhiển thị dữ liệu
- Thanh cuộn (Scoll bar):
Là điều khiển có thanh trượt cho phép cuộn ngang và người dùng có thể sử dụngHScrollBar như một thiết bị nhập hoặc một thiết bị chỉ định cho số lượng hoặc vận tốc
Ví dụ ta thiết kế volume cho một trò chơi trên máy tính hoặc để diễn đạt có bao nhiêuthời gian trôi qua trong một khoảng định thời nhất định
Thanh cuộn cho phép duyệt dễ dàng qua một danh sách dài gồm nhiều phần tử.Đây là một phần tử thông dụng của Window 95 và Window NT
- Điều khiển khung (Frame)
Dùng để gộp nhúm cỏc điều khiển khác nhau Khung là một điều khiển dùng trongviệc bố trí giao diện của biểu mẫu một cách trong sáng và rõ nét Thông thường các điềukhiển cùng phục vụ cho một công việc nào đó sẽ được đặt trong một khung nhằm làm nổibật vai trò của chúng
- Điều khiển nhãn (Label)
Nhãn là điều khiển dạng đồ họa cho phép người sử dụng hiển thị chuỗi ký tự trênbiểu mẫu nhưng họ không thể thay đổi chuỗi ký tự đó một cách trực tiếp
Thường đi kèm với hộp văn bản bởi hộp văn bản không có thuộc tính Caption nhưnút lệnh, nờn nhón sẽ làm việc đó
- Hộp đánh dấu (Check box)
Đây là điều khiển hiển thị dấu (.) nếu như được chọn và dấu (.) bị xoá nếu nhưkhông chọn Dùng điều khiển Check Box để nhận thông tin từ người dùng theo dạng Yes/
No hoặc True/False Ta cũng có thể dùng nhiều điều khiển trong một nhóm để hiển thịnhiều khả năng lựa chọn trong khi chỉ có một được chọn Khi Check Box được chọn, nó
có giá trị 1 và ngược lại có giá trị 0
Mỗi lần nhấn lên hộp đánh dấu, một thông điệp hiển thị trạng thái của hộp đánhdấu
Trang 20- Nút tuỳ chọn (Option)
Tương tự hộp đánh dấu nhưng điểm khác là nút Option loại trừ lẫn nhau nghĩa làtrong một hộp đánh dấu (Check box) có thể chọn tất cả; nhưng với một nhúm cỏc nỳt tuỳchọn (Radio button) ta chỉ được phép chọn một mà thôi
- Hộp hình và điều khiển
Ta có thể nạp hình ảnh vào lúc thiết kế hoặc khi thi hành ứng dụng Tuy nhiên, cầnchú ý: điều khiển ảnh không được đặt lên các điều khiển khác ngoại trừ Frame hayPicture box Trái lại, hộp hình có nhiều chức năng hơn nó có thể được vẽ ở bất kỳ đâu
- Hộp danh sách (List box)
Thông qua list box người sử dụng chỉ thấy được những gì họ được phép xem Họđược phép chọn một hoặc một vài phần tử trong danh sách
- Hộp kết hợp (Combo box)
Hộp kết hợp = hộp danh sách + hộp văn bản
Có 3 loại Combo box:
1 Hộp kết hợp thả xuống (Drop - down combo)
2 Đơn giản (Simple combo)
3 Hộp danh sách thả xuống (Drop - down list box)
- Điều khiển OLE:
+ Cho phép nhúng tất cả ứng dụng của Word vào VB
+ Ngoài ra VB còn cung cấp các điều khiển cho phép kết nối cơ sở dữ liệu mộtcách nhanh chóng như ADO, Coobar, Dữ liệu Crird…
*) Viết lệnh cho các điều khiển
Các điều khiển trên Form chỉ là một phần nhỏ của quá trình phát triển ứng dụngnhằm tạo ra giao diện cho ứng dụng Cần viết chương trình để cho ứng dụng đó hoạtđộng
Lập trình sự kiện:
Sau khi thiết kế một giao diện với các nút điều khiển Bạn viết lệnh cho các điềukhiển đó bằng cách:
Trang 21- Click đúp chuột lên điều khiển đó để mở cửa sổ Code hoặc Rightclick lên điềukhiển rồi chọn View/ Code trên Menu.
- Một cửa sổ Code hiện ra, bạn hãy viết lệnh vào đó Mỗi mã lệnh có hai dòng tiêu
đề đầu Sub và cuối là EndSub bạn hãy giữ nguyên hai dòng này và viết mã lệnh vào giữanó
Chạy thử: Nhấn vào RUN trên thanh công cụ
Ghi lưu:Nhấn chuột vào SAVE trên thanh công cụ
1.3.2) Lập trình xử lý giao diện.
*) Xử lý với Menu
a Dựng trỡnh soạn thảo để tạo Menu
Menu không chứa trong hộp công cụ như những điều khiển khác, mà được thiết kếbằng trình soạn thảo Menu Từ Menu /Tool chọn Menu Editor để mở chương trình này.Hoặc dùng Ctrl + E, hoặc nhấn vào biểu tượng của nó trên thanh công cụ của VB
Trang 22b Viết chương trình cho điều khiển Menu
Để lập trình cho Menu, ta mở cửa sổ thiết kế biểu mẫu và nhấn chuột lên mục mà
ta muốn xử lý Ví dụ muốn xử lý muc Open: Click chuột lên mục đó cửa sổ code sẽ mở
ra thủ tục mnuFileOpen_click và chờ nhập chương trình
*) Xử lý với hộp thoại (Dialog)
Dialog là một trong những cách thức để Window giao tiếp với người sử dụng Có
*) Thanh công cụ Toolbar
Là tính năng chuẩn của các ứng dụng chạy trên Window Nó cho phép truy cậpnhanh đến các chức năng của Menu
- Các sự kiện xảy ra trên chuột: Mousedown; Mouseup; Mousemove
- Biểu mẫu hoặc điều khiển có thể bắt sự kiện chuột khi con trỏ chuột đi ngang qua
- Sự kiện bàn phím: Ta có thể kiểm soát phím nhấn theo hai mức: Điều khiển hoặc biểumẫu Mức điều khiển cho phép lập trình với điều khiển; Mức biểu mẫu cho phép ta lậptrình với ứng dụng
Trang 231.4) Giới thiệu sơ lược các kỹ thuật kết nối CSDL:
1.4.1) Tổng quan về kết nối cơ sở dữ liệu
Visual Basic cung cấp kèm theo nó một bộ máy cơ sở dữ liệu có thể hiểu được dữliệu của Microsoft Access gọi là Joint Engine Technology (JET) JET là một bộ truy cập
cơ sở dữ liệu hướng đối tượng và nó là một phần không thể thiếu được của Visual Basic.Phiên bản của JET đi kèm với VB 6.0 là miễn phí nghĩa là VB có thể truy xuất trực tiếp
cơ sở dữ liệu của Microsoft Access Giao diện để VB truy xuất JET có tên là Data AccessObjects (DAO)
+ DAO (Dữ liệu Acess Objects): Là kỹ thuật kết nối CSDL riêng của Microsoft
Kỹ thuật này chỉ dùng với Jet Database Engine Ưu điểm của kỹ thuật này là tính dễdùng, nhanh chóng và tiện lợi Tuy nhiên DAO chỉ có thể liên kết được với hệ quản trịCSDL Microsoft Acess
+ ODBC (Open Database Connectivity): Được thiết kế để cho chương trình kếtnối với nhiều loại CSDL mà chỉ dùng một phương cách duy nhất Nú giỳp cho lập trìnhviên chỉ sử dụng một phương thức duy nhất để truy cập vào các hệ quản trị CSDL Hơnthế, khi chúng ta nâng cấp lên hệ quản trị CSDL cao hơn (Ví dụ: nâng cấp Acess lênSQLServer) thì sự sửa đổi trong chương trình sẽ rất ít
+ RDO (Remote Dữ liệu Object): Được thiết kế để giải quyết những khó khăn củaODBC Cách lập trình với RDO đơn giản như DAO, nhưng khả năng của nó thì nhưODBC RDO cho phép nhiều chương trình kết nối với CSDL Tuy nhiên RDO khôngđược sử dụng nhiều
+ ADO (ActiveX Dữ liệu Objects): ADO cho phép ta làm việc với mọi loại nguồn
dữ liệu (dữ liệu sources), không nhất thiết phải là CSDL Microsoft Acess haySQLServer Dữ liệu sources có thể là danh sách các địa chỉ Email, hay một file text trong
do mỗi hàng là một record gồm những fields ngăn cách bởi các dấu phẩy hay dấu tab
Nếu trong DAO ta dùng thẳng tên CSDL Microsoft Acess thì trong ADO cho tanối với một CSDL qua một connection bằng cách chỉ định một Connection String
Trang 241.4.2) Giới thiệu kỹ thuật lập trình ADO
Cách thức của một điều khiển ADO Data kết nối với cở dữ liệu trong ứng dụng
- ADO hiện nay được Microsoft xem là kỹ thuật để truy cập cơ sở dữ liêu từ Web Server.bởi vì ADO được cung cấp dưới dạng ActiveX Server, ta có thể dùng thoải mái ADOtrong các ứng dụng VB Trong thực tế ta sẽ thấy rằng sử dụng ADO để làm việc với cơ
sở dữ liệu Client/server thì dễ hơn các kỹ thuật khác Không giống như những kỹ thuậttruy nhập CSDL khác của VB (RDO, DAO) ADO có thể cung cấp cho người lập trìnhnhiều chọn lựa trong việc truy xuất dữ liệu Mặt khác, ADO không truy cập trực tiếp đếnmọi cơ sở dữ liệu, ADO làm việc với tầng thấp hơn là OLEDB Provider và OLEDBProvider này có nhiệm vụ truy xuất đến nhiều loại dữ liệu khác nhau, sau đó trình bàyCSDL ngược lại đến ADO Thuận lợi nhất của ADO là chúng ta có thể thay đổi OLEDBProvider
*) Kỹ thuật ADO cho phép truy cập dữ liệu thông qua 2 cách:
Data controls (các điều khiển dữ liệu): Là một điều khiển có chức năng giao
tiếp, cập nhật CSDL Để nhìn thấy dữ liệu ta phải dùng một số control thông thường khác(textbox, checkbox, label,…)
Object interface (giao tiếp đối tượng): Nếu khụng dùng sẵn các dữ liệu control
của VB thì ta vẫn có thể truy xuất dữ liệu bằng cách tạo một tham chiếu đến ADO - mộttập hợp các đối tượng mới được tạo ra này sẽ luôn có sẵn trong chương trình khi cầndùng đến Do đó ta có thể thao tác dữ liệu trực tiếp từ code chương trình (dựng cỏcphương thức và thuộc tính do các đối tượng này cung cấp) mà không phải dùng bất kỳ dữliệu control nào
kết nối
Các thuộc tính ConectionString của điều khiển ADO Data
Biểu mẫu
VB
Các thuộc tính DataSourse, DataField của điều khiển ràng buộc dữ liệu
Cơ sở
dữ liệu
Trang 25Tuy dữ liệu control dễ thiết lập hơn nhưng sử dụng Object interface thì mạnh hơn
và uyển chuyển hơn
- Sử dụng ADO Data Control
Điều khiển dữ liệu là cách đơn giản nhất để truy cập đến cơ sở dữ liệu trong VB,
dù cho đó là Access hay một hệ Client/Server
ADO DataControl không có sẵn trên hộp thanh công cụ Toolbox như một sốcontrol thông dụng khác, do đó bạn phải đưa vào bằng cách: Trên menu của VB chọnProject Components (hoặc Click chuột phải trên Toolbox chọn Components), trong
Tab control bạn Check vào ô "Microsoft ADO Data Control 6.0 (OLEDB)" rồi nhấn nút
Trang 26hiện 3 chọn lựa, chọn option thứ 3 là "Use Connection String", click "Build", chọn
Provider là "Microsoft Jet 4.0 OLE DB Provider" click Next để chỉ đường dẫn đến
Database Kế tiếp click "Test Connection" nếu thấy thành công OK Apply OK
Bước 2: Thiết lập Record Source từ CSDL
Ta cần chỉ ra tập hợp mẩu tin nào sẽ được lấy ra từ nguồn dữ liệu trên Trong cửa
sổ Properties chọn thuộc tính Record Source khi đó bạn chọn ADODC1 Mở cửa sổProperty page (Phím tắt Shift + F4) Chọn 2-adCmdTable từ Command Type và nhấn nútOK
Để hiển thị dữ liệu từ ADO Dữ liệu Control ta cần phải có các Control thôngthường được "kết buộc dữ liệu" (data binding) với ADO Data Control này
Các điều khiển cần dùng dữ liệu là các điều khiển bất kỳ có thuộc tínhDataSource thuộc tính này tham chiếu đến một điều khiển dữ liệu Thuộc tính này kếtnối điều khiển giao diện người sử dụng với điều khiển dữ liệu
Một số các điều khiển cần dùng dữ liệu đi kèm với VB:
CheckBox: Điều khiển cung cấp một điều kiện đúng / sai
ComboBox: Hộp kết hợp xổ xuống chuẩn của VB
DBCombo: Điều khiển hỗ trợ một danh sách xổ xuống tương tự như ComboBox
Trang 27DataGrid: Lưới hiển thị cơ sở dữ liệu theo dòng và cột
DateTimePicker: Điều khiển này có thể ràng buộc với một trường ngày hoặc giờtrong một cơ sở dữ liệu
DBList: điều khiển hộp danh sách này tương tự điều khiển hộp danh sách chuẩncủa VB Nhưng nó có thể điền dữ liệu vào danh sách từ một bảng cơ sở dữ liệu
Hierarchical FlexGrid: Tương tự điều khiển FlexGrid trong VB5 điều khiển nàycho phép thao tác với nhiều mẩu tin quan hệ trong một điều khiển lưới
Image: Điều khiển này tương tự điều khiển PitureBox, nhưng thiếu một vài tínhnăng của nó
Label: Điều khiển này cho phép trình bày văn bản từ một trường cơ sở dữ liệu,nhưng ngăn cản người sử dụng sửa đổi nó
ListBox: Đây là hộp danh sách chuẩn của VB Ta không sử dụng điều khiển nàycho mục đích truy cập dữ liệu mà sử dụng điều khiển mạnh hơn, DBList
MaskedEdit: Điều khiển này tương tự một hộp văn bản, nhưng cung cấp một sốchức năng kiểm tra nội tại cũng như một hiển thị mặc định gợi ý cho người sử dụng
OLE: Điều khiển chứa OLE trình bày các tài liệu được tạo bởi các ứng dụng hỗ trợOLE khác
PictureBox: Điều khiển này hiển thị một hình ảnh đồ hoạ
TextBox: Điều thông dụng này cho phép người sử dụng nhập dữ liệu trực tiếp
để thực thi một câu lệnh SQL hay gọi một thủ tục trong Database
Khai báo thư viện ADO để sử dụng các đối tượng trên: Vào menu Project
References check vào ô "Microsoft Active Data Objects 2.7 Library"
Trang 28*) Đối tượng Connection và đối tượng Recordset:
- Đối tượng Connection:
+) Lệnh khai báo và khởi động đối tượng Connection
Dim tờn_connection as new ADODB.connectionHoặc là: Dim tờn_connection as ADODB.connectionSet tờn_connection = new ADODB.connection
+) Chỉ ra chuỗi kết nối CSDL (Connnection String)
Tờn_biến.ConnectionString
+) Có thể sử dụng:
- Đường dẫn trực tiếp trong ConnectionString
- Đường dẫn tương đối qua đối tượng APP do VB cung cấp để chỉ ra vị trílưu trữ dữ liệu base
+) Mở kết nối
Tờn_connection.Open
Để kiểm tra việc kết nối có thành công hay không dùng thuộc tính state:
Nếu kết nối thành công thỡ tờn_connection.state=adStateOpen ()
Ngược lại thỡ tờn_connection.state=adStateClose ()
+) Đóng kết nối
Tờn_connection.Close
Đối tượng Recordset (Là tập hợp các mẫu tin):
- Khai báo và khởi tạo đối tượng Recordset
Dim tờn_recordset as ADODB.Recordset
Set tờn_recordset =new ADODB.Recordset
Hoặc: Dim tờn_recordset as new ADODB.Recordset
+) Dùng phương thức Open chọn nguồn dữ liệu
Trang 29Cách 1:
Tờn_recordset.Open Source, ActiveConnection, CursorType, LockType, Option.Source là một câu lệnh SQL hoặc tên một table
ActiveConnection: Tờn_connection kết nối CSDL
CursorType: Chỉ định loại con trỏ sử dụng trong recordset
LockType: Kiểu khoá mẩu tin
Gọi phương thức Open: Tờn_recordset.Open
Lấy giá trị của Field
+) Truy xuất dữ liệu trong recordset chọn Field cần lấy giá trị
Có 3 cách:
Tờn_recordset Fileds ("tờn_field")
Tờn_recordset.Fields (index)
Tờn_recordset! tờn_field
- Các thao tác trên mẩu tin
+) Thêm một mẩu tin: Tờn_recordset.AddNew
+) Sửa một mẩu tin:Tờn_recordset.Update
+) Xoá một mẩu tin:Tờn_recordset.Delete
+) Tìm kiếm mẩu tin:
Tờn_recordset.Find Criteria, Skiprecord, SearchDirection, Start
+) Thuộc tính Boookmark, AbsolutePosition của đối tượng recordset
Tờn_recordset.Boookmark cho biết vị trí xác định là duy nhất của mẩu tin hiệnhành trong recordset
Tờn_recordset.Absoluteposition lưu trữ thông tin vị trí của mẩu tin hiện hànhtrong recordset