Một số modul chính của chơng trình

Một phần của tài liệu Phân tích và thiết kế thông tin hệ thống quản lý bệnh nhân.doc (Trang 35 - 39)

Để hiển thị dữ liệu trong trong một Table ta sử dụng đối tởng Listview đối t- ợng này tơng đối tiện lợi để hiển thị dữ liệu cụ thể nh sau:

Private Sub Display_Listview()

Dim rs As New ADODB.Recordset Dim Str

Dim mItem As listItem listItem.ListItems.Clear

Str = "select * from tblTinh order by Matinh asc"

Set rs = cn.Execute(Str) 'Thuc Hien Mot Lenh SQL duoc chi ra boi str If rs.EOF = False Then

While Not rs.EOF

Set mItem = listItem.ListItems.Add(, , rs!MaTinh) mItem.SubItems(1) = rs!TenTinh

rs.MoveNext Wend

End If End Sub

Trong đó listItem là đối tợng Listview có chức năng hiển thị dữ liệu, biến rs có kiểu Recordset để lu trữ dữ liệu trong một Recor (dữ liệu trong bảng). Trong đoạn chơng trình trên ta còn sử dụng phơng thức Set rs = cn.Execute(Str) để thực hiện câu truy vấn (SQL) trong ngoặc, câu truy vấn này lấy về dữ liệu đợc cất trong biến Record (rs) và đợc hiển thị trên Listview.

Để thêm mới dữ liệu vào một Table trong chơng trình ta sử dụng đối tợng Data Environment đối tợng này cho phép gọi các hàm hoặc các thủ tục nh cách gọi của Visual Basic. Dới đây là ví dụ cách gọi một hàm có tên Sp_NhapTinh có chức năng thêm một tỉnh mới

DE.Sp_NhapTinh MaTinh, TenTinh

Trong đó DE là đối tợng Data Environment và hàm Sp_NhapTinh là hàm (có thể là các thủ tục thậm chí là một View) đợc viết và lu trong cơ sở dữ liệu.

Tơng tự với các thủ tục khác cũng đợc thực hiện bằng cách gọi nh trên, tuy nhiên đối với thủ tục xóa dữ liệu trong một Table lại là một việc khá phức tạp bởi việc này còn liên quan đế một số ràng buộc về khóa. Ví dụ việc xóa một tỉnh thành, ta phải đi xóa toàn bộ các huyện, xã trực thuộc tỉnh đó, không những vậy ta còn phải xóa tất cả các bệnh nhân và nhân viên cùng các giấy tờ có liên quan, cụ thể ta có mã lệnh nh sau:

CREATE PROCEDURE Sp_XoaTinh @MaTinh Char(2)

---

-- Xoa Tat ca can bo la benh nhan truc thuoc tinh Delete From tblCanBo

Where tblCanBo.MaBenhNhan in( Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) --- -- Xoa Tat ca cac bao hiem y te cua benh nhan thuoc tinh

Delete From tblBaoHiemYTe

Where tblBaoHiemYte.MaBenhNhan in( Select MaBenhNhan

From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) --- -- Xoa tam ung cua cac benh nhan thuoc tinh

Delete From tblTamUng

Where tblTamUng.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) --- -- Xoa Dung dich vu ma benh an dung

Delete From tblDichVuDung

Where tblDichVuDung.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen

From tblHuyen

Where tblHuyen.MaTinh=@MaTinh)))

--- -- Xoa Dung Dich Vu

Delete From tblDichVuDung

Where tblDichVuDung.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.MaXa in (Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.matinh=@MaTinh))) --- -- Xoa Benh An cua Benh Nhan thuoc tinh tren

Delete From tblBenhAn

Where tblBenhAn.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) --- -- Xoa Benh An ma Nhan Vien lap

Delete From tblBenhAn

Where tblBenhAn.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.MaXa in (Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.matinh=@MaTinh))) --- --Xoa dong kham benh cua benh nhan

Delete From tblDongKhamBenh

Where tblDongKhamBenh.MaBenhNhan in(Select MaBenhNhan

From tblBenhNhan

Where tblBenhNhan.MaXa in(Select MaXa

From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) --- -- Xoa Dong Kham Benh Ma Nhan Vien kham

Delete From tblDongKhamBenh

Where tblDongKhamBenh.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.MaXa in (Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.matinh=@MaTinh))) --- --- Xoa Thuoc ma Nhan vien cap cho don thuoc

Delete From tblThuocDung

Where tblThuocDung.MaNhanVien in (Select MaNhanVien From tblNhanVien Where tblNhanVien.MaXa in (Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.matinh=@MaTinh))) --- -- Xoa thuoc dung cho benh nhan thuoc tinh

Delete From tblThuocDung

Where tblThuocDung.MaBenhNhan in(Select MaBenhNhan From tblBenhNhan Where tblBenhNhan.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh))) --- -- Xoa benh nhan thuoc tinh

Delete From tblBenhNhan Where tblBenhNhan.MaXa

in(Select MaXa From tblXa

Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen

Where tblHuyen.MaTinh=@MaTinh))

--- -- Xoa Nhan Vien thuoc tinh

