Dù bạn là lập trình viên chuyên nghiệp hay mộtngười mới học lập trình, Visual Basic đều cung cấp các công cụ hoàn chỉnh đểđơn giản hoá việc tạo chương trình Thêm vào đó, Visual Basic 6.0
Trang 1Môc Lôc
LỜI CÁM ƠN 1
LỜI NÓI ĐẦU……… 3
CHƯƠNG I: KHÁI QUÁT VỀ VISUAL BASIC 4
1.1/ Lựa chọn ngôn ngữ 4
1.2) Tìm hiểu chung về Visual Basic 6.0 7
1.3) Quản lý ứng dụng với Project Explorer 12
1.4) Biến, hằng trong VB 13
1.5) Các kiểu dữ liệu cơ bản trong VB 6.0 13
1.6) Các cấu trúc điều khiển 15
1.7) Lập trình giao diên và kết nối cơ sở dữ liệu 19
1.8) Giới thiệu sơ lược các kỹ thuật kết nối CSDL: 24
CHƯƠNG II: KHẢO SÁT,PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG CHO BÀI TOÁN QUẢN LÝ BÁN HÀNG CỦA CỬA HÀNG TUẤN ANH 32
2.1/ Giới thiệu về cửa hàng Tuấn Anh 32
2.2/ Mô tả hệ thống bán hàng của cửa hàng Tuấn Anh 32
2.3/ Đánh giá việc quản lý bán hàng của cửa hàng Tuấn Anh 36
2.4/ Hướng giải quyết hệ thống quản lý bán hàng của cửa hàng Tuấn Anh 36
2.5/ Vài nét về phân tích và thiết kế hệ thống 37
2.6/ Thông tin vào/ra của hệ thống 40
2.7/ Phân tích hệ thống 41
2.8/ Phân tích hệ thống về dữ liệu 48
CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG CỬA HÀNG TUẤN ANH 56
3.1/ Thiết kế chương trình 56
3.2/ Kết quả của chương trình 67
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN : 71
TÀI LIỆU THAM KHẢO : 72
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ững bước phát triển vượt bậc cả về chất lượng và số lượng Nó đã trở thànhmộ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 đạihiện nay – Thời đại củ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ôngtrên thế giới và ở nước ta Nó đã thúc đẩy mạnh mẽ quá trình tin học hóa trongnước Rất nhiều phầ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 nhanh chó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ới nhữ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 chiphí Chúng ta không phải dùng đến cả kho để chứa sổ sách, giấy tờ…Nói chungmáy tính đã thay thế phần lớn sức lao động của con người, giúp con người hoànthành công việc một cách nhanh nhất, hiệu quả và tiết kiệm thời gian
Trang 3CHƯƠNG I KHÁI QUÁT VỀ VISUAL BASIC
1.1/ Lựa chọn ngôn ngữ
Visual Basic là ngôn ngữ dùng để viết một ứng dụng nhanh chóng và hiệuquả trên Microsoft Window Dù bạn là lập trình viên chuyên nghiệp hay mộtngười mới học lập trình, Visual Basic đều cung cấp các công cụ hoàn chỉnh đểđơn giản hoá việc tạo chương trình
Thêm vào đó, Visual Basic 6.0 cung cấp công cụ kết nối CSDL một cáchthật đơn giản
Sở dĩ em chọn Visual Basic 6.0 là ngôn ngữ lập trình trong lần làm đề tài này
vì Visual Basic 6.0 là phiên bản mạnh nhất của Visual Basic.Thêm vào đó em sẽsử dụng hệ quản trị Microsoft Access làm cở sở dữ liệu
*) TỔNG QUAN VỀ HỆ QUẢN TRỊ MICROSOFT ACCESS.
+ 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ầnthiế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- Access kiểm tra mối quan hệ hợp lệ giữa các tệp hoặccá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ện của cơ chế trao đổi dữ liệu động(DDE- Dynamic Date Exchange) và những liên kết đối tượng (OLE-ObjectLinking and Embedinh) DDE cho phép thực hiện các hàm và trao đổi dữ liệucủa MS-Access và mọi ứng dụng trong windows là Access Bassic, OLE là mộtkhả 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đối tượ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ên tiến để xử lý các dữ liệu thông dụng khác Song đặc trưngnổ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
Trang 4ODBC điều này có nghĩa là MS-Access có thể xử lý dữ liệu trên SQL server củamạng hoặc từ một cơ sở dữ liệu SQL trên máy tính lớn
1.1.1 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ờ
5.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)
- Longinteger: Miền giá trị là -214748648- 214748647
Trang 5*) Thuộc tính Format: Nếu bỏ qua Format, Access sẽ trình bày theo
- 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-nthì cần sinh ra bảng chung gian (dùng thuộc tính khóa ngoài để đưa về dạng 1-n)
1.1.2 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
Trang 6- 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
- 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 Ctrlsau đó 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ưuvào vùng Table Name rồi nhấp OK
*) TỔNG QUAN NGÔN NGỮ LẬP TRÌNH VB 6.0
1.2) 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ôitrường Windows Những ai đã từng quen thuộc với VB thì tìm thấy ở VB6
Trang 7nhữ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ớilà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ới ImageCombo, 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
Các bổ sung về lập trình hướng đối tượng
1.2.1) 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áchchọn Standard 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ếttrong phần sau
1.2.2) 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 ra chươ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ên cạnh đó thanh công cụ cho phép truy cập các chức năng của thanh menuthông qua các nú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ểumẫu của đề án Cửa sổ Project Explorer hiển thị các đề án khác nhau mà ngườidùng đang làm cũng như các phần của đề án Người dùng duyệt và cài đặt cácthuộc tính của điều khiển, biểu mẫu và module trong cửa sổ Properties Sau cùng,
Trang 9người dùng sẽ xem xét và bố trí một hoặc nhiều biểu mẫu trên màn hình thôngqua cửa sổ Form Layout.
Cử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ướithanh menu 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
Trang 10Vớ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ới thanh công cụ Debug, ta có thể kiểm tra chương trình và giải quyết cáclỗ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 tragiá trị các biến, dừng chương trình tại một điểm nào đó hoặc với một điều kiệnnào đó
- 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ết chươ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ốngnhư menu Format dùng để di chuyển và sắp xếp các điềukhiể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ùngtrong quá trình thiết kế biểu mẫu Các điều khiển đượcchia làm hai loại: Điều khiển có sẵn trong VB và các điềukhiển được chứa trong tập tin với phần mở rộng là OCX
Trang 11Đối với các điều khiển có sẵn trong VB thì ta không thể gỡ bỏ khỏi hộpcô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ỏihộp công cụ
1.3) 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.VBcho phép nhó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
Mỗ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
Trang 12thuộc tính của điều khiển nhằm giúp điều khiển hoạt động theo đúng ý đồ của người sử dụng
1.4) 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ủa chươ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ương trình muốn sử dụng chúng thì phải khai báo bằng một trongbá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áovớ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ững tê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động trong thủ tục Hằng khai báo trong modul chỉ hoạt động trong modul Hằngkhai báo trong phần Declarations của Modul chuẩn có tầm hoạt động trên toàn ứngdụng
1.5) Các kiểu dữ liệu cơ bản trong VB 6.0
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ềuquan 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 dùng kiểu dữ liệu Variant như là kiểumặ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à
Trang 13kích cỡ chương trình Khi dùng Variant ta không phải chuyển đổi giữa các kiểu
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 dùng để 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.6) 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ự thihành của các câu lệnh trong chương trình
các lệnh sau từ khóa Then
Nếu điều kiện đúng thì chương trình thi hành các lệnh, ngược lại sẽ thoátkhỏi lệnh Điều kiện là một biểu thức mà ở đó giá trị trả về là khác 0 hay (tươngđương với điều kiện có giá trị là TRUE hay FALSE )
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ẽ thihành các lệnh tương ứng.
1.6.3) Cấu trúc Select Case.
Giải quyết vấn đề có quá nhiều ElseIf được dùng, giúp cho chương trìnhsáng sủ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ó
1.6.4) 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 đầuphải lớn hơn điển cuối nếu không khối lệnh sẽ không thi hành Nếu bước nhảy là
Trang 16môt số âm, điểm đầu phải lớ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ặp này tiện lợi khi khong biết số phần tử trong tập hợp
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í Variantkhông chứa kiểu tự định nghĩa
1.6.5) 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ộtbiể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 hayhay không Điều kiệ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 >
On Error GoTo <Tên nhãn>
<Các câu lệnh có thể gây ra lỗi>
- Ý nghĩa:
- <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ươngtrình thực thi dến câu lệnh đó, chương trình sẽ tự động nhảy đến đoạn chươngtrình định nghĩa bên dướ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- 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ủaForm, 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 rachươ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ếplê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 thanhmenu qua các nú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ệntrong cử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ư đượcnhấ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ậpvà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ào tại thời điểm thiết kế hay thậm chí ở thời điểm thực thi ứng dụng
Trang 19Còn thao tác nhận thông tin do người dùng nhập vào dĩ nhiên là được thực hiệntại thời điểm chạy ứng dụng
Là một điều khiển thông dụng dùng để nhận dữ liệu từ người sử dụngcũ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ụng HScrollBar 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êu thờ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ềuphầ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ểndùng trong việ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ều khiể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ổi bậ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ên biểu mẫu nhưng họ không thể thay đổi chuỗi ký tự đó một cách trựctiế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ínhCaption 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ếunhư không chọn Dùng điều khiển Check Box để nhận thông tin từ người dùngtheo dạng Yes/No hoặc True/False Ta cũng có thể dùng nhiều điều khiển trongmộ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
Trang 20Mỗ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đánh dấu.
- 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 nhaunghĩa là trong một hộp đánh dấu (Check box) có thể chọn tất cả; nhưng với mộtnhó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 Tuynhiên, cần chú ý: điều khiển ảnh không được đặt lên các điều khiển khác ngoạitrừ Frame hay Picture 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épxem 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ệumột cá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 ứngdụng nhằm tạo ra giao diện cho ứng dụng Cần viết chương trình để cho ứngdụng đó hoạt động
Trang 21Chạ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.7.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à đượcthiế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ênthanh 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ênmụ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ó 4 kiểu hộp thoại:
+ Thông điệp (Message box): Là loại đơn giản nhất gồm 2 loại: Chỉ cungcấp thông tin và tương tác với người sử dụng
+ Hộp nhập (Input box): Input box ít được dùng do không có cách nào đểkiểm định dữ liệu đưa vào khi họ chưa nhấn Enter và Input box cho người sửdụng rất ít thông tin Muốn lấy được nhiều thông tin phải dùng biểu mẫu tự thiếtkế
*) 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éptruy cập nhanh đế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ểnhoặc biểu mẫ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ẫucho phép ta lập trình với ứng dụng
Trang 231.8) Giới thiệu sơ lược các kỹ thuật kết nối CSDL:
1.8.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 Access Objects (DAO)
+ DAO (Dữ liệu Acess Objects): Là kỹ thuật kết nối CSDL riêng củaMicrosoft Kỹ thuật này chỉ dùng với Jet Database Engine Ưu điểm của kỹ thuậtnà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ươngtrình kết nố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ình viên chỉ sử dụng một phương thức duy nhất để truy cập vàocác hệ quản trị CSDL Hơn thế, khi chúng ta nâng cấp lên hệ quản trị CSDL caohơn (Ví dụ: nâng cấp Acess lên SQLServer) 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ủa ODBC Cách lập trình với RDO đơn giản như DAO, nhưng khả năngcủa nó thì như ODBC RDO cho phép nhiều chương trình kết nối với CSDL Tuynhiê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ọiloại nguồn dữ liệu (dữ liệu sources), không nhất thiết phải là CSDL MicrosoftAcess hay SQLServer Dữ liệu sources có thể là danh sách các địa chỉ Email, haymột file text trong do mỗi hàng là một record gồm những fields ngăn cách bởicá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 ADOcho ta nối với một CSDL qua một connection bằng cách chỉ định một ConnectionString
Trang 241.8.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ừ WebServer bởi vì ADO được cung cấp dưới dạng ActiveX Server, ta có thể dùngthoải mái ADO trong các ứng dụng VB Trong thực tế ta sẽ thấy rằng sử dụngADO để 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ật truy nhập CSDL khác của VB (RDO, DAO)ADO có thể cung cấp cho người lập trình nhiề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 đến mọi cơ sở dữ liệu, ADO làmviệc với tầng thấp hơn là OLEDB Provider và OLEDB Provider này có nhiệm vụtruy xuất đến nhiều loại dữ liệu khác nhau, sau đó trình bày CSDL ngược lại đếnADO Thuận lợi nhất của ADO là chúng ta có thể thay đổi OLEDB Provider
*) 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ôngthườ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ột tập hợp các đối tượng mới được tạo ra này sẽ luôn có sẵn trongchương trình khi cần dùng đến Do đó ta có thể thao tác dữ liệu trực tiếp từ codechương trình (dùng các phương thức và thuộc tính do các đối tượng này cungcấp) mà không phải dùng bất kỳ dữ liệu control nào
Tuy 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
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 25- 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ệutrong 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ọn Project 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 Apply OK.
Bạn tạo mới một Form thiết lập giá trị cho các thuộc tính: Name, captioncủa form này Kế tiếp ta vẽ control này vào Form, lấy tên là ADODC1
Kết nối ADO Dữ liệu với nguồn dữ liệu từ CSDL, bạn thực hiện qua 2bước sau:
Bước 1: Tạo một Connection đến CSDL
Click chuột chọn ADODC1 trên form mới tạo, trong cửa sổ Propertieschọn thuộc tính Connectionstring bạn Click vào Button hiện ra cửa sổ
Trang 26String", 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ếuthấ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ọnADODC1 Mở cửa sổ Property page (Phím tắt Shift + F4) Chọn 2-adCmdTable
từ Command Type và nhấn nút OK
Để hiển thị dữ liệu từ ADO Dữ liệu Control ta cần phải có các Controlthông thườ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ínhnày kết nố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
Trang 27DBCombo: Điều khiển hỗ trợ một danh sách xổ xuống tương tự nhưComboBox
DataGrid: 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àyhoặ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áchchuẩn củ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ềukhiển này cho 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ộtvài tính nă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ềukhiển này cho 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ấpmộ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 ý chongườ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 ứngdụ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ựctiếp
Trang 28cung cấp một số phương pháp cho người dùng truy cập và cập nhật dữ liệu, ngoài
ra còn có đối tượng "Command" để 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"
*) Đố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
Trang 29Đố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
+) Dùng phương thức Open chọn nguồn dữ liệu
Cá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")
Trang 30Tê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 recordsetTên_recordset.Boookmark cho biết vị trí xác định là duy nhất của mẩu tinhiện hành trong recordset
Tên_recordset.Absoluteposition lưu trữ thông tin vị trí của mẩu tin hiệnhành trong recordset
Trang 31CHƯƠNG II KHẢO SÁT, PHÂN TÍCH
VÀ THIẾT KẾ HỆ THỐNG CHO BÀI TOÁN QUẢN LÝ BÁN HÀNG CỦA CỬA HÀNG TUẤN ANH
2.1/ Giới thiệu về cửa hàng Tuấn Anh
- Cửa hàng Tuấn Anh là một doanh nghiệp tư nhân Hoạt động của cửa
hàng chủ yếu cung cấp các linh kiện điện thoại và điện thoại Được thành lập vàonăm 2012, tổng số cán bộ và nhân viên của công ty là 5 người, Có 2 máy tính,máy in, máy Fax và các thiết bị chuyên dụng khác phục vụ cho quá trình kinhdoanh của doanh nghiệp, Doanh thu hàng năm của công ty trên 400 triệu đồng
- Địa chỉ: SN 15 Tổ 1b – P.Đức Xuân – TX Bắc Kạn – Tỉnh Bắc Kạn
2.2/ Mô tả hệ thống bán hàng của cửa hàng Tuấn Anh
Cửa hàng sẽ chịu trách nhiệm nhập hàng và bán hàng, đồng thời cũng lànơi cập nhật danh mục mặt hàng, số lượng, đơn giá các loại mặt hàng Cửa hàng
là nơi trực tiếp bán hàng và cập nhật phiếu bán hàng Kế toán sẽ thống kê doanhthu, thống kê bán hàng trong tháng, tổng hợp tồn
Tóm lược quá trình làm việc
Hàng nhập về sẽ được sẽ được cập nhật danh mục sẽ nhập các mặt hàngnày, nhập giá, số lượng, các thông tin về mặt hang Những mặt hàng hay đơn giábiến động thì yêu cầu người nhập danh mục phải cập nhật giá kịp thời Nhân viênbán hàng lập phiếu bán hàng cho khách hang
Kế toán tổng hợp các biểu báo cáo doanh thu theo tháng, lập báo giá thiết bị,tổng hợp tồn
Trang 32*Một số biểu báo cáo
-Phiếu bán hàng:
MÁY TÍNH TUẤN ANH
ĐC: SN 15 Tổ 1b – P.Đức Xuân
TX Bắc Kạn – Tỉnh Bắc Kạn ĐT: 02813.878.027
Tổng Tiền
Tổng tiền ghi bằng chữ:………
Lưu ý: Quý khách kiểm tra hàng và tiền trước khi dời khỏi cửa hàng,
hàng bán ra miễn trả lại đổi lại Bảo hành theo tiêu chuẩn nhà sản xuất.
Không bảo hành trong trường hợp: không có tem, phiếu bảo hành, tem mác không rõ ràng tẩy xóa, thiết bị cháy nổ biến dạng.
Trang 33Phiếu nhập hàng:
MÁY TÍNH TUẤN ANH
ĐC: SN 15 Tổ 1b – P.Đức Xuân
TX Bắc Kạn – Tỉnh Bắc Kạn ĐT: 02813.878.027
Trang 34- Báo cáo tổng hợp tồn:
MÁY TÍNH TUẤN ANH ĐC: SN 15 Tổ 1b – P.Đức Xuân
TX Bắc Kạn – Tỉnh Bắc Kạn ĐT: 02813.878.027
Trang 352.3/ Đánh giá việc quản lý bán hàng của cửa hàng Tuấn Anh
* Hệ thống cũ
Công việc hiên tại của cửa hàng thực hiện hoàn toàn thủ công từ việc ghicác phiếu bán, cho đến các phiếu nhập,…Cho đến các công việc theo dõi, tổnghợp
Công việc này đòi hỏi rất nhiều thời gian đôi khi là thiếu chính xác, mà nếu cầnđưa ra các thông tin thống kê về tình hình bán hàng của cửa hàng thì phải mất rấtnhiều thời gian, điều này phần nào ảnh hưởng tới việc kinh doanh của cửa hàng
Để giải quyết điều này cửa hàng đã có nhu cầu tin học hóa trong việc quản lý bánhàng
* Yêu cầu của hệ thống mới
Hệ thống mới phải được thực hiện hoàn toàn trên máy vi tính các công việc sauđây:
-Theo dõi nhập hàng
-Theo dõi bán hàng
-Thống kê
-Tra cứu
>Mục tiêu quản lý : các yêu cầu trên cũng chính là mục tiêu quản lý
>Yếu tố thành công của bài toán:
-Quản lý chặt chẽ và chính sác các thông tin về tình hình bán hàng của cửahàng
-Thông tin được truy suất nhanh chóng
2.4/ Hướng giải quyết hệ thống quản lý bán hàng của cửa hàng Tuấn Anh
Qua quá trình khảo sát thực trạng của cửa hàng Tuấn Anh em thấy: Hệthống quản lý bán hàng của cửa hàng vẫn còn thô sơ, hầu hết các công việc vẫnbằng thao tác thủ công Với học hỏi của bạn bè, thầy cô, đặc biệt được sự giúp đỡ
của thầy giáo Lê Nam Huy , em đã mạnh dạn đóng góp một phần kiến thức xây
dựng chương trình quản lý bán hàng bằng Visual Basic 6.0