LỜI NÓI ĐẦU
Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin
(CNTT) từ một tiềm năng thông tin đã trở thành một tài nguyên thực sự, trở thành
sản phẩm hàng hoá trong xã hội tạo ra một sự thay đổi to lớn trong lực lượng sản
xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cả cách thức quản lý
trong các lĩnh vực của xã hội.
Trong những năm gần đây, nền CNTT nước ta cũng đã có phát triển trên mọi
lĩnh vực trong cuộc sống cũng như trong lĩnh vực quản lý xã hội khác. Một trong
những lĩnh vực mà máy tính được sử dụng nhiều nhất là các hệ thống thông tin quản
lý nói chung .Tuy các hệ thống này xét về mặt nào đó cũng đã đáp ứng được nhu
cầu của người sử dụng trong những phần mềm được lập trình chủ yếu trên môi
trường foxpro, các hệ thống đó có quy mô nhỏ, độc lập và tính thừa kế không cao.
Nhưng hiện nay, do quy mô, tính phức tạp của công việc ngày càng cao nên
việc xây dựng hệ thống thông tin quản lý không chỉ là việc lập trình đơn giản mà
phải xây dựng một cách có hệ thống. Các giai đoạn phân tích, thiết kế được tiến
hành một cách tỷ mỷ và chính xác.
Trong đồ án này tôi sẽ trình bày quá trình phân tích, thiết kế cho hệ thống quản
lý công chức - tiền lương của UBDS-GĐ&TE với hệ quản trị cơ sở dữ liệu MS
Access của hãng Microsoft. Và ngôn ngữ để xây dựng cho phần mềm này là Visual
basic
Nội dung của đồ án bao gồm:
- Chương I: Nhiệm vụ và vai trò của bài toán
- Chương II: Cơ sở lý thuyết và công cụ phát triển
- Chương III: Phân tích hệ thống chương trình quản lý công chức - tiền
lương của UBDS –GĐ&TE Thành Phố
- Chương IV: Thiết kế hệ thống quản lý
- Chương V: An toàn dữ liệu
Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên đồ án không tránh
khỏi những thiếu xót. Rất mong được sự đóng góp của quý thầy cô trong khoa công
nghệ thông tin trường Đại Học Bách Khoa Hà Nội, các quý thầy cô trong bộ môn
tin học trường Đại Học Thuỷ Sản và bạn bè đồng nghiệp.
phát từ thực tế khách quan của hoạt động quản lý, cần phảI đưa tin học vào trong
các lĩnh vực quản lý nói chung trong cơ quan, bên cạnh đó yếu tố con ngườI và tiền
lương do con ngườI làm ra càng không thể được xem nhẹ chính vì vậy cần có một
chính sách quản lý thật khoa học nên bài toán quản lý công chức - tiền lương giúp
cho việc điều hành chung trong cơ quan ngày một hiệu quả hơn.
B. Đặc tả các yêu cầu của bài toán
I. Khái quát chung về chức năng, nhiệm vụ quyền hạn và tổ chức bộ
máy của UBDSGĐ&TE Thành phố Nha trang tỉnh Khánh hoà
1. Chức năng
Uỷ ban Dân số, Gia đình và Trẻ em tỉnh, thành phố trực thuộc trung ương
( gọI tắt là Uỷ ban Dân số, Gia đình và Trẻ em ) là cơ quan chuyên môn thuộc Uỷ
ban nhân dân tỉnh, có chức năng giúp Uỷ ban nhân dân tỉnh quản lý nhà nước về
lĩnh vực dân số, gia đình, trẻ em trên địa bàn tỉnh, tổ chức phốI hợp giữa các cơ
quan nhà nước, tổ chức chính trị - xã hộI, tổ chức xã hộI của tỉnh nhằm thực hiện
luật, công ước quốc tế, các chính sách, chươnh trình, dự án, kế hoạch về dân số, gia
đình và trẻ em ở tỉnh.
HLHPN
Mặt trận
Các ban, ngành
đoàn thể, tổ
chức xã hội
UBDSGĐ & TE
THÀNH PHỐ
Truyền
thông
Uỷ ban Dân số, Gia đình và Trẻ em tỉnh chịu sự lãnh đạo toàn diện của Uỷ ban
nhân dân tỉnh và chịu sự lãnh đạo, hướng dẫn về chuyên môn nghiệp vụ của Uỷ ban
Quốc gia Dân số và Kế hoạch hoá gia đình và Uỷ ban Bảo vệ và chăm sóc trẻ em
Việt Nam.
Uỷ ban Dân số, Gia đình và Trẻ em có con dấu và tài khoản tạI Kho bạc Nhà
chương trình, kế hoạch hành động, về dân số gia đình và trẻ em; thực hiện kế hoạch
báo cáo định kỳ về Uỷ ban nhân dân tỉnh, Uỷ ban Quốc gia dân số và Kế hoạch hoá
gia đình và Uỷ ban Bảo vệ và Chăm sóc trẻ em Việt nam.
2.9. Tổ chức việc nghiên cứu, ứng dụng kết quả nghiên cứu, tiến bộ khoa học
kỹ thuật vào công tác dân số, gia đình và trẻ em ở tỉnh.
2.10. Hướng dẫn bồI dưỡng nghiệp vụ chuyên môn cho cán bộ làm công tác
dân số, gia đình và trẻ em ở tỉnh.
HLHPN
Mặt trận
Các ban, ngành
đoàn thể, tổ
chức xã hội
UBDSGĐ & TE
THÀNH PHỐ
Truyền
thông
3. Sơ đồ cơ cấu tổ chức của cơ quan
4. Sơ đồ quản lý của cơ quan
UBND Thành Phố
Uỷ Ban Dân Số Gia Đình
& Trẻ Em Thành Phố
Ban Dân Số GĐ & TE
Xã Phường
Tư pháp
Tổ chức lđ
Văn hoá tt
Tài chính
HLHPN
Giáo dục
Y tế
kê
Văn
thư
Họ và tên công chức
GiớI tính
Ngày sinh
Nơi sinh
Địa chỉ
Điện thoạI
Số CMND
Ngày vào cơ quan
Ngày vào biến chế
Qúa trình công tác ở nước ngoài
Bảo hiểm
Lương cơ bản
* Nhiệm vụ của các đơn vị trong cơ cấu quản lý của cơ quan:
- Chủ nhiệm: Do phó chủ tịch UBND kiệm nhiệm có nhiệm vụ quản lý chung
cho cơ quan
- Phó chủ nhiệm Thường trực: Phụ trách tổng hợp về chỉ đạo và tham mưu cho
cơ quan
- Phó chủ nhiệm Chuyên môn: Phụ trách về mảng chuyên môn
- Dịch vụ 02: Theo dõi tư vấn tình hình thực hiện biện pháp tránh thai, phi lâm
sàng hiện đạI, tiến bộ thực hiện, vận động sử dụng biện pháp tránh thai có kế
hoạch, biện pháp đẩy mạnh chương trình ( truyền thông, tư vấn )
- Truyền thông: Có kế hoạch tổ chức hoạt động và tổng hợp kết quả triển khai
để đề xuất, kiến nghị phương hướng thờI gian tới.
- Thống kê: Tổng hợp, nắm bắt các số liệu biến động dân số, sinh tử tạI các xã
phường theo từng thờI gian cụ thể.
- Văn thư: Có nhiệm vụ thu phát và lưu trữ các tài liệu do Ban tổ chức – Cán
mỗI ngườI, ngoài ra cần phảI hiểu thêm các thông tin khác để quản lý.
Những thông tin cần quản lý bao gồm:
Trong lý lịch, quản lý các thông tin một cách cụ thể hơn:
- Điện thoạI: Quản lý tất cả các số điện thoạI của công chức
- Chính trị: Đoàn viên, Đảng viên, Đoàn viên chỉ quản lý có hay không. Nếu là
đảng viên thì quản lý: Ngày vảo đảng, ngày chính thức, nơi vào đảng
- Chuyên môn: Quản lý tất cả các chuyên môn mà công chức đã được đào tạo
bao gồm: Chuyên môn gì? Nơi đào tạo ( Trường nào )? Văn bằng hay chứng chỉ
được cấp, ThờI gian dào tạo.
- Ngoại ngữ: Quản lý trình độ tất cả các ngoạI ngữ mà công chức biết được.
- Qúa trình công tác ở nước ngoài: Để quản lý những chuyến đi nước ngoài
của công chức. Nếu công chức nào đi thì quản lý: Thời gian, lý do, nước đi
- Cựu chiến binh: Để quản lý những công chức nào đã đi bộ đội. Công chức
nào đã đi bộ độI thì quản lý: Ngày xuất ngũ, ngày nhập ngũ, binh chủng, cấp bậc
khi xuất ngũ.
- Quan hệ nhân thân: Bao gồm cha mẹ, vợ chồng, anh chị em ruột, con: Họ
tên, ngày sinh, nghề nghiệp, cơ quan, chức vụ tại cơ quan của từng người.
Dân tộc
Tôn giáo
Chính trị
Trình độ văn hoá
Chuyên môn
Ngoại ngữ
Cựu chiến binh
Chức vụ
Các quan hệ của bản thân
Khen thưởng
Kỷ luật
Nghỉ phép
Họ và tên công chức
CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN
A. Cơ sở lý thuyết
I. Các khái niệm cơ bản
+ Thực thể: Là một đốI tượng cụ thể nào đó
+ Thuộc tính thực thể: Tính chất xác định thực thể
+ Lớp thực thể: Các thực thể cùng thuộc tính
+ Lược đồ quan hệ:
• Thuộc tính: Tên thuộc tính, miền xác định của thuộc tính
• Lược đồ một quan hệ gồm các thuộc tính của thực thể ( Tên miền xác
định ) cùng vớI các mệnh đề rang buộc.
Lược đồ quan hệ: R=<x, w>=(A1:D1,A2:D2,…An:Dn,M)
Ai: Tên thuộc tính
Di: Miền xác định của thuộc tính
M: Mệnh đề ràng buộc
NộI dung của lược đồ quan hệ gọI là các bộ
+ Các phép toán tốI thiểu:
• Tìm kiếm dữ liệu theo tiêu chuẩn đã chọn, không làm thay đổI trạng thái
CSDL.
• Thay đổI cấu trúc CSDL.
• Thay đổI nộI dung CSDL.
• Xử lý, tính toán trên CSDL.
II. Khái niệm phụ thuộc dữ liệu và các dạng chuẩn
- Một thuộc tính gọI là phụ thuộc vào các thuộc tính khác khi giá trị của các
thuộctính này phụ thuộc vào giá tri của phụ thuộc kia. Sự phụ thuộc này có thể là
gIán tiếp hay trực tiếp.
- Một quan hệ bao giờ cũng có một nhóm thuộc tính mà giá trị của chúng qui
định giá trị các thuộc tính khác, nhóm thuộc tính đó gọI là khoá.
- VớI một quan hệ tuỳ vào các phụ thuộc của các thuộc tính vào khoá có trong
đó mà ta phân chia các quan hệ đó thành các dạng chuẩn khác nhau. Các dạng
chuẩn cơ bản.
Ưu điểm:
♣ Rẻ tiền
♣ Tiện lợI cho các ứng dụng có tính chất cá nhân hoặc nhóm nhỏ. Dễ bảo trì,
bảo hành.
♣ Đồng bộ: Phát triển trên một thiết kế và định hướng thống nhất.
♣ Tức thờI: Dữ liệu được cập nhật tức thờI khi phát sinh, đảm bảo thông tin
kịp thời.
♣ Được kiểm toán xác nhận về chương trình, qui trình, tính hợp pháp của các
thông tin do máy tính đưa ra.
Nhược điểm:
♣ Không đáp ứng được mô hình các bài toán có tổ chức dữ liệu lớn. Tốc độ
đọc, ghi các bảng dữ liệu giảm rất nhanh khi kích thước các bảng dữ liệu tăng từ vài
trăm Kb tớI hàng ngàn Mb. Đồng thờI tốc độ xử lý cũng phụ thuộc vào số lượng
ngườI sử dụng.
♣ Không đáp ứng được các mô hình kiến trúc Client/Server ( Mô hình này
hiện đang được sử dụng hết sức rộng rãi và ngày càng khẳng định được tính ưu việt
của nó ).
ĐốI vớI việc phát triển hệ thống, việc lựa chọn công cụ cũng có ý nghĩa hết
sức quan trọng. NgườI phát triển hệ thống phảI căn cứ vào khẳ năng của cơ sở mình
cũng như các yếu tố đặc thù mà lựa chọn công cụ cho phù hợp.
Trong đề tài quản lý công chức - tiền lương có một số yếu tố được xem xét khi
lựa chọn công cụ như sau:
* Khả năng phát triển của hệ thống: Hệ thông tin xây dựng trong giai đoan
hiện tạI đã và đang là bước đi ban đầu trong quá trình tiến tớI một hệ thống hoàn
hảo, do đó khả năng phảI nâng cấp dần trong tương lai là điều không thể tránh khỏi.
Chính vì vậy, yếu tố hàng đầu cần quan tâm khi lựa chọn công cụ là khả năng hỗ trợ
của chúng trong việc bổ sung phát triển hệ thống. Công cụ được chọn phảI giảm
được chi phí bảo hành và nâng cấp chương trình.
* Hệ quản trị cơ sở dữ liệu được chọn phảI có tính cởI mở cao để hệ thống có
thể dễ dàng kết nốI vớI các hệ thống thông tin khác.
kết nốI dữ liệu này vớI những bảng làm việc trong Excel một cách nhanh chóng và
dễ dàng.
Access cung cấp những công cụ gì?
Access cung cấp những thông tin quản lý CSDL quan hệ thực sự, hoàn thiện
vớI những định nghĩa khoá (Primary key) và khoá ngoạI (Foreign key), các loạI luật
quan hệ (một - một, một-nhiều), các mức kiểm tra mức toàn vẹn của dữ liệu cũng
như định dạng và những định nghĩa mặc định cho môi trường (Filed) trong một
bảng. Bằng việc thực hiện sự toàn vẹn dữ liệu ở mức database engine, Access ngăn
chặn được sự cập nhật và xoá thông tin không phù hợp.
Access cung cấp tất cả các kiểu dữ liệu cần thiết cho trường, bao gồm văn bản
(text), kiểu số (number), kiểu tiền tệ (currency), kiểu ngày/tháng (data/time), kiểu
meno, kiểu có/không (yes/no) và các đốI tượng OLE.Nó cũng hỗ trợ cho các giá trị
rỗng ( Null) khi các giá trị này bị bỏ qua.
Việc xử lý quan hệ trong Access đáp ứng được những đòi hỏI vớI kiến trúc
mềm dẻo của nó. Nó có thể sử dụng như một hệ quản lý CSDL độc lập, hoặc theo
mô hình Client/ Server. Thông qua ODBC (Open Database Connectivity), chúng ta
có thể kết nốI vớI nhiều dạng dữ liệu bên ngoài, ví dụ như: Oracle, Sybase, thậm chí
vớI cả những CSDL trên máy tính lớn như DB/2.
VớI Access chúng ta cũng có thể phân quyền cho ngườI sử dụng và cho các
nhóm trong việc xem và thay đổI rất nhiều các kiểu đốI tượng dữ liệu.
Tóm lạI: Microsoft Access là một hệ quản trị cơ sở dữ liệu tương tác vớI
ngườI sử dụng chạy trên môi trường Windows, nó tăng thêm sức mạnh trong công
tác tổ chức, tìm kiếm và tổ chức thông tin. Các quy tắc kiểm tra dữ liệu, giá trị mặc
định, khuôn nhập dữ liệu … của Microsoft Access hoàn toàn đáp ứng yêu cầu. Khả
năng kết nốI và công cụ truy vấn mạnh của nó giúp ta tìm kiếm thông tin một cách
nhanh chóng. Nó cho phép ta thiết kế được các biểu mẫu và báo cáo phức tạp đáp
ứng các yêu cầu đề ra. ĐốI vớI những yêu cầu quản lý dữ liệu ở mức độ chuyên
môn cao.
III. GiớI thiệu tổng quát ngôn ngữ lập trình VISUAL BASIC
Visual Basic là một ngôn ngữ thảo chương hoàn thiện và hoạt động theo kiểu
- Cấu trúc IF… THEN …ELSE
- Các cấu trúc lặp (Loops).
- Cấu trúc rẽ nhánh ( Select Case )
- Hàm ( Function ) và chương trình con ( Subroutines )
Visual Basic đưa ra phương pháp lập trình mớI, nâng cao tốc độ lập trình.
Cũng như các ngôn ngữ khác, mỗI phiên bản mớI của Visual Basic đều chứa
đựng những tính năng mớI chẳng hạn Visual Basic 2.0 bổ sung cách đơn giản để
điều khiển các cơ sở dữ liệu mạnh nhất có sẵn, Visual Basic 4.0 bổ sung thêm phần
hỗ trợ phát triển 32 bit và chuyển sang ngôn ngữ lập trình hướng đốI tượng đầy đủ,
hiện nay ngôn ngữ mớI nhất là Visual Basic 6.0 hỗ trợ nhiều tính năng mạnh hữu
hạn OLE DB để lập trình dữ liệu. Các lập trình viên đã có thể dùng Visua Basic 6.0
để tự mở rộng Visual Basic.
Visual Basic có sẵn các công cụ như: Các hộp văn bản, các nút lệnh, các nút
tuỳ chọn, các hộp kiểm tra, các hộp liệt kê, các thanh cuộn, các hộp thư mục và tập
tin… có thể dùng các khung kẻ ô để quản lý dữ liệu theo dạng bảng, liên lạc vớI các
ứng dụng Windows khác, truy nhập các cơ sở dữ liệu gọI chung là điều khiển thông
qua công nghệ OLE của Microsoft
Hệ trợ giúp trực tuyến đầy đủ giúp tham khảo nhanh chóng khi phát triển một
ứng dụng. Tuy nhiên việc này trên VB 6.0 đòi hỏI phảI có CD ROM.
Visual Basic còn hỗ trợ việc lập trình bằng cách hiện tất cả tính chất của đối
tượng mỗI khi ta định dùng đến nó. Đây là điểm mạnh của ngôn ngữ lập trình hiện
đạI
* Các bước thiết kế một ứng dụng Visual Basic:
- Xây dựng các cửa sở mà ngườI dùng sẽ thấy
- Quyết định những sự kiện mà các điều khiển trên cửa sổ sẽ nhận ra.
* Các nộI dung diễn ra khi ứng dụng đang chạy:
- Visual Basic giám sát các cửa sổ và các điều khiển trong từng cửa sổ cho tất
cả mọI sự kiện mà từng điều khiển có thể nhận ra ( các chuyển động chuột, các thao
tác nhắp chuột, di chuyển, gõ phím …)
- Khi Visual Basic phát hiện một sự kiện, nếu không có một đáp ứng tạo sẵn
năng tiến hành các thay đổI để đáp ứng các sự kiện của ngườI dùng.
2. TOOLS BOX ( Hộp công cụ )
Bản thân hộp công cụ này chỉ chứa các biểu tượng biểu thị cho các điều khiển
mà ta có thể bổ sung vào biểu mẫu là bảng chứa các đốI tượng được định nghĩa sẵn
của Visual Basic. Các đốI tượng này được sử dụng trong Form để tạo thành giao
diện cho các chương trình ứng dụng của Visual Basic. Các đốI tượng trong thanh
công cụ sau đây là công dụng nhất:
a. Scroll Ba: (Thanh cuốn)
Các thanh cuốn được dùng để nhận nhập liệu hoặc hiện thị kết xuất khi ta
không quan tâm đến giá trị chính xác của đốI tượng nhưng lạI quan tâm sự thay đổI
đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đốI tượng cho phép nhận từ ngườI
dùng một giá trị tuỳ theo vị trí con chạy (Thumb ) trên thanh cuốn thay cho cách gõ
giá trị số.
Thanh cuốn có các thuộc tính quan trọng nhất là:
- Thuộc tính Min: Xác định cận dướI của thanh cuốn
- Thuộc tính Max: Xác định cận trên của thanh cuốn
- Thuộc tính Value: Xác định giá trị tạm thờI của thanh cuốn
b. Option Button Control ( Nút chọn )
ĐốI tượng nút chọn cho phép ngườI dùng chọn một trong những lựa chọn đưa
ra. Như vậy, tạI một thờI điểm chỉ có một trong các nút chọn được chọn.
c. Check Box (Hộp kiểm tra )
ĐốI tượng hộp kiểm tra cho phép ngườI dùng kiểm tra một hay nhiều điều
kiện của chương trình ứng dụng. Như vậy, tạI một thờI điểm có thể có nhiều hộp
kiểm tra được đánh dấu
d. Label ( Nhãn )
ĐốI tượng nhãn cho phép ngườI dùng gán nhãn một bộ phận nào đó của giao
diện trong lúc thiết kế giao diện cho chương trình ứng dụng. Dùng các nhãn để hiện
thị thông tin không muốn ngườI dùng thay đổi. Các nhãn thường được dùng để định
danh một hộp văn bản hoặc một điều khiển khác bằng cách mô tả nộI dung của nó.
Một công cụ phổ biến nhất là hiện thị thông tin trợ giúp.
Điểm mẫu chốt cần phảI nhận thức rõ trongkhâu lập trình Visual Basic là:
Visual Basic xử lý mã chỉ để đáp ứng các sự kiện. Thực vậy, không như nhiều ngôn
ngữ lập trình khác, các dòng mã thi hành trong một chương trình Visual Basic phảI
nằm trong các thủ tục hoặc các hàm, các dòng mã bị cô lập sẽ không làm việc
I.CỬA SỔ CODE
Của sổ Code luôn là nơi để viết mã. Cửa sổ Code có một thanh tách (Split
bar ) nằm bên dướI thanh tiêu đề, tạI đầu thanh cuộn dọc. Thanh cuộn này có tác
dụng tách cửa sổ Code thành hai cửa sổ Code con để có thể xem cả hai phần cửa sổ
Code cùng một lúc.
Hộp liệt kê Object
Hộp liệt kê bên trái cửa sổ Code là hộp Object, nó liệt kê mọI đốI tượng trên
Form, cùng vớI một đốI tượng trên General lưu trữ mã chung mà tất cả mọI thủ tục
dính kèm vớI Form có thể sử dụng.
Hộp liệt kê Procedure
Hộp liệt kê bên phảI cửa sổ Code là hộp liệt kê Procedure. Hộp liệt kê này
cung cấp mọI sự kiện mà đốI tượng đã lựa trong hộp liệt kê Object nhận ra.
Intellisense
Intellisense là một công nghệ bổ sung hoàn thành phức hợp của hãng
Microsoft, nó cho phép đỡ mất công gõ và tra cứu. Intellisense bật ra các hộp nhỏ
vớI các thôg tin hữu ích về đốI tượng mà ta đang làm việc. Nó có ba thành phần như
mô tả dướI đây:
- QuickInfo: Đây là nơi có thông tin về cú pháp của một toán tử Visual Basic.
MỗI khi nhập một khoá theo sau là một dấu cách hoặc dấu ngoặc đơn mở, một gợI ý
thủ thuật hiện ra cung cấp cú pháp của thành phần đó
- List Properties/ Methods: Tính năng Intellisense này đưa ra một danh sách
các tính chất và phương pháp của một đốI tượng ngay sau khi bạn gõ dấu chấm.
- Available Constants: Tính năng Intellisense tiện dụng này cung cấp một danh
sách các hằng sẵn có.
II. BIẾN
Trong Visual Basic, các biến [Variables] lưu giữ thông tin ( các giá trị ). Khi
biến này, chỉ có thể căn cứ trên 16 chữ số đầu. Ngoài ra, vớI các con số chính đôi,
phép tính thực hiện tương đốI chậm, chủ yếu được dùng trong các phép tính khoa
học của Visual Basic. Dấu định danh dùng cho biến chính đôi là dấu pao
“# “. PhảI dùng số “ # “ tạI cuốI con số thực tế nhất là khi có tương đốI ít chữ số
bởI bằng không, Visual Basic sẽ mặc nhận ý ta muốn dùng độ chính xác của một số
chính đơn chính xác hơn nếu ta viết.
AduoblePrecision Variable # =12.45#.
6. Kiểu Currency
Các biến kiểu này được thiết kế để tránh một số vấn đề trong khi chuyển từ
các phân số nhị phân thành các phân số thập phân ( không thể tạo 1/10 từ số tổ hợp
1/4,1/8,1,16 …). Kiểu Currency có thể có bốn chữ số về bên phảI của vị trí thập
phân và lên tớI 14 chữ số về bên trái của dấu chấm thập phân. Dấu định danh được
dùng là “@”
7. Kiểu Date
Kiểu dữ liệu ngày tháng là một phương cách tiện dụng để lưu trữ thông tin cả
ngày tháng lẫn giờ khắc cho bất kỳ thờI điểm nào giữa nửa đêm ngày 1 tháng riêng
năm 100 đến nửa đêm ngày 31 tháng 12 năm 9999. Ta phảI bao phép gán cho các
biến ngày tháng bằng dấu #.
Ví dụ: Ngày = # January,1,2000#.
Nếu không gộp một giờ khắc vào ngày, Visual Basic mặc nhận nó là nửa đêm
8. Kiểu Byte
Kiểu Byte mớI trong Visual Basic 5 và có thể lưu trữ các số nguyên giữ 0 và
225.
9. Kiểu Boolean
Dùng kiểu Boolean khi cần các biến là True hay False
10. Kiểu Variant
Kiểu Variant được thiết kế lưu trữ toàn bộ dữ liệu khả dĩ khác nhau của Visual
Basic nhận được trong một chỗ. Nếu ta không báo cho Visua Basic còn cho phép
dùng điều lệnh
“ Dim” để khai báo biến
LOOP WHILE Điều kiện
Như vậy với cấu trúc này, vòng lặp thực hiện ít nhất 1 lần
5. Lệnh FOR .. NEXT
Đây là cấu trúc lặp hay dùng nhất trong Visual Basic
FOR .. TO STEP n
Các lệnh
NEXT
Trong đó Step là bước tăng. Mặc định Step là 1
6. Lệnh DO .. LOOP UN TIL
DO ..
Các lệnh
LOOP UNTIL Điều kiện
Tương tự như DO .. LOOP WHILE. Vòng lặp thực hiện ít nhất 1 lần.
7. Phát biểu EXIT .. FOR
Phát biểu EXIT được sử dụng khi cần dừng ngay quá trình lặp FOR
8. Lệnh EXIT .. FOR
Phát biểu EXIT được sử dụng khi cần ngay quá trình lặp FOR
9. Lệnh EXIT DO
Phát biểu EXIT DO sử dụng khi cần dừng ngay quá trình lặp của phát biểu DO
V. Hiện thị và nhận thông tin
Ta sử dụng các hộp đốI thoạI để hiện thị thông tin cho ngườI dùng hoặc nhận
thông tin. Trong Visual Basic có ba loạI hộp đốI thoạI:
- Hộp đốI thoạI có sẵn (Predefined Dialog Box).
- Hôp đốI thoạI của ngườI dùng (Custom Dialog Box)
- Hộp đốI thoạI chung (Cômmn Dialog Box)
1. Hộp đốI thoạI có sẵn
Các hộp đốI thoạI này do Visual Basic định sẵn, chúng có các tham mưu số
qui định dạng hiện thị chung. Ta có thể hiện thị các hộp đốI thoạI có sẵn thông qua.
- Phát hiểu MsgBox hay hàm MssgBox ()
- Hàm InputBox.
nháy kép.Khi có ngườI nhập thông tin vào hộp văn bản, Visual Basic luôn lưu trữ
chúng dướI dạng một chuỗi. Do đó, cho dù ta có một hộp văn bản chủ yếu là để lưu
trữ một khốI lượng, thì nộI dung đó vẫn được xem là một chuỗi.
Phép toán phổ dụng nhất đốI vớI các chuỗI là gom hai chuỗI lạI vớI nhau
( thuật toán gọI phép nốI [concatenate]). Để ghép nốI hai chuỗI, ta dùng dấu “&”
day dấu “+”.
Dấu và nốI các chuỗI theo thứ rtự mà ta nêu chúng. Do đó, giống như việc
cộng các con số, thứ tự quan trọng khi dùng dấu & để nghép hai chuỗI vớI nhau.
Cũng có thể dùng dấu & để nghép số lượng tuỳ ý trước khi Visual Basic thực hiện
điều lệnh gán .
Tuy trong Visual Basic vẫn có thể dùng dấu + để nghép các số vớI nhau, song
không nên làm thế. Nó có thể dẫn đến các mốI rất khó tìm vì Visual Basic có thói
quen là chuyển đỏI các chuỗI thành con số khi nó cho là đúng nghĩa.
CÁC HÀM CHUỖI
Phần lớn cái ta cần trong lập trình là phân tích dữ liệu. Tiến trình này có thể
đơn giản chỉ là việc tách nhỏ một tên đầy đủ thành tên thường gọI và tên họ, song
cũng có thể phức tạp như viết mã cần thiết để chuyển đổI một tập tin từ dạng này
sang dạng thức khác. MọI kiểu điều tác như vậy buộc ta phảI nắm dữ các hàm điều
quản chuỗI Visual Basic. Trong Visual Basic, các hàm này cho phép ta xét từng ký
tự trong chuỗI tách riêng các chuỗI thay một phần trong chuỗI bằng nộI dung khác,
v.v..
1. Phân tích chuỗI bằng hàm Mid, Left và Right
Để tiến hành phân tích một chuỗi hiện có, ta phảI đặt một hàm trong thân vòng
lặp cho phép kéo từng mẫu tự riêng lẻ ra khỏI một chuỗi.
For I = I To Len ( The String )
‘ mã hàm làm việc vớI các ký ự riêng lẻ
Next I
1.1. Hàm Mid
Trong các hàm trên, quan trọng nhất, ta có hàm Mid, trả về một chuỗI lưu trữ
trong một variant, và hàm Mi$, hàm trả về chuỗI thực tế. Có thể dùng hoán đổI hai
không ( chuyên ngữ gọI là “ chuỗI con của “). Nếu có, InStr sẽ báo cho biết vị trí
bắt đầu chuỗI con.
Hàm InStr cũng cho phép chỉ định bắt đầu tìm kiếm tạI một ký tự nhất định.
Ví dụ: InStr ([nowi bắt đầu]) chuỗI tìm kiếm, chuỗI tìm thấy ) định nơi bắt
đầu tìm kiếm. Nếu để trống mục này, cuộc tìm kiếm sẽ bắt đầu từ vị trí thứ nhất .
Do hàm InStr trả về giá trị zêzo ( nghĩa là False) khi Visual Basic không tìm
thấy một ký tự, hoặc một giá trị phi zêzo (True) khi tìm thấy, nên thông thường ta
phảI tự mình viết các vòng lặp If _ Then hoặc Do dùng hàm InStr để tiến hành kiểm
tra.
Nếu dùng giá trị mà hàm InStr đạt được trước đó, ta có thể tìm kiếm các lần
xuất hiện lặp lạI của một chuỗi.
Hàm Val
Visual Basic có một hàm tên Val. Đây là một dạng hàm chuyển đổI tất thảy, vì
thế trong Visual Basic ngườI ta vẫn thường dùng Val để chuyển đổI một chuỗI số
thành một con số. Mặt khác Val lạI tỏ ra dễ dãi vớI các chuỗI nhập dữ liệu hơn. Val
đơn giản đọc qua chuỗI cho đến khi gặp một ký tự phi số ( hoặc một dấu chấm thứ
hai ). Con số mà ta có được tự nó sẽ được xác dịnh bởi nơi nó ngưng tìm.
Hàm Str (Str$)
Visual Basic cho phép chuyển được một con số thành một chuỗi. Có nhiều
cách để thực hiện, song hàm Str vẫn là cách đơn giản nhất. Hàm Str trả về một
Variant lưu trữ một chuỗI còn hàm Str$ lạI trả về một chuỗI thuần tuý. Các hàm Str
và Str$ chuyển đổI các con số thành chuỗI, song không xoá sạch chúng hoàn toàn.
Hàm Format
Để trau chuốt việc hiện thị, hàm Str được thay bằng hàm Format. Khác vớI
hàm Str, hàm Format không chừa chỗ cho dấu + mặc định. Hàm format rất linh
hoạt. Trong số nhiều tính năng của nó, hàm nàycho phép ta cắt cụt các chữ số dư và
hiện thị một con số ( lớn) có dấu phẩy hoặc một dấu đồng đo la $ dẫn đầu.
Visual Basic giúp ta dễ dàng đốI phó vớI các tình huống định dạng phổ biến
nhất, bằng cách bổ sung cái gọI là các dạng thức hữu danh vào hàm Format
Hàm Trim
- Vị trí của mục trên mảng.
Mảng Fonts mà Visual Basic dùng để lưu trữ tên các phông chữ và các phông
chữ được lưu chữ trong Fonts (0), Fonts(1), v . v…
Lưu ý: dấu đồn đo la “$” cho biết các biến trên mảng một chiều này sẽ lưu giữ
các chuỗi.
* Cách làm việc vớI mảng một chiều
Các giá rị bên trong mảng một chiều thường được gán bằng một vòng lặp
For_Next hoặc dùng một vòng lặp Do kèm vớI một đợt kiểm tra, bởI thông thường
ta muốn ngưng trước khi nhập toàn bộ dữ liệu. Có thể ta thấy an tâm khi luôn biết
chắc số lượng các mục trong một mảng một chiều. Nó giúp cho tiến trình gỡ rốI dễ
dàng hơn, cũng như hầu hết các lập trình viên, có thể thấy các vòng lặp For_Next dễ
dàng hơn so vớI vòng lặp Do.
Các hộp liệt kê cũng là một cách để lưu trữ thông tin ( kiểu mảng) trong vài
tình huống, việc dùng hộp liệt kê có thể là một phương cách lưu trữ dữ liệu tốt hơn
so vớI mảng một chiều
3. Mảng đa chiều
Có thể dùng các mảng có nhiều chiều; thường được gọI là mảng đa chiều
[multidimensional array]. Cũng như các danh sách dữ liệu dẫn đến một chỉ số dướI
đơn ( các mảng một chiều), các bảng dữ liệu dẫn đến các chỉ số dướI kép ( mảng hai
chiều).
Ta có qui ước: tham chiếu khoản nhập đầu tiên cho số lượng hàng và khoản
nhập thứ hai để cho số lượng cột. Theo qui ước này, ta có thể mô tả đoạn mã của
bảng cửu chương dướI dạng điền trọn một hàng, theo từng cột nhập thứ hai để cho
số lượng cột. Theo qui ước này, ta có thể mô tả đoạn mã của bảng cửu chương dướI
dạng điền trọn một hàng, theo từng cột, trước khi dờI đến hàng kế tiếp.
Mảng được sử dụng trong chương trình ARRAYS là mảng một chiều. Visual
basic cho phép khai báo mảng nhiều chiều. ví dụ sau khi khai báo mảng hai chiều :
Static MyArray (0 to 3,1 to 4)
Các phần tử mảng được liệt kê như sau:
MyArray (0,1) My Array (0,2) MyArray (0,3) MyArray (0,4)
yêu cầu ứng dụng cần xây dựng chương trình, không nên lãng phí bộ nhớ. Tuy
nhiên có nhiều trường hợp kích thước mảng phụ thuộc lúc chương trình thực hiện
(run – time), chúng ta không thể xác định trước được. Visual Basic cung cấp một
khả năng đáp ứng trường hợp này: khai báo mảng kích thước thay đổI - mảng động.
Ví dụ sau khi khai báo mảng động:
Sub cmdArray 1_Click()
Dim Counter
‘ khai báo mảng Array 1 là mảng động
Static Array 1() As Integer
‘ Thay đổI kích thước mảng Array 1
ReDim Array 1( 1 to 15) As Integer
For Counter = 1 to 15
Array 1( Counter) = Counter
Next.
Thay đổI lạI kích thước mảng Array 1
ReDim Array 1( 1 to 5) As Integer
End Sub
Đầu tiên khi khai báo
Static Array 1() As Integer.
Kích thước mảng Array 1 chưa xác định. Lệnh sau sẽ cố định mảng Array 1 có
15 phần tử:
ReDim Array 1( 1 to 15) As Integer
Sau một số xử lý ( ví dụ gán giá trị cho 15 phần tử ), mảng Array 1 được cố
địng lạI chỉ còn 5 phần tử
ReDim Array 1(1 to 5) As Integer
Một lưu ý khi thay đổI kích thước mảng, các nộI dung cũ sẽ bị mất,nếu ta
muốn giữu lạI giá trị cũ của 5 phần tử còn lạI sau khi thay đổI, ta cần viết lạI như
sau:
ReDim Preserve Array 1( 1 to 5) As Integer.
5. Dùng danh sách và mảng vớI các thủ tục và hàm
‘ Viết nộI dung thuộc tính Text cuat MyText ra
‘ TRY.TXT
Print # FileNum, txtMyText.Text
‘Đóng tập tin TRY.TXT
Close FileNum.
Phát biểu Print cần hai tham số. Tham số thứ nhất là thẻ File cần nghi ra và
tham số thứ hai là chuỗI cần nghi.
7. Mở tập tin theo kiểu truy xuất tuần tự bằng Append:
Kiểu Append tương tự như Output nhưng điểm khác chính là khi tập tin được
mở đã tồn tạI, nộI dung cũ không bị xoá. Gỉa sử tập tin TRY.TXT đang có sẵn hai
dòng:
THIS IS LINE NUMBER 1
THIS IS LINE NUMBER 2
Mở TRY.TXT theo kiểu Append:
FileNum = FreeFile
Open “ TRY.TXT” For Append As FileNum
Print # FileNum, “THIS IS A NEW LINE”
Close FileNum.
Bây giờ TRY.TXT chứa:
THIS IS LINE NUMBER 1
THIS IS LINE NUMBER 2
THIS IS A NEW LINE
Nếu đoạn lệnh trên thực hiện một lần nữa, TRY.TXT chứa
THIS IS LINE NUMBER I
THIS IS LINE NUMBER 2
THIS IS A NEW LINE
THIS IS A NEW LINE
8. Mở tập tin theo kiểu truy xuất tuần tự bằng Output
Khi cần đọc tập tin truy xuất tuần từ, ta cần mở tập tin theo kiểu Input. Sau đó,
dùng hàm Input$ ()để đọc. Ví dụ, sau khi mở TRY.TXT theo kiểu Input và đọc vào