Tải bản đầy đủ (.doc) (92 trang)

đề tài ”phần mềm quản lý kho hàng” (2)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (529.39 KB, 92 trang )

Website: Email : Tel (: 0918.775.368
Mục lục
NộI dung Trang
Phần I GiớI thiệu về ngôn ngữ Visual Basic
Lập trình vớI ngôn ngữ Visual Basic
Cấu trúc của một chương trình viết bằng ngôn ngữ Visual
Basic
Phần II Giới thiệu phần mềm quản lý thu chi phòng khám
A Mổ tả các chức năng của phần mềm
B Cơ sở dữ liệu
Phần
III
Mã nguồn
1
Website: Email : Tel (: 0918.775.368
Phần I : Giới thiệu ngôn ngữ Visual Basic
Ngôn ngữ Visual Basic ngày càng được sử dụng rộng rãi trong các đề án,
chương trình thực hiện trong và ngoài nước. Visual Basic được xem là một
công cụ phát triển phần mềm thông dụng hiện nay.
Sau phiên bản Visual Basic 1.0 là Visual Basic 2.0, đã từng chạy nhanh hơn,
dễ sử dụng hơn. Đến Visual Basic 3.0 bổ sung thêm một số phương thức đơn
giản, dễ điều khiển cơ sở dữ liệu hơn. Visual Basic 4.0 bổ sung thêm hơn hỗ
trợ phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành ngôn
ngữ lập trình hướng đốI tượng. Visual Basic 5.0 bổ sung khả năng tạo các
điều khiển riêng. Visual Basic 6.0 có thêm nhiều chức năng mạnh như các
ứng dụng Internet/ Intranet. . .v.v…
Visual Basic gắn liền vớI khái niệm lập trình trực quan, nghĩa là khi thiết kế
chương trình, bạn thấy ngay được kết quả qua từng thao tác. Visual Basic
cho phép chỉnh sửa một cách đơn giản, nhanh chóng giao diện của các đốI
tượng trong ứng dụng. Đó là một thuận lợI cho ngườI lập trình.
VớI Visual Basic, việc lập trình trong Windows đã trở nên hiệu quả hơn và


đơn giản hơn rất nhiều. Một khả năng nữa của Visual Basic là khả năng kết
hợp các thư viện liên kết động DLLl (Dynamic Link Library). DLL chính là
phần mở rộng cho Visual Basic, tức là khi xây dựng một chương trình có
một số yêu cầu mà Visual Basic không đáp ứng đầy đủ ta có thể viết các
DLL để phụ thêm cho chương trình.
1 Các công cụ để thiết kế giao diện:
Như chúng ta đã biết Visual Basic là ngôn ngữ lập trình có tính hướng đốI
tượng nên công việc thiết kế giao diện là rất đơn giản. Chúng ta chỉ việc tiến
hành đưa các đốI tượng cần thiết trong thanh công cụ vào Form bằng cách
kích – kéo sau đó thay đổI các thuộc tính của chúng trên cửa sổ Properties
cho phù hợp vớI mục đích lập trình.
1.1 Form:
Form là một biểu mẫu của mỗI ứng dụng trong Visual Basic. Ta dùng Form
nhằm mục đích định vị và sắp xếp các bộ phận trên nó khi thiết kế giao diện
vớI ngườI sử dụng. Ta có thể xem Form như một bộ phận mà nó có thể chứa
các bộ phận khác. Các thành phần trong Form chính của ứng dụng tương tác
vớI các Form khác và các bộ phận của chúng tạo nên giao tiếp cho ứng
dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể
chứa các công cụ để nhập dữ liệu, xem xét v.v…
2
Website: Email : Tel (: 0918.775.368
Trong nhiều ứng dụng của Visual Basic, kích cỡ và vị trí của biểu mẫu lúc
thiết kế là kích cỡ mà ngườI dùng sẽ gặp vào lúc sử dụng. Điều này, có
nghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị trí Form
đến bất cứ nơi nào trên màn hình khi chạy một đề án, bằng cách thay đổI
một số thuộc tính của nó trên cửa sổ thuộc tính đốI tượng (Properties
Windows ). Thực tế, một trong tính năng thiếu của Visual Basic là khả năng
tiến hành các thay đổI động để đáp ứng sự kiện ngườI dùng.
1.2 Toolbox (hộp công cụ):
Toolbox là hộp công cụ chưa các biểu tượng, biểu thị cho các điều khiển mà

ta có thể 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. Ta có thể coi hộp
công cụ là một hộp “đồ nghề” của người thiết kế chương trình.
1.3 Scrollbar (thanh cuốn):
Scrollbar 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 trên thanh cuốn thay cho các giá trị số.
Thanh cuốn có một số thuộc tính quan trọng sau:
• 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.
1.4 Option Button (Nút chọn):
Đối tượng nút chọn (thường được dùng nhiều nút) 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 1 thời điểm chỉ có thể là
1 trong những nút chọn đuợc chọn
1.5 Checkbox( hộp kiểm)
Cũng như nút chọn, đối tượng hộp kiểm được dùng nhiều hộp một lần.
Nhưng khác với nút chọn, hộp kiểm cho phép người dùng lựa một hay nhiều
điều kiện. Như vậy tại 1 thời điểm có thể có nhiều hộp kiểm được chọn
1.6 Label(nhãn)
Đối tượng nhãn cho phép người dùng gắn nhãn 1 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 .
Các nhãn dùng để hiển thị thông tin không muốn người dùng thay đổi.
Trong thực tế, các nhãn thường được dùng để định danh 1 hộp văn bản hoặc
3
Website: Email : Tel (: 0918.775.368
1 điều khiển khác bằng việc mô tả nội dung của điều khiển đó. Một công cụ
phổ biến cho việc hiển thị thông tin trợ giúp,
1.7 Picturebox, Image ( hộp ảnh, điều khiển ảnh )
Đối tượng Image và Picturebox dùng để hiển thị ảnh . Nó cho phép người

thiết kế đưa hình ảnh từ các file ảnh ( .bmp , .gif …) lên Form
1.8 Textbox ( hộp văn bản )
Đối tượng Textbox dùng làm hộp nhập dữ liệu cho phép đưa các chuỗi ký tự
vào Form. Có thể dùng hộp văn bản để nhập dữ liệu hoặc hiển thị văn bản .
Tất cả các công cụ trong windows về chỉnh sửa văn bản như : cut , copy ,
paste đều dùng trong hộp văn bản
1.9 Command Button ( nút lệnh )
Khi người dùng kích vào 1 nút lệnh trong biểu mẫu, một thao tác nào đó sẽ
được thực hiện tuỳ theo thủ tục sự kiện được viết để đáp ứng sự kiện kích
chuột đó .
1.10 Listbox ( hộp danh sách )
Đối tượng Listbox cho phép kết xuất các thông tin về nhiều chuỗi kí tự vào
trong nó thông qua phương thức additem. Thường được dùng để hiển thị
thông tin dưới dạng danh sách có liên quan với nhau. Listbox không cho
phép người dùng nhập dữ liệu vào.
1.11 Combo box ( hộp kết hợp )
Công cụ này cho phép người dùng gõ vào thông tin và hiển thị thông tin . nó
có tác dụng như hộp danh sách và hộp văn bản . Hộp kết hợp có 3 loại:
- Hộp kết hợp thả xuống ( drop-down combo ) : là 1 hộp văn bản cho phép
người dùng gõ vào, kế bên có 1 mũi tên mà khi nhấn vào nó sẽ xổ ra 1
danh sách cho phép người sử dụng chọn lựa .
- Hộp kết hợp đơn giản ( simple combo ) : luôn hiển thị danh sách và cho
phép người dùng gõ vào hộp văn bản.
- Hộp danh sách thả xuống ( drop- down list box) : tương tự như hộp kết
hợp thả xuống. Danh sách sẽ không hiển thị sẵn nếu người dùng không
nhấn vào mũi tên bên cạnh. người sử dụng chỉ có thể chọn từ danh sách,
4
Website: Email : Tel (: 0918.775.368
gõ vào hộp văn bản thì danh sách sẽ cuộn đúng đến phần tử yêu cầu và
đánh dấu nó.

1.12 Ole ( đối tượng nhúng )
Ole là viết tắt của Object - Linking and Embedding . Nó cho phép ta nhúng
toàn bộ ứng dụng và dữ liệu từ một ứng dụng khác vào chương trình . Ole
không chỉ là 1 hệ thống cho phép nhúng hay kết nối dữ liệu từ 1 ứng dụng
khác mà vào thời gian chạy của chương trình ta sẽ có 1 bản sao của ứng
dụng đó trong chương trình của ta. Nó có khả năng automation cho phép
đóng gói các đối tượng chức năng của ứng dụng để có thể sử dụng trong ứng
dụng khác.
1.13 Project explorer
Project explorer trong Visual Basic 6.0 giúp quản lý và định hướng các đề
án, biểu mẫu, các module,…. Visual Basic cho phép tổ chức nhiều đề án
trong 1 nhóm gọi là project groups. Ta có thể lưu tập hợp các đề án trong
Visual Basic thành 1 tập tin nhóm đề án. Các tập tin này có phần mở rộng
là .Vbg .
1.14 Propeties windows ( cửa sổ thuộc tính )
Là nơi chứa danh sách các thuộc tính của một đối tượng cụ thể. Các thuộc
tính này có thể khác nhau với từng đối tượng cụ thể. Ta có thể đặt các thuộc
tính cho phù hợp với các chương trình ứng dụng.
2 Lập trình trong Visual Basic
Ở phần một, chúng ta mới chỉ biết tuỳ biến biểu mẫu bằng cách bổ xung các
điều khiển vào cho phù hợp với yêu cầu của chương trình. Tuy nhiên, đó chỉ
có thể coi là bộ mặt của chương trình. Muốn chương trình chạy được thì
chúng ta phải thêm vào các thành phần khác như lệnh, dữ liệu. . và cách thức
thể hiển chúng trong chương trình.
Khi lập trình trong Visual Basic thì phần lớn các mã được xử lý để đáp ứng
sự kiện. Ví dụ như sự kiện kích chuột, bấm phím, load form…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 hàm, các dòng lệnh nằm ngoài sẽ không làm việc. Toàn bộ mã lệnh
được gõ vào trong cửa sổ code.
5

Website: Email : Tel (: 0918.775.368
2.1 Cửa sổ code
Cửa số code bao gồm các thành phần sau:
Thanh tách: cửa sổ code có một thanh tách (Split bar) nằm đầu thanh cuộn
dọc. Mục đích của nó là: khi các dòng mã trở nên nhiều, ta có thể chia cửa
sổ code thành 2 phần.
Hộp liệt kê Object: nằm ở đầu cửa sổ code bên trái, nó liệt kê tất cả các điều
khiển có trên biểu mẫu và thêm vào một đối tượng có tên là: General. Khi
thả hộp liệt kê và nhắp vào một đối tượng nào đó thì sẽ đưa ta đến phần mã
viết cho đối tượng đó.
Hộp Procedure: hộp này cung cấp mọi sự kiện mà đối tượng đã được lựa
chọn trong hộp liệt kê object.
2.2 Intellisence:
Intellisence là một công cụ thông minh, nó giúp ta đỡ mất công gõ và tra
cứu. Intellisence mở các hộp liệt kê cùng với các thông tin về đối tượng mà
ta đang tiếp cận. Nó có 3 phần:
- QuickInfo: cho ta thông tin về cú pháp của 1 lệnh Visual Basic. Mỗi khi
nhập một từ khoá theo sau là một dấu cách hoặc dấu chấm. . .một hộp
thoại sẽ hiện ra cung cấp cú pháp của thành phần đó.
- List properties/Methods: tính năng này đưa ra một danh sách các tính
chất và phương pháp của đối tượng ngay khi ta gõ dấu chấm.
- Available constant : tính năng này cung cấp một danh sách các hằng sẵn
có.
2.1 Biến
Trong Visual Basic, tên biến có thể dài tối đa 255 kí tự. Kí tự đầu tiên phải
là một chữ cái và tên biến có thể là một tổ hợp chữ cái, chữ số và dấu gạch
dưới. Không được dùng các từ khoá trong Visual Basic ( như end, print. . .)
làm tên biến. Visual Basic không phân biệt chữ hoa, chữ thường.
Cách khai báo biến: Dim <Tên biến> as <Kiểu biến>
Phạm vi sử dụng biến phụ thuộc vào cách khai báo biến và vị trí đặt dòng

lênh khai báo.
6
Website: Email : Tel (: 0918.775.368
2.2 Các kiểu dữ liệu:
- String: các biến string lưu giữ các kí tự. Một chuỗi có thể có một hay
nhiều kí tự.
- Integer: biến nguyên lưu giữ các giá trị số nguyên từ -32768 đến +32767.
- Long Integer: biến số nguyên dài lưu giữ các số nguyên giữa:
-2147483648 đến +214783647.
- Single precision: các số có phần thập phân gồm: Single precision có độ
chính xác đến 7 chữ số và double precision có độ chính xác lên đến 16 vị
trí.
- Currency: Biến tiền tệ là một kiểu mới. Kiểu này cho ta 15 chữ số trước
dấu thập phân và 4 chữ số sau dấu thập phân.
- Date: kiểu dữ liệu ngày tháng.
- Byte: kiểu byte có thể lưu giữ các số nguyên từ 0 đến 255.
- Boolean: đây là kiểu logic với các giá trị True/False.
- Variant: kiểu này được thiết kế để lưu mọi dữ liệu khác nhau của Visual
Basic.
2.3 Các toán tử:
2.3.1 Các toán tử tính toán
Các toán tử Ý nghĩa Ví dụ
+ Có thể dùng để cộng hai toán hạng
hoặc hai chuỗi với nhau.
X=y+1
A=”A”+”B”
- trừ 2 số hạng X=y-1
* Nhân 2 số hạng X=y*2
/ Chia, trả về kiểu số thực Y=4/2
\ Chia lấy nguyên X=3\2(x=1)

Mod Chia lấy dư X=7 mod 4 (x=3)
^ Lấy luỹ thừa X=y^3 (X=y
3
)
2.3.2 Các toán tử so sánh:
Toán tử Ý nghĩa
> So sánh xem số thứ nhất có lớn hơn số thứ 2 không
< So sánh xem số thứ nhất có nhỏ hơn số thứ 2 không.
= So sánh số thứ nhất có bằng số thứ 2 không.
<> So sánh số thứ nhất có khác số thứ 2 không.
7
Website: Email : Tel (: 0918.775.368
>= So sánh số thứ nhất có lớn hơn hay bằng số thứ 2 không
<= So sánh số thứ nhất có nhỏ hơn hay bằng số thứ 2 không
2.3.3 Các toán tử Boolean
Toán tử Ý nghĩa
And Chỉ nhận giá trị True nếu cả 2 số hạng đều là True
Or Chỉ nhận giá trị False nếu cả 2 số hạng đều là False
Not Phủ định giá trị của số hạng
2.4 Cấu trúc điều khiển
2.4.1 Các cấu trúc chọn:
2.4.1.1 Cấu trúc If….Then…
Dạng 1: If <Biểu thức logic> then < lệnh> End If
Khi gặp một điều lệnh If… then, Visual Basic sẽ kiểm tra <Biểu thức
logic>, nếu là True thì máy sẽ thực hiện <lệnh> nếu kêt quả là False thì máy
sẽ bỏ qua lệnh và thực hiện những lệnh sau End If.
Dạng 2: If <Biểu thức logic> then <lệnh 1> else <lệnh 2>
Khi gặp lệnh này, nếu <Biểu thức logic> lấy giá trị True thì thực hiện < lệnh
1> bỏ qua <lệnh 2>, còn nếu <Biểu thức logic> lấy giá trị False thì bỏ qua
<lệnh 1> và thực hiện <lệnh 2>.

Nhiều khi bạn phải thực hiện nhiều lệnh ứng với điều kiện là True hay False.
Để làm được điều đó, ta sử dụng dạng khác của cấu trúc If … then, có dạng
tổng quát như sau:
If <Biểu thức điều kiện> then
<Các câu lệnh thực hiện>
else
<Các câu lệnh thực hiện>
end if
2.4.2 Cấu trúc Select Case:
Cú pháp:
Select case <Biến hay biểu thưc>
Case <giá trị 1>
<Các câu lệnh>
…………………
8
Website: Email : Tel (: 0918.775.368
Case <giá trị 2>
……………
Case else
<Các câu lện>
End Select
2.5 Cấu trúc lặp
2.5.1 Cấu trúc lặp có điều kiện
Cú pháp 1:
While < Biểu thức điều kiện>
<Các câu lệnh>
Wend
Cú pháp 2:
Do
<Các câu lệnh>

While <Biểu thức điều kiện>
<Các câu lệnh> được thực hiện lặp đi lặp lại nếu <Biểu thức điều kiện> vẫn
nhận giá trị True. Do đó, để thoát khỏi vòng lặp thì trong <Các câu lệnh phải
có lệnh thay đổi gia trị của <Biểu thức điều kiện>. Trong cú pháp 1, thì
<Biều thức điều kiện> được xét trước khi thực hiện các câu lệnh, còn trong
cú pháp 2 thì các câu lệnh được thực hiện trước khi xét đến <Biểu thức điều
kiện>.
2.5.2 Cấu trúc For …Next
Cú pháp:
For <biến> = <giá trị đầu> to <giá trị cuối> [Step <bước nhẩy>]
<Các câu lệnh>
Next biến
Đây là lệnh lặp biết trước số lần lặp. Khi gặp cấu trúc lệnh này, Visual Basic
sẽ gán giá trị <biến> cho <giá trị đầu>, thực hiện <Các câu lệnh>, rồi tăng
<biến> lên một giá trị tuỳ theo <bước nhẩy>. Vòng lặp này sẽ kết thúc khi
<biến> có giá trị lớn hơn <giá trị cuối>
2.5.3 Cấu trúc For Each….Next
For Each <phần tử> In <nhóm>
<Khối lệnh>
9
Website: Email : Tel (: 0918.775.368
Next <phần tử>
Khi gặp cấu trúc này, Visual Basic sẽ lặp lại <Khối lệnh> cho từng phần tử
của mảng, hay các điều khiển…Người ta thường dùng cấu trúc này để duyệt
nhiều đối tượng điều khiển.
2.6 Thủ tục
Trong Visual Basic, một thủ tục mà trước khi ta muốn sử dụng nó thì ta phải
định nghĩa nó và ta phải dùng từ khoá “Sub” để khai báo nó.
Private/Public Sub <Tên thủ tục>
<Các câu lệnh>

End Sub <phần tử>
Nếu dùng từ khoá Public, thủ tục có thể được dùng trong bất kì Form nào
trong chương trình.
Nếu ta khai báo bằng từ khoá Private thì thủ tục chỉ có thể được dùng được
trong Form,module chứa nó mà thôi.
Giá trị được truyền cho thủ tục thông qua tham số. Một thủ tục có thể có
hoặc không có tham số. Khi gọi một thủ tục có tham số, ta phải truyền giá trị
cho tham số của thủ tục đó. Trong Visual Basic, có 2 cách để truyền thám số
: By Ref ( truyền tham chiếu) và By Val ( truyền tham trị ).
Private/Public Sub <Tên thủ tục> (<Tham số1> as <Kiểu>, <Tham số 2>,
v.v…)
<Các câu lệnh>
End Sub
2.7 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ó 4 hộp thoại, đó là:
2.7.1 Thông điệp: (MesageBox)
Là một hộp thoại đơn giản nhất, gồm 2 loại:
- Chỉ cung cấp thông tin
- Tương tác với người sử dụng.
2.7.2 Hộp nhập (InputBox)
InputBox dùng để nhập thông tin từ người dùng, nó bao gồm một dòng
thông báo, hộp soạn thảo và 2 nút “OK” và “Cancel”. Nó có mặt hạn chế là
chỉ cho người sử dụng nhập rất ít thông tin.
10
Website: Email : Tel (: 0918.775.368
2.7.3 Các hộp thoại thông dụng
Bởi hộp thoại này xuất hiện mọi nơi, nên thay vì phải viết chương trình
nhiều lần, Windows chứa chúng trong cùng một DLL, Comdlg32.dll hay
Comdlg.ocx

Có 6 hộp thoại:
- mở tập tin (File Open)
- Lưu tập tin (File save).
- Chọn mầu (Color).
- Chọn phông (Font).
- Trợ giúp (Help).
- In ấn (Print).
2.7.4 Hộp thoại hiệu chỉnh (Custom Dialog).
Đây là loại hộp đối thoại do người lập trình định nghĩa để tương thích với
yêu cầu nhận thông tin của người sử dụng. Nó có ưu điểm là ta có thể thiết
kế theo ý thích. Trở ngại của nó là khi thi hành từng biểu mẫu thì sẽ sử dụng
tài nguyên hệ thống như bộ nhớ, thời gian CPU. Nếu dùng nhiều hộp thoại
hiệu chỉnh trong ứng dụng có thể mất tài nguyên hệ thống và dễ bị treo máy.
Phần Hai
Phần mềm quản lý thu chi phòng khám
I Mô tả phần mềm quản lý thu chi phòng khám
1.1 Quyền truy cập
Vì đây là phần mềm phục vụ cho việc quản lý thu chi phòng khám nên
người quản lý phòng khám có toàn quyền truy cập và sử dụng mọi chức
năng của phần mềm (người quản lý có thể toàn quyền thực hiện các công
việc như lưu trữ , chỉnh sửa , thêm bớt thông tin có liên quan đến phòng
khám v v )
1.2 Nhiệm vụ và mục đích của phần mềm quản lý thu chi phòng
khám
Phần mềm này có nhiệm vụ quản lý các khoản thu chi tài chính của phòng
khám. Phần mềm này có nhiều chức năng nhằm phục vụ công tác quản lý
các khoản thu chi tài chính của người quản lý phòng khám như việc quản lý
các y tá,bác sỹ ,bệnh nhân.Quản lý tiền luơng và số ngày làm việc của y tá
và bác sỹ của phòng khám.quản lý các khoản chi phí mà bệnh nhân phải trả
11

Website: Email : Tel (: 0918.775.368
cho phòng khám về các dịch vụ mà họ dùng.Ngoài ra chương tình nay còn
có chức năng tìm kiếm thong tin về bênh nhân đã đến khám ở phòng khám
và các y tá ,bác sỹ làm việc ở phòng khám nhằm giúp cho nguời quản lý làm
viẹc dễ dàng hơn
Phần mềm quản lý thu chi phòng khám giúp cho người quản lý phòng khám
nắm vưng được só nhân viên trong phòng khám và những thông tin liên
quan đến họ như tiền luơng, ngày công , địa chỉ,cấp bậc.Ngoài ra nó còn
giúp cho người quản lý nắm thông tin về các bệnh nhân của phòng khám
như tên tuổi, địa chỉ,số tiền họ trả cho phòng khám v v Nhằm giúp cho
người quản lý dễ dàng quản lý phòng khám một cách có hệ thống.
Phần mềm này còn cho phép cập nhật một cách thường xuyên các thông tin
về cá nhân khi có bệnh nhân mới đến khám hoặc một bác sỹ hay một y tá
mới đến phòng khám làm việc .
Ngoài ra phần mềm còn giúp cho người quản lý nắm vững khả năng tài
chính của phòng khám như các khoản thu hoặc chi của phòng khám trong
một tháng ,một quý hay một năm.
Phần mềm cũng giúp cho người quản lý tra cứu và tím kiếm thông tin về
bệnh nhân hoặc nhân viên của phòng khám một cách dẽ dàng hơn bằng việc
chỉ nhớ một số chi tiết của họ như tên(Neus như nguời quản lý không nhớ
đầy đủ họ tên chỉ cần nhớ một số chữ cái), địa chỉ , điện thoại v v
Phần mềm còn giúp cho người quản lý hạn chế sai sót của mình khi nhập
các thông tin về bệnh nhân và nhân viên của phòng khám
1.3 Các chức năng chính của phần mềm
• Quản lý nhân viên
• Quản lý khách hàng
• Quản lý hợp đồng
• Quản lý thu
• Quản lý chi
• Quản lý bảng giá dịch vụ

• Quản lý bệnh nhân
• Quản lý lịch làm việc
• Báo cáo
12
Website: Email : Tel (: 0918.775.368
Sơ đồ tổng thể về các chức năng của phần mềm
1.3.1 Chức năng quản lý nhânh viên
Vì phần mềm này mục đích là giúp cho ngươi quản lý phòng khám nắm
vững về số nhân viên đang làm việc trong phòng khám .Cho nên tất cả mọi
thông tin của họ như cáp bậc ,ngày lưong , địa chỉ v v Sẽ được nhập vào và
lưu trữ trong hệ thống.Ngoài ra người quản lý có thể sửa chữa các thông tin
về nhân viên (có thể tạo mới nếu phòng khám có thêm nhân viên đến làm
việc hoặc xoá nêu có một nhân viên nghỉ làm hoặc xin thôi việc v v )
Chức năng này cũng giúp cho người quản lý có thể nắm được nắm được
thông tin về những y bác sỹ cộng tác với phòng khám(như số điện thoại ,nơi
công tác ,cấp bậc v v ) . Đồng thời nguời quản lý cũng có thê chỉnh sửa
được những thông tin này
13
Quản lý nhân viên QL khách hàng
Quản lý hợp đồng
Quản lý Bệnh nhânQL Bảng giá
Báo cáo
Phần mềm QL thu chi phòng khám
QuảnL Thu Quản lý chi
QL lịch làm việc
Website: Email : Tel (: 0918.775.368
1.3.2 Chức năng quản lý khách hàng
Phần này giúp cho người quản lý làm việc trong trường hợp mà bệnh nhân
có người đại diện . Ở đây thường thi người quản lý thương dùng chức năng
naỳ trong trường hợp mà khách hàng là cả một công ty hay là một tập thể

đến khám sức khoẻ . Để cho dễ dàng quản lý và để tránh cho khách hàng
khoỉ phiền hà và phải làm nhiều thủ tục thì người quản lý sẽ ký hợp đồng
với một người đại diện và tất cả mọi thông tin về hợp đồng sẽ đươc nhập và
lưu trữ trong hệ thống ( như tên người đại diện,số tiền của hợp đồng,số tiền
mà người đại diện đã thanh toan và còn nợ lại bao nhiêu,tên tuổi người đại
diện ,nơi công tác ,cấp bậc v v )
Đồng thời nó cũng giúp cho ngươi quản lý có thể bỏ đi nhưng thông tin
khách hàng không còn quan hệ với phòng khám hoặc ta cũng có thể xoá đi
nhưng thông tin không chính xác về khách hàng mà ta đã nhập vaò trước đó
1.3.3 Chức năng quản lý bảng giá dịch vụ
Như chúng ta đã biết trong phòng khám có rất nhiều các loại dịch vụ và xét
nghiệm . Vì thế chức năng này của chương trình sẽ giúp cho người quản lý
nắm vững được các dịch vụ mà phòng khám đang có (bởi mỗi loaị dịch vụ
hay xét nghiêm khi mà người quản l ý lưu trữ thì chương trình bao giờ cũng
bắt buộc lưu trũ bằng ba chữ cái đầu tiên đặc trưng cho dịch vụ đó nếu như
không tuân thủ thì chuơng trinh sẽ không cho pép ngưòi sử dụng làm tiếp ),
đồng thời nó cũng giúp cho người quản lý nắm được giá tiền mỗi dịch vụ mà
bệnh nhân và khách hàng phải thanh toán khi lám các xét nghiệm hoặc các
dịch vụ tại phòng khám ( dịch vu siêu âm,xét nghiệm máu v v).Ngoài ra
trong chức năng này người quản lý cũng có thể sửa chữa các dịch vụ như
thêm hoặc bớt các dịch vụ ,thay đổi số tiền mà khách hàng phải thanh toán
cho mỗi loại dịch vụ v v
Như chúng ta đã biết trong phòng khám có rất nhiều các loại dịch vụ và xét
nghiệm.
1.3.4 Chức năng quản lý thu
14
Website: Email : Tel (: 0918.775.368
Chức năng này của chương trình sẽ giúp cho người quản lý nắm vững được
các khoản thu của phòng khám trong ngày như số tiền mà bệnh nhân thanh
toán các khoản phí cho phòng khám ,số tiền bán thuốc cho bệnh nhân v…

v… Đồng thời nó cũng giúp cho người quản lý có thể kiểm tra xem các
khoản thu vào có chính xác hay không. Để từ đó xuất ra hoá đơn hoặc giấy
biên nhận
1.3.5 Chức năng quản lý chi
Công việc quản lý các khoản tiền phải thanh toán cho các khách hàng ,cho
các công ty kinh doanh dược phẩm là một công việc rât kho khăn cho người
quản lý .Vì thế chức năng này sẽ giúp cho người quản lý nắm được các
khoản tiền phai thanh toán trong ngày ,trong một tháng . Đồng thời nó cũng
giúp cho người quản lý hạn chế bớt sai xót trong một số khâu như kiểm tra
số tiền mình phải thanh toán đã khớp chưa(số tiền phải thanh toán để mua
một lô thuốc v v ) Rồi sau đó mới xuất hoá đơn hoặc giấy biên nhận
1.3.6 Chức năng quản lý lịch làm việc
Như chúng ta đã biết trong một phòng khám có rất nhiều nhân viên bao gồm
các bác sỹ , y tá , hộ lý thuộc về biên chế của phòng khám và ngoài ra còn có
các bác sỹ mà phòng khám mời để cộng tác với phòng khám. Vì thế việc
quản lý giờ giấc ,lịch làm việc sẽ rất là khó khăn đối với người quản lý. Cho
nên trong phần mềm này có thêm phần chức năng quản lý lịch làm việc
nhằm giúp cho việc quản lý trở nên dễ dàng hơn.Trong phần này ngươi quản
lý có thể biết vào một giờ naỳ trong ngày có bao nhiêu y,bác sỹ làm việc và
đồng thời người quản lý cũng có thể chỉnh sửa giờ giấc làm việc của họ nếu
có việc đột xuất gì xẩy ra.
1.3.7 Chức năng báo cáo
Mọi thông tin chi tiết về tất cả các hoạt động của nghiẹp vụ quản lý thu chi
phòng khám sẽ được liệt kê một cách đầy đủ và chính xác để người quản lý
có thể nắm rõ tình hình và báo cáo cho cấp trên của mình .Các thông tin mà
người quản lý có thể liệt kê như:
• Có bao nhiêu bệnh nhân đến khám trong tháng
• Số tiền lương phải trả cho các nhân viên trong phòng khám
15
Website: Email : Tel (: 0918.775.368

• Số tiền mà phòng khám thu được trong một tháng
• v v
Dựa trên những thông tin đó mà người quản lý có thể thiết lập một báo cáo
đầy đủ về tình hình của phòng khám.
1.3.8 Chức năng quản lý bệnh nhân
Đây là một phần rất quan trọng của nghiệp vụ quản lý thu chi phòng
khám.Trong phần này người quản lý sẽ biết được tại thời điểm hiện tại
phòng khám có bao nhiêu bệnh nhân ,các thông tin cá nhân về họ(Tên tuổi,
địa chỉ,số điẹm thoại v v) ,các dịch vụ và xét nhgiệm mà họ đang dùng và
do bác sỹ nào làm . Đồng thời người quản lý cũng có thể thêm bớt hoặc
chỉnh sửa các thong tin nếu như có sai sót.
1.3.9 Chức năng tìm kiếm
• Tìm kiếm theo tên : Như đã nói ở trên ,trong một phòng khám có rất
nhiều bệnh nhân và nhân viên vì thế để nhớ hết được họ là một việc rất
khó khăn .Nen ở trong phần chức năng này của chương trình sẽ giúp
người quản lý có thể tìm kiếm một nhân viên hoặc một bệnh nhân của
phòng khám một cách dễ dàng .Ngưòi quản lý chỉ cần nhớ một số chữ cái
trong tên của bệnh nhân hoặc của nhân viên là phần chức năng nay sẽ
giúp họ tìm kiếm những ngưòi có tên chứa đựng các chư cái đó
• Tìm kiếm theo số điên thoại: Tương tự như phần tìm kiếm theo tên
• Tìm kiếm theo mã vùng: Tương tự như phần tìm kiếm theo tên
2 Cơ sở dữ liệu
B¶ng 1:TblBªnh_Nh©n
STT Tªn Trêng KiÓu D÷ LiÖu Mæ t¶
1 MaBenhNhan Text M· bÖnh nh©n
2 Hoten Text Hä tªn
3 Tuoi Number Tuæi
16
Website: Email : Tel (: 0918.775.368
4 Diachi Text Địa chỉ

5 Dienthoai Text Điên thoại
Bảng 2:TblPhiếu_Chi
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 Machi Text Mã chi
2 Noidungchi Text Nội dung chi
3 Tien Number Tiền
4 Ngaychi Date/Time Ngày chi
Bảng 3 :TblPhiếu_Thu
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 Mathu Text Mã thu
2 Noidungthu Text Nội dung thu
3 Tien Number Tiền
4 Ngaythu Date/Time Ngày Thu
Bảng 4:TblChuyên_khoa
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 Chuyenkhoa Text Chyên Khoa
Bảng 5:TblĐại_diện
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaDaidien Text Mã đại diện
2 TenNguoiDaiDien Text Tên ngời đai diện
3 Diachi Text Địa chỉ
4 Dienthoai Text Điện Thoại
5 Didong Text Di động
Bảng 6 : TblBảng_giá_dịch vụ
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaDV Text Mã dịch vụ
2 TenDV Text Tên dịch vụ
3 Giadv Number Giá dịch vụ
17
Website: Email : Tel (: 0918.775.368

4 DonViTinh Text Đơn vị tính
Bảng 7 : TblĐơn vị làm hợp đồng
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaDonvi Text Mã đơn vị
2 MaDaidien Text Mã đại diên
3 TenDonvi Text Tên đơn vị
4 Dienthoai Text Địện thoại
5 Fax Text Fax
6 Diachi Text Điạ chỉ
7 Mavung Text Mã vùng
Bảng 8 : TblDịch_vụ
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaBenhNhan Text Mã bệnh nhân
2 MaNhanVien Text Mã nhân viên
3 MaDichVu Text Mã dịch vụ
4 NgaylamDV Date/Time Ngày làm dịch
vụ
Bảng 9 : TblHợp_đồng
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaHD Text Mã hợp đồng
2 NoidungHD Text Nội dung hợp đồng
3 GiatriHD Number Giá trị hợp đồng
4 NgaylamHD Date/Time Ngày làm hợp đồng
5 ThanhtoanHD Number Thanh toán hợp đồng
6 MaDonvi Text Mã đơn vị
Bảng 10: TblLịch_Khám
18
Website: Email : Tel (: 0918.775.368
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaNhanVien Text Mã nhân viên

2 Ngaylamviec Date/Time Ngày làm việc
3 NgayLuong Number Ngày lơng
4 Noikham Text NơI khám
5 Ngaycong Number Ngày công
Bảng 11 : TblNhân_viên
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaNhanVien Text Mã nhân viên
2 TenNhanVien Text Tên nhân viên
3 Capbac Text Cấp bậc
4 Chuyenkhoa Text Chuyên khoa
5 Diachi Text Địa chỉ
6 DtNr Text Điện thoại nhà riêng
7 DtCq Text Điện thoại cơ quan
8 Didong Text Di động
9 NgayLuong Text Ngày lơng
10 Donvi Number Đơn vị
Bảng 12 : TblMã_vùng
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 Mavung Text Mã vùng
2 Tenvung Text Tên vùng
Bảng 13 : TblThu_khám
STT Tên Trờng Kiểu Dữ Liệu Mổ tả
1 MaBenhNhan Text Mã bệnh nhân
2 Hoten Text Họ tên
3 Giadv Number Giá dịch vụ
4 NgaylamDV Text Ngày làm dịch
vụ
5 TenDV Text Tên dịch vụ
19
Website: Email : Tel (: 0918.775.368

Sơ đồ mối quan hệ trong cơ sở dữ liệu

20
Website: Email : Tel (: 0918.775.368
Phần 3 : Mã nguồn
Form Khởi tạo
1 Form Frm_Nhanvien
1.1. Mã nguồn thủ tục cmddelete_Click()
21
Website: Email : Tel (: 0918.775.368
Private Sub cmddelete_Click()
If rsNhanvien.RecordCount <= 0 Then
Exit Sub
End If
If txtMa.Text = "" Then
MsgBox "Bạn phải chọn một nhân viên từ danh sách bên !",
vbInformation, "Xoá thông tin không hợp lệ"
TreeView1.SetFocus
If TreeView1.Nodes(1).Expanded = False Then
TreeView1.Nodes(1).Expanded = True
End If
Exit Sub
End If
Dim ans As Byte
ans = MsgBox("Bạn có muốn xoá thông tin của nhân viên có mã là " &
MaNV & " không ?", vbQuestion + vbYesNo, "Thông tin đang xoá !")
If ans = vbNo Then
Exit Sub
End If
rsNhanvien.MoveFirst

Do While Not rsNhanvien.EOF
If rsNhanvien!manhanvien = txtMa.Text Then
rsNhanvien.Delete
For i = 1 To TreeView1.Nodes.Count
If TreeView1.Nodes(i).Text = txtMa.Text Then
TreeView1.Nodes.Remove i
Exit For
End If
Next i
End If
rsNhanvien.MoveNext
Loop
ClearText
cmdsave.Enabled = False
cmdedit.Enabled = True
End Sub
22
Website: Email : Tel (: 0918.775.368
1.2 Mó ngun th tc CmdEdit_Click()
Private Sub CmdEdit_Click()
If cmdedit.Caption = "Sửa" Then
If txtMa.Text = "" Then
MsgBox "Bạn phải chọn một nhân viên cần sửa thông tin ở danh
sách bên", vbInformation, "Thông tin cần sửa không hợp lệ !"
TreeView1.SetFocus
If TreeView1.Nodes(1).Expanded = False Then
TreeView1.Nodes(1).Expanded = True
End If
Exit Sub
End If


Dim ctl As Control
For Each ctl In Controls
If TypeOf ctl Is TextBox Then
If ctl.Text = "" Then
ctl.Text = " "
End If
End If
Next ctl
EnableText
cmdsave.Enabled = True
cmddelete.Enabled = False
Skin.RemoveSkin cmdedit.hwnd
cmdedit.Caption = "Huỷ"
Skin.ApplySkin cmdedit.hwnd
Saved = False
cmdnew.Enabled = False
cmddelete.Enabled = False
TreeView1.Enabled = False
Else
TreeView1.Enabled = True
cmdnew.Enabled = True
cmddelete.Enabled = True
Skin.RemoveSkin cmdedit.hwnd
cmdedit.Caption = "Sửa"
Skin.ApplySkin cmdedit.hwnd
DisableText
23
Website: Email : Tel (: 0918.775.368
Saved = True

cmdsave.Enabled = False
End If
End Sub
1.3 Mã nguồn Treeview(Cây thư mục)
Private Sub TreeView1_NodeClick(ByVal Node As ComctlLib.Node)
Dim nodeName As String
MaNV = Node.Text
If rsNhanvien.RecordCount <= 0 Then
Exit Sub
End If
nodeName = Node.Text
rsNhanvien.MoveFirst
Do Until rsNhanvien.EOF = True
If rsNhanvien!manhanvien = nodeName Then
ClearText
Dis
End If
rsNhanvien.MoveNext
Loop
rsNhanvien.MoveFirst
DisableText
cmdsave.Enabled = False

End Sub
1.4 Mã nguồn Keypress
Private Sub txtDiachi_KeyPress(Keyascii As Integer)
If Keyascii = 32 Then Exit Sub
If (Keyascii >= 33 And Keyascii < 48) Or _
(Keyascii > 57 And Keyascii <= 64) Or _
(Keyascii >= 91 And Keyascii <= 96) Or _

(Keyascii >= 123 And Keyascii <= 126) Then
Keyascii = 0
End If
End Sub
24
Website: Email : Tel (: 0918.775.368
1.5 Mã nguồn thủ tục cmdnew_Click()
Private Sub cmdnew_Click()
If cmdnew.Caption = "T¹o míi" Then
TreeView1.Enabled = False
ClearText
check
Luong = CInt(chu)
ha = "CCBQY" & (temp + 1)
txtMa.Text = ha
Saved = False
EnableText
cmdedit.Enabled = False
cmddelete.Enabled = False
logic = True
cmdsave.Enabled = True
Skin.RemoveSkin cmdnew.hwnd
cmdnew.Caption = "Huû"
Skin.ApplySkin cmdnew.hwnd
Else
cmdedit.Enabled = True
cmddelete.Enabled = True
TreeView1.Enabled = True
Saved = True
Skin.RemoveSkin cmdnew.hwnd

cmdnew.Caption = "T¹o míi"
Skin.ApplySkin cmdnew.hwnd
ClearText
cmdsave.Enabled = False
DisableText
End If
End Sub
1.6 Mã nguồn thủ tục CmdSave_Click()
Private Sub CmdSave_Click()
Dim sql As String
If txtMa.Text = "" Then

cmdsave.Enabled = False
25

×