Delete From tblNhanVien Where tblNhanVien.MaXa in(Select MaXa From tblXa Where tblXa.MaHuyen in(Select MaHuyen From tblHuyen Where tblHuyen.MaTinh=@MaTinh)) --- -- Xoa Xa truc thuoc tinh

Delete From tblXa Where tblXa.MaHuyen

in(Select MaHuyen From tblHuyen

Where tblHuyen.MaTinh=@Matinh)

--- -- Xoa Huyen trong tinh

Delete From tblHuyen

Where tblHuyen.MaTinh=@MaTinh

--- -- Xoa Tinh can Xoa

Delete From tblTinh

Where tblTinh.MaTinh=@Matinh

--- GO

Đối với các thủ tục xóa huyện, xã cũng tơng tự nh việc xóa một tỉnh nên cũng phải xóa tất cả các dữ liệu có liên quan.

Để trình bày dữ liệu em dùng view để kết nối các bảng. Ví dụ đối với view địa chỉ la sự kết nối của ba bảng Tỉnh, Huyện, Xã nh sau:

CREATE VIEW dbo.vwDiaChi AS

SELECT dbo.tblTINH.TenTinh, dbo.tblHUYEN.TenHuyen, dbo.tblXA.TenXa, dbo.tblXA.Maxa

FROM dbo.tblHUYEN INNER JOIN

dbo.tblTINH ON dbo.tblHUYEN.MaTinh = dbo.tblTINH.MaTinh INNER JOIN

dbo.tblXA ON dbo.tblHUYEN.MaHuyen = dbo.tblXA.MaHuyen

Để tìm kiếm dữ liệu trong chng trình em sử dụng hàm tìm kiếm đợc xây dựng sẵn trong cơ sở dữ liệu ví dụ tìm kiếm một bệnh nhân ta có đoạn truy vấn sau:

(@HoBenhNhan Char(20), @TenBenhNhan char(20)) RETURNS Table --- AS --- Return Select * From tblBenhNhan

Where (tblBenhNhan.HoBenhNhan= @HoBenhNhan) and (tblBenhNhan.TenBenhNhan= @TenBenhNhan) GO

Hàm này trả về một Table và các tiêu chí tìm kiếm đợc chỉ ra trong dữ liệu đầu vào là @HoBenhNhan và @TenBenhNhan. Tơng tự nh vậy ta có thể tìm kiếm bất kỳ dữ liệu nào có trong cơ sở dữ liệu và với các tiêu chí đợc đa ra ở đầu vào.

Thoạt tiên ta có cảm giác một hàm (Function) hơi giống với một view song với view không có dữ liệu đầu vào, song với hàm thì ngợc lại. Do đó để truy xuất dữ liệu thì với hàm là linh hoạt hơn rất nhiều so với view.

Iv một số form chính của chơng trình

Form chính của chơng trinh, khi chạy chơng trình form này đợc gọi đầu tiên và từ form này có thể gọi bất kỳ form nào khác

Form thông tin bệnh nhân có chức năng hiển thị tất cả các thông tin về bệnh nhân, ngoài ra ta còn có thể thêm một bệnh nhân, sửa, xóa một bệnh nhân trên form này tất nhiên là ngời thay đổi thông tin là ngời đợc trao quyền truy xuất và thay đổi dữ liệu.

Trong form này khi ta click vào một bệnh nhân bất kỳ thì mọi thông tin về bệnh nhân đó đều đợc hiển thị lên trên. Ngoài ra ta có thể thay đổi cũng nh xem chi tiết một số thông tin khác về bệnh nhân nh bệnh án, bảo hiểm y tế, ...

Form nhân viên: Tại đây hiển thi tất cả các thông tin về nhân viên

Form tìm kiếm bệnh nhân form này cho phép tìm kiếm bệnh nhân theo những tiêu chí đợc chỉ ra trong hộp combobox (tiêu chí có thể là tìm theo tên, họ tên, ) và thông tin cần tìm kiếm đ… ợc nhập vào trong hộp textbox.

Sau khi tìm kiếm có thể cho một hoặc một số bệnh nhân thậm chí có thể chẳng tìm thấy bệnh nhân nào nên ta có thể xem chi tiết từng bệnh nhân, và có thể in chi tiết đó ra giấy, chúng ta cũng có thể in ra toàn bộ danh sách bệnh nhân đã tìm kiếm đợc.

Form tìm kiếm bệnh nhân

Form thống kê bệnh nhân cũng tơng tự nh với tìm kiếm ta cũng có thể thống kê theo bệnh của bệnh nhân. Sau khi tìm kiếm thông thờng ta tìm đợc một danh sách bệnh nhân và ta cũng có thể in ra danh sách đó.

Form thống kê bệnh nhân.

Trong chơng trình còn một số form khác song em không tiện trình bày ra.

Chơng V. kết luận và đề xuất ý kiến I. Kết luận

Đứng trớc xu hớng phát triển nhanh và mạnh của nền công nghệ thông tin thế giới cũng nh nền công nghệ thông tin nớc nhà, thì tin học hóa quản lý hành chính là vô cùng quan trọng và bức thiết hiện nay. Nó sẽ giúp cho các cơ quan

Một phần của tài liệu Phân tích và thiết kế thông tin hệ thống quản lý bệnh nhân.doc (Trang 35 - 39)

Tải bản đầy đủ (DOC)

(39 trang)
w