NHẬN XÉT: Sau gần 3 tháng thực hiện đề tài tại phòng khám, từ lúc bắt đầu tìm hiểu về quản lý bệnh nhân đến lúc cài đặt chương trình và áp dụng vào thực tế công việc quản lý bệnh nhân c
Trang 1TRƯỜøNG ĐẠI HỌC DL KỸ THUẬT CÔNG NGHỆ TP.HCM
KHOA CÔNG NGHỆ THÔNG TIN
TP HỒ CHÍ MINH
2003
Trang 2TP HOÀ CHÍ MINH
2003
Trang 3BẢN NHẬN XÉT ĐỒ ÁN TỐT NGHIỆP
GVHD: DƯƠNG THIÊN TỨ
SVTH: MAI SƠN THUẤN, MSSV: 98TH255
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG QUẢN LÝ VIỆC KHÁM VÀ ĐIỀU TRỊ BỆNH
NHÂN CỦA BÁC SĨ CHUYÊN KHOA.
Trang 4Bác sĩ:Nguyễn Thị Thu Vân, công tác tại Bệnh viện Nhân Dân 115.
Phòng khám (nơi áp dụng):107 Lê Hồng Phong, P.2, Q.5 ĐT: 8363680
SVTH: Mai Sơn Thuấn, MSSV: 98TH255
Đề tài: Xây dựng ứng dụng quản lý việc khám và điều trị bệnh nhân của
bác sĩ chuyên khoa
NHẬN XÉT:
Sau gần 3 tháng thực hiện đề tài tại phòng khám, từ lúc bắt đầu tìm hiểu về quản lý bệnh nhân đến lúc cài đặt chương trình và áp dụng vào thực tế công việc quản lý bệnh nhân của tôi cho đến nay, tôi có các nhận xét sau:
- Về tác phong, thái độ làm việc của sinh viên: Sinh viên Sơn Thuấn làm việc chăm chỉ, hoàn thành đúng các yêu cầu, có tinh thần trách nhiệm cao với công việc
- Về chương trình: Đã đáp ứng được hầu hết các yêu cầu quản lý bệnh nhân trong 1 phòng khám tư nhân như:
* Cho phép thêm, xoá, sửa các thông tin bệnh nhân, thông tin các lần khám bệnh của bệnh nhân (bệnh án)…
* Các thao tác nhập liệu nhanh gọn, giao diện đẹp mắt, gọn gàng
* Xử lý và in ấn nhanh, chính xác
* Mẫu ‘Toa thuốc’ gọn gàng, đẹp mắt, in được tối đa 12 tên thuốc/trang Mẫu ‘Phiếu điện tim’ gọn, đẹp Ngoài ra chương còn cho phép in lại Toa thuốc, Phiếu điện tim cũ khi cần…
* Chương trình bắt đầu áp dụng từ ngày 14/3/2003, đến nay đã hoàn chỉnh, hoạt động ổn định và hiệu quả, chưa có sự cố hay hậu quả gì làm ảnh hưởng đến công việc trong phòng khám
Ngày tháng năm 2003
Bác sĩ
Trang 5
GVHD: Dương Thiên Tứ
MỤC LỤC Trang
PHẦN I PHÂN TÍCH THIẾT KẾ CƠ SỞ DỮ LIỆU 2
CHƯƠNG 1 PHÂN TÍCH HIỆN TRẠNG VÀ YÊU CẦU 3
CHƯƠNG 2 THIẾT KẾ CƠ SỞ DỮ LIỆU 6
I Xây dựng sơ đồ dòng dữ liệu (DFD) 6
II Xây dựng sơ đồ thực thể kết hợp (ERD) 11 III Xây dựng sơ đồ quan hệ dữ liệu 13
IV Các thực thể dữ liệu phụ phục vụ cho ứng dụng 17
V Cài đặt CSDL trong MS Access 18
PHẦN II GIỚI THIỆU CÁC CÔNG CỤ XÂY DỰNG ỨNG DỤNG 19
CSDL TRONG WINDOWS
CHƯƠNG 1 Microsoft Visual Basic 6.0 và CSDL 20
I Microsoft Visual Basic 6.0 20
II Lựa chọn hệ quản trị CSDL MS Access và MS SQL Server 22
CHƯƠNG 2 Các công cụ hỗ trợ khác 23
II InstallShield Professional 29
PHẦN III THIẾT KẾ VÀ XÂY DỰNG ỨNG DỤNG 35
I Các lưu đồ thuật giải trong ứng dụng 36
II Các thành phần, thư viện liên quan trong 45
chương trình khi cài đặt
III Các giao diện chương trình và mô tả sử dụng 47
I TỔNG KẾT, ĐÁNH GIÁ 65
Trang 6GVHD: Dương Thiên Tứ 1
LỜI NÓI ĐẦU
Ngày nay khi KT-XH ngày càng phát triển thì việc ứng dụng CNTT vào các lĩnh vực khác nhau cũng ngày càng trở thành yêu cầu cần thiết không thể thiếu nhằm nâng cao chất lượng, năng suất công việc đặc thù trong các lĩnh vực đó, đem lại hiệu quả KT-XH rõ rệt
Ngành CNTT nói chung, lĩnh vực công nghệ phần mềm nói riêng, đang và sẽ trở thành lĩnh vực được áp dụng phổ biến và chủ yếu trong vấn đề tin học hóa ở các ngành, góp phần quan trọng trong sự nghiệp công nghiệp hóa - hiện đại hóa đất nước ở Việt Nam Nhà nước ta đang đi tiên phong trong việc áp dụng CNTT nhằm duy trì và phát triển ngành công nghệ phần mềm, cụ thể như việc tin học hoá trong một số cơ quan nhà nước, một số ngành chủ đạo như y tế, ngân hàng, giáo dục - đào tạo, giao thông vận tải, dầu khí - địa chất,…Song song với việc tin học hóa trong các lĩnh vực chủ đạo, có quy mô hoạt động lớn thì việc áp dụng tin học trong quản lý ở quy mô nhỏ trong các ngành nghề trong XH đang và sẽ trở nên không thể thiếu nhằm nâng cao hiệu quả công việc và phù hợp với sự phát triển KT-
XH hiện hành
Đứng trước những yêu cầu mới của nền KT-XH nước ta, em đã nhận thấy tiềm năng lớn lao trong việc áp dụng tin học vào các công việc quản lý của các ngành nghề nói chung và việc quản lý bệnh nhân trong ngành y tế nói riêng, và đây cũng là động cơ khiến em chọn những đề tài về chương trình quản lý mà ở đây là đề tài “Xây dựng ứng dụng quản lý việc khám và điều trị bệnh nhân của bác sĩ chuyên khoa” Đề tài của em không thiên về nghiên cứu tìm hiểu các công nghệ mới nhưng lại mang tính thực tế, tính hiện thực cao, xây dựng ứng dụng dựa trên thực trạng quản lý bệnh nhân ở phòng khám…
Em xin chân thành biết ơn các thầy cô đã giành cho em những kiến thức cơ bản và quý báu, đó là sự khởi đầu cho sự nghiệp tương lai của em
Em rất cảm ơn thầy Dương Thiên Tứ đã tận tình hướng dẫn em thực hiện tốt đề tài này
Trong thời gian 12 tuần với 1 sinh viên thực hiện đề tài, chắc chắn sẽ không tránh khỏi thiếu sót, kính mong quý thầy cô góp ý và thông cảm cho
em
Thành phố Hồ Chí Minh, tháng 4 năm 2003
Sinh viên Mai Sơn Thuấn
Trang 7GVHD: Dương Thiên Tứ 2
Phần I :
PHÂN TÍCH, THIẾT KẾ CDSL
Trang 8GVHD: Dương Thiên Tứ 3
CHƯƠNG 1 : PHÂN TÍCH HIỆN TRẠNG
VÀ YÊU CẦU
Giới thiệu về phòng khám:
- Phòng khám có địa chỉ tại 107 Lê Hồng Phong, F2, Quận 5
- Do bác sĩ Nguyễn Thị Thu Vân làm việc tại bệnh viện Nhân Dân
115 phụ trách
- Chuyên trị các chứng bệnh về TIM – PHỔI – THẬN – KHỚP
- Giờ khám bệnh: Từ 17h – 19h30, chủ nhật từ 7h00 – 10h00
Hiện trạng phòng khám:
- Phòng khám có một bác sĩ chủ trị chuyên khám và phát thuốc cho bệnh nhân, hai nhân viên y tá phụ giúp bác sỹ, trong đó một nhân viên có nhiệm vụ lấy thuốc cho bệnh nhân theo đề nghị của bác sĩ và một số công việc phụ khác mộït nhân viên vi tính có nhiệm vụ nhập thông tin bệnh nhân cũng như các thông tin sau khi khám cho bệnh nhân đó, lập toa thuốc theo đề nghị của bác sĩ rồi in ra để đưa cho bệnh nhân, và còn một số thao tác khác sẽ được đề cập trong phần tiếp theo…
- Hiện tại phòng khám đang sử dụng một chương trình quản lý bệnh nhân hoạt động trong môi trường MS Access 2000, hệ điều hành Windows 98, kết nối với một máy in dùng để in TOA THUỐC cho bệnh nhân
* Giới thiệu về chương trình đã dùng:
- Chương trình hoạt động trong môi trường của hệ quản trị CSDL Access
- Gồm các chức năng:
o Nhập tìm mã số bệnh nhân: sử dụng khi muốn tìm bệnh nhân đến tái khám, mã số bệnh nhân được in trên toa thuốc, hoặc khi muốn nhập bệnh nhân mới, trước khi user nhập mã số cho bệnh nhân mới, phải sử dụng chức năng này để xem mã số tiếp theo là gì để không bị trùng khoá…
o Nhập thuốc mới vào danh mục thuốc nhưng chương trình không cho phép sửa hay xóa thuốc
- Các nhược điểm của chương trình hiện tại :
o Có nhiều thông báo lỗi tiếng Anh của hệ quản trị CSDL Access rất khó hiểu cho người sử dụng như : trùng khóa, vi phạm ràng buộc, record trong bảng cha đang có quan hệ với
Trang 9o Chương trình không cho phép xóa hay sửa chữa các thông tin đã lưu cho lần khám tương ứng, mỗi lần nhập dữ liệu xong, lưu và xuất ra máy in, nếu thấy dữ liệu xuất ra sai phải làm lại từ đầu (không sửa lại)
o Chương trình chưa có chức năng nhập và in thông tin về điện tim đồ cho bệnh nhân, nhân viên y tá phải ghi bằng tay trên mẫu có sẵn
o Ngoài ra chương trình còn nhiều lỗi nhỏ khác, giao diện chưa được bố trí hài hoà, đẹp mắt và thuận tiện cho người sử dụng
o Chương trình không tự động backup file dữ liệu ở nơi khác để dự phòng
- Yêu cầu đặt ra cho chương trình hiện tại của phòng khám: khắc phục những nhược điểm và thiếu sót đã nêu ở trên
Qua khảo sát thực tế quản lý bệnh nhân trong phòng khám, ta có thể lập một quy trình quản lý việc khám và điều trị bệnh nhân bằng máy tính như sau :
- Đầu tiên, nếu là bệnh nhân mới, bác sĩ sẽ hỏi thăm tình trạng sức khoẻ của bệnh nhân, nếu bệnh nhân có bệnh thì nhân viên vi tính sẽ nhập các thông tin cá nhân của bệnh nhân như họ tên, năm sinh, địa chỉ, điện thoại, mã số bệnh nhân được sinh tự động
- Y tá đo huyết áp, mạch, điện tim đồ, siêu âm tim và lần lượt nhập các thông tin đo được vào máy tính, tất cả các thông tin này sẽ là
cơ sở để bác sĩ chẩn đoán bệnh và phát toa thuốc thích hợp cho bệnh nhân, bác sĩ sẽ hỏi xem bệnh nhân muốn lấy thuốc uống trong bao nhiêu ngày thì tái khám, bác sĩ sẽ đọc từng tên thuốc, kèm theo liều lượng cho y tá nhập vào máy tính, ví dụ : bệnh nhân muốn lấy thuốc sử dụng trong 20 ngày thì tái khám, với tên thuốc là Cardivas 12,5 mg, mỗi buổi sáng uống 1/2 viên thì số lượng
Trang 10- Đối với bệnh nhân tái khám (khám lần thứ 2 trở đi): bệnh nhân sẽ cầm theo toa thuốc cũ đến đưa cho y tá, y tá sẽ đọc mã số và tìm thông tin bệnh nhân rồi nhập các thông tin cho lần khám mới này cũng như in toa thuốc mới cho bệnh nhân Trường hợp bệnh nhân không đem theo toa thuốc hoặc bị mất và không nhớ mã số của mình thì có thể tìm theo họ tên bênh nhân và có thể in lại toa thuốc cũ cho bệnh nhân
- Như vậy mỗi lần khám lại nhập thông tin của lần khám đó và in toa thuốc tương ứng
- Các thông tin về bệnh tim thu thập được từ phòng khám:
o Lưu trữ bệnh nhân với các thông tin như: Họ tên, tuổi, địa chỉ, điện thoại, phái
o Mỗi lần bệnh nhân tới khám thì đo: huyết áp (vd: 12/8), mạch (vd: 79 nhịp/phút) Tuỳ theo tình hình sức khỏe mà bác sĩ có thể đo thêm điện tim đồ, siêu âm tim trong lần khám đó
o Điện tim đồ bao gồm các thông số: chuyển đạo mẫu, nhịp, góc, trục, tư thế tim, P, PQ, QRS, ST, T, QT, chuyển đạo trước tim => phần kết luận của bác sĩ chuyên khoa
o Siêu âm tim gồm các thông số (đều ở dạng số, đơn vị mm): LvDd, LvDs, Rv, LA, FE, DayThat, EF, RL vận động, Van tim, Paps, Mang tim, Bẩm sinh
o Thông tin thuốc gồm tên thuốc (đa số là tiếng Anh), đơn vị (viên, ống, lọ ), giá, ghi chú Giá thuốc thay đổi thường xuyên, hiện tại (và tương lai) phòng khám không sử dụng giá thuốc cũng như không in giá thuốc trên toa thuốc
o Chỉ có một user sử dụng chương trình tại một thời điểm, có yêu cầu login một máy in lazer hiện tại chỉ dùng để in toa thuốc, kết quả điện tim đồ phải ghi bằng tay trên mẫu có sẵn
Trang 11CHƯƠNG 2 : THIẾT KẾ CƠ SỞ DỮ LIỆU
I Xây dựng sơ đồ dòng dữ liệu (DFD):
- Qua việc phân tích quy trình khám và điều trị bệnh nhân cũng như
dựa các thông tin đã thu thập được, ta xây dựng được Sơ đồ dòng dữ
liệu (sự lưu chuyển thông tin) (DFD - Data Flow Diagram – Sơ đồ
dòng dữ liệu) như sau:
Tác nhân ngoài
Kho dữ liệu
Tiến trình chính Chiều dữ liệu di chuyển
Trang 12DFD mức 0
Trang 13DFD chi tiết của process 2 (mức 1)
Trang 15- Từ các sơ đồ DFD trên cũng như từ các thông tin thu thập được, ta xác định
được những thực thể ban đầu như sau:
Bệnh nhân, Bác sĩ, Toa thuốc, Thuốc, thông tin Điện tim đồ, thông
tin Siêu âm tim
- Mỗi bệnh nhân điều trị sẽ có thể có >=1 lần khám (tái khám) , mỗi lần khám
có thể đo Điện tim đồ, Siêu âm tim, tuỳ theo tình trạng bệnh của bệnh nhân mà
bác sĩ sẽ lập Toa thuốc thích hợp cho lần khám đó, ta lại có thêm thực thể mới:
‘Các lần khám’ làm thực thể cha cho các thực thể khác:
CácLầnKhám(MãSố, thông tin SiêuÂmTim, thông tin ĐiệnTimĐồ,
ToaThuốc, HuyếtÁp, Mạch)
ĐiệnTimĐồ(MãSố, ) , ToaThuốc(MãSố, )
Trang 16II Xây dựng sơ đồ thực thể kết hợp (ERD):
Ta có được mô hình ERD (Entity Relationship Diagram – Sơ đồ quan hệ
thực thể) hoàn chỉnh:
- Mô tả các mối quan hệ giữa các thực thể:
1 Bác sĩ – Bệnh nhân: Một bác sĩ có thể điều trị cho nhiều bệnh nhân,
một bệnh nhân cụ thể có thể được điều trị bởi nhiều bác sĩ khác
nhau, nếu bệnh của bệnh nhân thuộc chuyên khoa của bác sĩ
2 Bệnh nhân – Các lần khám: Một bệnh nhân khi điều trị bệnh tại
phòng khám của bác sĩ có thể đến khám nhiều lần, mỗi lần khám sẽ có
các thông tin tương ứng cho lần khám đó như : huyết áp, mạch, điện tim
đồ, toa thuốc…
Trang 173 Các lần khám – Siêu âm tim: Một lần khám cụ thể của bệnh nhân có thể có 1 thông tin về siêu âm tim (gồm các thông số chuyên môn) hoặc không có
4 Các lần khám – Điện tim đồ: Một lần khám cụ thể của bệnh nhân có thể có 1 thông tin về điện tim đồ(gồm các thông số chuyên môn) hoặc không có, nghĩa là trong lần khám bệnh đó có thể đo điện tim đồ tuỳ theo tình trạng bệnh của bệnh nhân
5 Các lần khám – CT Toa thuốc (chi tiết toa thuốc): Một lần khám cụ thể của bệnh nhân có thể có 1 toa thuốc, trong toa thuốc có thể gồm 1 hoặc nhiều tên thuốc khác nhau
6 CT Toa thuốc - Thuốc: Trên một toa thuốc phát cho bệnh nhân bao gồm 1 hoặc nhiều tên thuốc khác nhau, một tên thuốc có thể xuất hiện trong nhiều toa thuốc Vd: các tên thuốc : Aspirine, Advil 100mg, Advil 150mg,
Trang 18III Xây dựng sơ đồ quan hệ dữ liệu:
- Các quan hệ dữ liệu:
- Mô tả chi tiết quan hệ:
1 BacSi: thông tin về bác sĩ điều trị
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
Trang 19DienThoai Text, max=20 kí tự Điện thoại
2 BenhNhan: thông tin về bệnh nhân
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
nhất, vd: 00145
3 DieuTri: cho biết một bệnh nhân nào đó do bác sĩ nào điều trị
4 CacLanKham: thông tin về mỗi lần khám bệnh của bệnh nhân
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
nhất, vd: 0000145
MsBenhNhan Text, max=5 kí tự Mã số bệnh nhân
Trang 20SoNgayThuoc Text, max=3 kí tự Số ngày để uống hết
thuốc
5 SieuAmTim: thông tin về siêu âm tim, bao gồm các thông số chuyên
môn
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
6 DienTimDo: thông tin về Điện tim đồ, bao gồm các thông số chuyên
môn
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
nhất, vd: 0000145
Trang 21ST Text, max=50 kí tự
ChuyenDaoTruocTim Text, max=50 kí tự Chuyển đạo trước tim
7 CTToaThuoc: thông tin về toa thuốc, bao gồm các tên thuốc, cách sử
dụng
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
nhất, vd: 0000145
viên
8 Thuoc: thông tin về thuốc, bao gồm các tên thuốc
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
nhất
9 DonVi: thông tin về đơn vị của thuốc, bao gồm các thông số chuyên
môn
Trang 22Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
viên, ống
IV Các bảng dữ liệu phụ :
1 MaSoBNMoi: chứa các mã số bệnh nhân dùng khi thêm bệnh nhân mới,
ta sẽ có mã số tự động, không phải nhập bằng tay Mỗi lần thêm một bệnh nhân mới, chương trình sẽ lấy mã số lưu trong bảng này làm mã số cho bệnh nhân và khi lưu lại thì mã số mới sẽ là mã số tiếp theo của mã số vừa lưu
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
tự MsBenhNhan trong bảng BenhNhan
2 MaSoKhamMoi: chứa các mã số khám (trong bảng CacLanKham) dùng
khi thêm lần khám mới, ta sẽ có mã số tự động, không phải nhập bằng tay Mỗi lần thêm một lần khám mới, chương trình sẽ lấy mã số lưu trong bảng này làm mã số khám và khi lưu lại thì mã số mới sẽ là mã số tiếp theo của mã số vừa lưu
Tên thuộc tính Kiểu dữ liệu, miền giá trị Mô tả
MsKham trong bảng CacLanKham
Trang 23V Cài đặt mô hình dữ liệu trong MS Access (Relationship):
Trang 24Phần II : CÁC CÔNG CỤ XÂY DỰNG ỨNG
DỤNG TRONG WINDOWS
Trang 25CHƯƠNG 1 : MS VISUAL BASIC 6.0
VÀ CƠ SỞ DỮ LIỆU
I Microsoft Visual Basic 6.0:
* Các đặc điểm nổi bật:
- Là môi trường lập trình trực quan (Visual), đây là thuận lợi lớn so với
các ngôn nhữ lập trình khác, với môi trường thiết kế giao diện này cho phép ta chỉnh sửa nhanh chóng các đối tượng Windows như: Form, Button, Label, TextBox, Frame, Đây là một trong những nhân tố làm giảm thời gian phát triển ứng dụng
- Cho phép ta sử dụng các thư viện liên kết động (DLL) của Hệ điều hành
Windows, điều này thể hiện sự mạnh mẽ của ngôn ngữ VB, khi ta khai thác hết các hàm, thủ tục trong các thư viện liên kết động là ta đã thâm nhập sâu vào cốt lõi của hệ điều hành Windows, vì bản thân HĐH Windows hoạt động được là nhờ vào các file thư viện liên kết động *.dll,
*.drv nằm trong thư mục hệ thống (thư mục System trong Win 9x, System32 trong Win2000/NT) Như vậy ta có thể đem so sánh Visual Basic với lập trình C/C++ trong Windows
- Ngôn ngữ lập trình Visual Basic có lẽ là ngôn ngữ lập trình phổ biến
nhất trong thế giới lập trình, đặc biệt là trong lĩnh vực phát triển các ứng
dụng có liên quan đến cơ sở dữ liệu trung bình và nhỏ, từ các ứng dụng desktop đến các hệ thống quản lý hoạt động trên mạng LAN (Client/Server), phân bố Visual Basic hỗ trợ hầu hết các provider CSDL như Jet-engine, SQL Server, Excel, FoxPro…
- Với Visual Basic, ta có thể xây dựng các ActiveX Component, là các file
*.dll được chuẩn hoá với những tính năng tác dụng chung nhất cho các ứng dụng khi sử dụng các component này, do đó sẽ tiết kiệm thời gian cho người lập trình để phát triển nhanh ứng dụng có tính thống nhất cao, đặc biệt là các ứng dụng hoạt động trên mạng
- Với Visual Basic, ta có thể xây dựng các ActiveX Control (*.ocx), là
những thành phần giao tiếp với user, ta có thể tự tạo ra các control mới hoàn toàn mà Visual Basic không cung cấp, hoặc có thể cải tiến từ một hoặc nhiều control sẵn có do Visual Basic cung cấp Bằng cách sử dụng lập trình API trong VB, ta có thể sáng tạo ra các control/phần tử giao
Trang 26Windows chưa hề có Các control này có thể được sử dụng bởi các ứng dụng C/C++(VC++) for Win
- Một đặc điểm quan trong trong trường phái lập trình trực quan đó là
nhúng và liên kết đối tượng (Object linking and embedding – OLE), đây
là cơ chế cho phép lập trình viên viết những ứng dụng, thí dụ trình soạn thảo văn bản, cho phép ứng dụng khác soạn thảo dữ liệu ngay trong chúng, thí dụ vẽ đồ hoạ OLE còn cho khả năng ứng dụng do ta viết sẽ quản lý được dữ liệu đang ở trong ứng dụng khác Một đối tượng của chương trình có thể xuất hiện trong chương trình khác theo hai cách khác nhau Đối tượng của tài liệu (dữ liệu) ngoài có thể liên kết (link) với tài liệu (dữ liệu) của chương trình khác Khi đó đối tượng ngoài sẽ không được lưu vào trong tài liệu của chương trình hiện hành mà chỉ ánh xạ để truy nhập sau này Cách khác là tài liệu ngoài được nhúng (embed) vào tài liệu hiện hành Khi đó, đối tượng của tài liệu ngoài sẽ được lưu trữ trong tài liệu hiện hành Một tài liệu chứa đối tượng OLE liên kết hay nhúng được gọi là tài liệu đa hợp (compound document)
Để cơ chế OLE làm việc được thì ứng dụng phải có đoạn mã trình đặc biệt trợ giúp Chương trình có khả năng quản lý các đối tượng
nhúng được gọi là trình chứa OLE (OLE container) và chương
trình tạo lập ra các đối tượng để nhúng trong trình chứa OLE được
gọi là trình dịch vụ OLE (OLE server)
Để có thể sử dụng được trình dịch vụ OLE, phải có cách nhận dạng chúng : một đối tượng OLE có thể là chương trình, kiểu tài liệu hay bất kỳ loại đối tượng nào trợ giúp OLE Mỗi đối tượng OLE trong hệ thống được nhận dạng bằng giá trị số 128 bit
Chúng được gọi là class ID hay CLSID CLSID hay ID là chỉ danh
duy nhất toàn cầu ( Globally Unique ID – GUID), chúng được phát sinh bằng thuật toán đảm bảo chỉ danh là duy nhất trên toàn thế giới Thông tin về đối tượng OLE trong hệ thống, bao gồm cả CLSID, được lưu trong CSDL được gọi là bộ đăng ký hệ thống (system registry), ta có thể xem bộ đăng ký này bằng chương trình Regedit.exe Trình dịch vụ OLE chưa được sử dụng cho tới khi các thông tin để nhận dạng chúng được nhập vào bộ đăng ký hệ thống
Môi trường Visual Basic cung cấp một điều khiển chứa OLE
(OLE container control) cho phép nhúng hoặc kết nối điều khiển
trong ứng dụng vào lúc thiết kế hoặc thi hành Kết nối (linking) là
đặt một tham chiếu vào tập tin chứa, tham chiếu này trỏ đến nơi
Trang 27có dữ liệu thực sự Nhúng (embedding) nghĩa là dữ liệu thực sự
được chứa hẳn vào tập tin chứa Kỹ thuật nhúng và kết nối cho phép chia bớt một phần xử lý của ứng dụng vào các ứng dụng khác
II Lựa chọn hệ quản trị CSDL MS Access và MS SQL Server:
- Với các tính năng hiện tại của chương trình, áp dụng cho một bác sĩ điều trị (single-user) cũng như quy mô của ứng dụng nên ta chọn MS Access làm môi trường cài đặt CSDL phục vụ cho ứng dụng Vì MS Access là một hệ quản trị CSDL quan hệ nhỏ, lý tưởng để phục vụ cho các ứng dụng single-user, các field trong table có giới hạn lưu trữ nhỏ, sử dụng một file dữ liệu duy nhất để lưu toàn bộ một CSDL, ứng dụng chỉ cần liên kết đến file dữ liệu cục bộ này (có đuôi là mdb) trong suốt thời gian hoạt động, file dữ liệu này có thể sao chép, di chuyển như các file bình thường khác, điều này làm đơn giản cho end-user khi cài đặt ứng dụng mà không cần sự hỗ trợ từ nhà phát triển ứng dụng Hiện nay, đa số các phần mềm có liên quan đến CSDL hoạt động trong trạng thái single-user (ứng dụng desktop) đều sử dụng MS Access làm nơi lưu trữ và quản trị dữ liệu
- Ngược lại với MS Access, MS SQL Server là hệ quản trị dữ liệu mạnh hơn, dữ liệu có thể phục vụ cho nhiều user (multiuser), thích hợp cho các ứng dụng hoạt động trên mạng LAN theo mô hình Client/Server, CSDL được lưu trữ tại Server, các máy Client kết nối đến máy tính chứa SQL Server để truy cập dữ liệu, Các field trong table có thể lưu trữ nhiều dữ liệu hơn, vd: field có kiểu chuỗi (Text) trong Access có thể lưu tối đa
255 kí tự, còn trong SQL Server thì có thể lưu chuỗi ở nhiều hình thức khác nhau như : Unicode (kiểu nchar, nvarchar, ntext), có thể chứa tối đa
4000 kí tự Unicode Kiểu varchar có thể chứa tối đa 8Kb kí tự… MS SQL Server được sinh ra để phục vụ nhu cầu quản lý trên mạng, có nhiều user sử dụng, MS SQL Server bao gồm nhiều công cụ để tạo và quản trị CSDL, quản trị các Client, các instance của Server, các giao thức truyền trên mạng,
Trang 28CHƯƠNG 2 : CÁC CÔNG CỤ HỖ TRỢ KHÁC
I Tạo báo cáo, kết xuất, in ấn với Crystal Report 8.5 của Seagate:
- Môi trường phát triển ứng dụng Visual Basic 6.0 đã tích hợp công cụ tạo Report là DataReport, tuy nhiên với công cụ này ta không thể phát triển lên những Report phức tạp hơn, DataReport cung cấp những phần tử cơ bản như Label, TextBox, Image, Shape, Line, Function (vd: Sum, Avg, Min, Max, ) để thiết kế các Report cơ bản, không quá phức tạp, cầu kì
- Công cụ Crystal Report 8.5 của hãng Seagate là một công cụ chuyên nghiệp, hoàn chỉnh để tạo Report, tuy nhiên khi cài đặt ứng dụng do ta xây dựng, ta phải kèm theo các thư viện (*.dll) của hãng thứ ba này Crystal Report 8.5 đáp ứng đầy đủ những yêu cầu từ thấp đến cao của nhà thiết kế Report, ta sẽ tìm hiểu những tính năng, công dụng của Crystal Report 8.5 trong phần dưới đây:
Data Explorer: tạo kết nối đến các nguồn CSDL, chọn các bảng dữ liệu
mà ta muốn lập báo cáo từ đó
Trang 29
Sau khi đã có nguồn dữ liệu, ta dùng chức năng Insert->Field Object để
insert các field dữ liệu mà ta muốn hiển thị trên report, dùng Insert-Text
Object để insert các nhãn (không kết nối dữ liệu)… ta có thể insert và
thao tác các object trên trong màn hình Design hoặc màn hình Preview
Đối với các phần tử hiện trên report ở dạng các công thức, được định
Trang 30định dạng vd: ta muốn hiện tháng trên report là 1,2,3, thì ta định dạng như sau:
Trang 31Sau khi insert các field từ CSDL, ta dùng Select Expert để truy vấn dữ liệu (hay lọc dữ liệu) mong muốn bằng cách chỉ ra điều kiện, giống như
ta dùng câu lệnh: Select * From Where điều kiện Như ví dụ dưới đây:
Trang 32Khi ta muốn thêm đồ thị vào report, ta dùng màn hình Chart Expert, với
màn hình này ta có thể chọn kiểu đồ thị phù hợp, liên kết đồ thị với các field dữ liệu mà ta muốn hiển thị
Trang 33Dùng Chart Options để định dạng đồ thị
Trang 34Ta có thể xuất report ra máy in, hay ra file với nhiều định dạng khác
nhau… như màn hình Export dưới đây:
và còn nhiều tính năng khác…
II Tạo chương trình cài đặt với InstallShield Professional:
- Môi trường phát triển ứng dụng VB 6.0 cũng cung cấp một công cụ
để đóng gói ứng dụng là Package and Deployment Wizard, để tạo
chương trình cài đặt cho end-user Một ứng dụng được xây dựng
bằng VB 6.0 thường bao gồm các thư viện thành phần (*.dll),
control (*.ocx) trong đó có một số thành phần không thể thiếu như
Msvbvm60.dll, nếu thiếu các file này hoặc có các file này nhưng
Trang 35không được ‘nạp hay load’ vào bộ đăng ký hệ thống (system
registry) thì các ứng dụng đó cũng không chạy được
- Tuy nhiên Package and Deployment Wizard không phải là một công
cụ chuyên nghiệp và hoàn chỉnh, không có các tính năng mở rộng
như: tạo số Serial Number cho bộ cài đặt, thay đổi giao diện cài đặt
(các màn hình khi chạy chương trình Setup), tạo các giá trị liên
quan đến ứng dụng trong system registry của Windows, tạo
Password cho các thành phần cài đặt và nhiều tính năng khác mà
với InstallShield ta sẽ có những tính năng trên và còn nhiều hơn
nữa:
Tạo một project cài đặt mới trong InstallShield, với các project Visual
Basic ta chọn kiểu project là Import Visual Basic Project, như màn hình
dưới đây:
Trang 36Mỗt project InstallShield có một file script chứa các dòng lệnh lập trình
có cú pháp tựa như ngôn ngữ lập trình C, với file script này, ta có thể lập
trình để thiết kế các kiểu cài đặt hay giao diện cài đặt tuỳ thích,
InstallShield cung cấp rất nhiều hàm để làm điều này như:
MessageBox(msg,type) để hiện thông báo, OpenFileMode (FileMode)
thiết lập chế độ mở file để đọc/ghi/tạo mới, OpenFile(FileHandle, Path,
FileName) để mở file, SdAskDestPath( szTitle, szMsg, szDir, 0 ) để hiện
hộp thọai yêu cầu end-user chọn đường dẫn đích, là vị trí sẽ cài đặt ứng
dụng…