Chuyên đề Phân tích thiết kế hệ thống thông tin quản lý thông tin Card Visit – Leaflet

Trong thời điểm hiện nay, Việt Nam đã gia nhập WTO tạo nhiều điều kiện thuận lợi cho ngành du lịch và giao thương quốc tế. Tất cả các công ty du lịch đều có chung một lợi thế và thách thức nhưng chỉ có một số ít công ty có khả năng biến thách thức thành lợi thế cho mình. MonVietNam là một công ty du lịch tuổi đời còn trẻ nhưng khả năng phát triển trong lĩnh vực du lịch và dịch vụ là rất lớn. Không phải công ty du lịch nào cũng làm được điều đó, để khách hàng thực sự cảm thấy công ty tổ chức tour là người thân, có thể gọi điện nhờ tư vấn, thắc mắc, hay là kể chuyện về chuyến đi bất cứ vào lúc nào. Tất cả những cố gắng nỗ lực của giám đốc và nhân viên công ty cho đến nay là sự tin cậy của bạn bè khắp nơi đã từng đến với MonVietNam. Đó là cơ sở vững chắc cho sự thành công của doanh nghiệp trên con đường dài phía trước.

doc108 trang | Chia sẻ: aloso | Lượt xem: 1584 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Chuyên đề Phân tích thiết kế hệ thống thông tin quản lý thông tin Card Visit – Leaflet, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bởi những người có hiểu biết ít nhiều về tin học và sẽ thực hiện một công việc nào đó trong một môi trường riêng. 2.3.2 Nguyên tắc trình bày thông tin trên màn hình * Khi thiết kế thông tin ra trên màn hình phải chú ý những điểm sau: Thông tin ra phải được thiết kế sao cho người sử dụng phải kiểm soát được lượng thông tin ra màn hình. Cần thiết kế thông tin lấp đầy màn hình rồi dừng lại và để người sử dụng chủ động cho tiếp tục hiện thông tin ra hay không? Thiết kế sao cho người sử dụng có thể lùi về trang trước hoặc xem trang sau bằng các phím ( Up, Down, PageUp, PageDown ) Thiết kế viên phải cho phép người sử dụng hạn chế khối lượng thông tin hiện ra trên màn hình * Khi thiết kế thông tin ra trên màn hình thiết kế viên phải tuân thủ những nguyên tắc thiết kế màn hình như sau: - Đặt mọi thông tin gắn liền với nhiệm vụ trên cùng một màn hình. Người sử dụng không phải nhớ thông tin từ màn hình này sang màn hình khác. - Chỉ dẫn rõ ràng cách thoát khỏi màn hình. Đặt giữa các tiêu đề và xếp đặt các thông tin theo trục trung tâm. - Nếu đầu ra gồm nhiều trang màn hình thì mỗi trang phải được đánh số thứ tự. Việc này giúp cho người sử dụng biết rõ mình đang ở đâu? - Viết văn bản theo quy ước chung bằng cách sử dụng chữ in hoa, gạch chân và ngắt câu hợp lý. - Đặt tiêu đề cho mỗi cột, chỉ đặt màu cho những thông tin quan trọng. - Tổ chức các phần tử của danh sách theo trật tự quen thuộc. - Căn trái các cột văn bản và căn phải các cột số. - Chỉ tô màu cho những thông tin quan trọng. 2.3.3 Nguyên tắc thiết kế màn hình nhập liệu Mục đích của thiết kế màn hình nhập liệu là thiết kế các thủ tục nhập liệu có hiệu quả và giảm thiểu tối đa các sai sót. Việc thiết kế màn hình nhập liệu phải tuân thủ các nguyên tắc sau đây: - Khi nhập tài liệu từ một tài liệu gốc, khuôn dạng màn hình phải giống như tài liệu gốc. - Nên nhóm các trường trên trên màn hình theo một trật tự có ý nghĩa, theo trật tự tự nhiên, theo tần số chung, theo chức năng hoặc theo tầm quan trọng. - Không nhập các thông tin mà hệ thống thông tin có thể truy tìm được từ cơ sở dữ liệu hoặc tính toán được. - Đặt tên các trường ở trên hoặc trước trường nhập. - Đặt các giá trị ngầm định cho phù hợp. - Sử dụng phím tab để chuyển trường nhập. 2.3.4 Thiết kế cơ sở dữ liệu bằng phương pháp mô hình hóa Xác định các tệp CSDL trên các thông tin đầu ra của hệ thống là phương pháp cổ điển và cơ bản của việc thiết kế CSDL. Các bước chi tiết khi thiết kế CSDL từ các thông tin đầu ra : Bước 1 : Xác định các đầu ra Liệt kê toàn bộ các thông tin đầu ra Nội dung, khối lượng, tần xuất và nơi nhận của chúng Bước 2 : Xác định các tệp cần thiết cung cấp đủ dữ liệu cho việc tạo ra từng đầu ra Liệt kê các phần tử thông tin đầu ra + Trên mỗi thông tin đầu ra bao gồm các phần tử thông tin được gọi là các thuộc tính. Liệt kê toàn bộ các thuộc tính thành một danh sách. + Đánh dấu các thuộc tính lặp (là những thuộc tính có thể nhận nhiều giá trị dữ liệu). + Đánh dấu các thuộc tính thứ sinh (S) là những thuộc tính được tính toán ra hoặc suy ra từ những thuộc tính khác. + Gạch chân các thuộc khóa cho thông tin đầu ra. + Loại bỏ các thuộc tính thứ sinh ra khỏi danh sách, chỉ để lại các thuộc tính cơ sở. Xem xét loại bỏ các thuộc tính không có ý nghĩa trong quản lý. Thực hiện việc chuẩn hóa mức 1 (1.NF) Chuẩn hóa 1.NF quy định rằng: Trong mỗi danh sách không được phép chứa những thông tin lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính này ra thành các thuộc tính con (có ý nghĩa dưới góc độ quản lý). Gắn thêm cho nó 1 tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của các danh sách gốc. Thực hiện việc chuẩn hóa mức 2 (2.NF) Chuẩn hóa 2.NF quy định: Trong mỗi danh sách mỗi thuộc tính phụ thuộc vào toàn bộ khóa chính chứ không chỉ phụ thuộc vào một phần của khóa. Nếu có phụ thuộc như vậy thì phải tách những thuộc tính phụ thuộc hàm vào bộ phận của khóa thành một danh sách con mới. Lậy bộ phận khóa đó làm khóa cho danh sách mới. Đặt cho danh sách mới này một tên riêng phù hợp với nội dung của các thuộc tính trong danh sách. Thực hiện việc chuẩn hóa mức 3 (3.NF) Chuẩn hóa 3.NF quy định: Trong mỗi danh sách không được phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính Z phụ thuộc hàm vào thuộc tính Y, mà thuộc tính Y phụ thuộc hàm vào thuộc tính X thì phải tách chúng vào hai danh sách chứa quan hệ Z với Y và danh sách chứa quan hệ Y với X. Mô tả các tệp. Mỗi danh sách xác định được sau khi chuẩn hóa 3.NF sẽ là một tệp CSDL. Biểu diễn các tệp theo ngôn ngữ CSDL về tệp. Tên tệp viết chữ in hoa, nằm phía bên trên. Các thuộc tính nằm trong ô, thuộc tính khóa có gạch chân, Bước 3 : Tích hợp các tệp để chỉ tạo ra một CSDL. Từ mỗi đầu ra theo các thực hiện của bước hai sẽ tạo ra rất nhiều danh sách và mỗi danh sách liên quan tới một đối tượng quản lý, có sự tồn tại riêng tương đối độc lập. Những danh sách này cùng mô tả về một thực thể thì phải tích hợp lại, nghĩa là tạo thành một danh sách chung, bằng cách tập hợp tất cả các thuộc tính chung và riêng của những danh sách đó lại với nhau. Bước 4 : Xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu. Xác định số lượng các bản ghi cho từng tệp. Xác định độ dài cho một thuộc tính. Tính độ dài cho bản ghi. Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên hai chiều, quan hệ một – nhiều theo chiều mũi tên. * Một số khái niệm về cơ sở dữ liệu (CSDL) - Mỗi bảng (Table) ghi chép dữ liệu về một nhóm phần tử nào đó gọi là thực thể (Entity). Thực thể là một nhóm người, đồ vật, sự kiện, hiện tượng hay khái niệm với các đặc điểm và tính chất cần ghi chép và lưu giữ. - Mỗi thực thể đều có những đặc điểm riêng mà ta gọi đó là thuộc tính. Mỗi thuộc tính là một yếu tố dữ liệu tách biệt, thường không chia nhỏ được nữa. Các thuộc tính góp phần mô tả thực thể và là những dữ liệu về thực thể mà ta muốn lưu trữ. - Mỗi bảng có những dòng (Row). Mỗi dòng còn được gọi là một bản ghi (Record) bởi vì nó ghi chép dữ liệu về một cá thể (Instante) tức là một biểu hiện riêng của thực thể. - Mỗi bảng có những cột (Column). Mỗi cột còn được gọi là một trường (Field). Giao giữa cột và dòng là một ô chứa dữ liệu ghi ghép về một thuộc tính của cá thể trên dòng đó. - Cơ sở dữ liệu (Database) là một nhóm gồm một hay nhiều bảng có liên quan với nhau. - Một tập hợp các dữ liệu có liên quan với nhau được gọi là một hệ cơ sở dữ liệu (Database System) hay ngân hàng dữ liệu (Data bank). - Hệ quản trị cơ sở dữ liệu (Database Management Systems) là một hệ thống chương trình máy tính giúp tạo lập, duy trì và sử dụng các hệ cơ sở dữ liệu. Hệ quản trị cơ sở dữ liệu được các công ty phần mềm lập sẵn và bán trên thị trường. Một vài hệ quản trị cơ sở dữ liệu thông dụng nhất theo mô hình quan hệ là DB2, SQL/DS, Oracle, Microsoft Access, Microsoft Visual Foxpro và Microsoft SQL Server. 2.4 Phương pháp luận về công cụ thực hiện đề tài 2.4.1 Cơ sở dữ liệu Access 2003 Khi thiết kế hệ thống thông tin hay thiết kế phần mềm, việc lựa chọn hệ quản trị cơ sở dữ liệu (HQTCSDL) là rất quan trọng. Đối với lập trình viên mà nói, khi lựa chọn một HQTCSDL để dựa vào đó viết những ứng dụng CSDL (database application), người ta thường chú ý đến khả năng, mức độ tiện dụng và các lĩnh vực chuyên sâu của bản thân HQTCSDL đồng thời chú ý đến tính tương thích của nó với phần cứng hiện có cũng như với các phần mềm mà khách hàng đang thường xuyên sử dụng. Phiên bản đầu tiên của Access ra đời vào năm 1989. Từ đó đến nay Access đã không ngừng được cải tiến và đã có các phiên bản mang số hiệu 1.0, 1.1, …, 2.0, …, 7.0, Access 95, Access 97, Access 2000 và phiên bản hiện nay được dùng nhiều nhất là Access 2003. Microsoft Access là một phần trong bộ phần mềm Microsoft Office Professional, vì thế mà những đối tượng thuộc giao diện như thực đơn, thanh công cụ (toolbar) và các hộp thoại đều rất tương tự như các ứng dụng khác của Office mà phần lớn người dùng máy tính đều đã quen thuộc. Việc trao đổi (nhập/xuất) dữ liệu giữa Access và các ứng dụng khác trong môi trường Windows như Excel, Word, Visual FoxPro, SQL Server, Oracle, HTML, XML… cũng rất thuận tiện. Access có nhiều chức năng để đáp ứng những nhu cầu khác nhau về CSDL. Lập trình viên có thể dùng Access để phát triển 6 kiểu ứng dụng phổ biến nhất đó là: - Ứng dụng cá nhân. - Ứng dụng cho doanh nghiệp nhỏ. - Ứng dụng trong nội bộ từng phòng ban. - Ứng dụng cho toàn công ty. - Ứng dụng ở tuyến trước (front-end) cho các CSDL theo mô hình khách/chủ trên phạm vi toàn doanh nghiệp. - Ứng dụng trên mạng nội bộ của một cơ quan (intranet) và mạng Internet. Microsoft Access 2003 hoạt động tốt trong môi trường của hệ điều hành Windows với các phiên bản 2000, XP hay 2003. Microsoft Access 2003 là HQTCSDL rất phù hợp cho các bài toán quản lý ở quy mô vừa và nhỏ. Sử dụng Access thực sự đơn giản nhưng rất hiệu quả trong việc tìm kiếm, tổ chức, khai thác và truy xuất thông tin từ cơ sở dữ liệu. Khả năng kết nối dữ liệu và công cụ truy vấn mạnh mẽ của Access làm cho việc tìm kiếm và truy xuất thông tin được thực hiện một cách nhanh chóng. Access có hiệu năng cao và đặc biệt dễ sử dụng bởi giao diện phần mềm sử dụng icon và các tính năng khác giống hệt bộ Office 2003. So với các phiên bản trước thì Access 2003 có những tiến bộ vượt bậc. Các thao tác sử dụng đơn giản và giao diện rất thân thiện với người dùng. Điều đặc biệt với người dùng chuyên nghiệp là Access còn cung cấp hệ thống công cụ khá mạnh đi kèm là Development Tools. Công cụ này sẽ giúp các nhà phát triển phần mềm đơn giản trong việc xây dựng trọn gói các dự án phần mềm quản lý quy mô vừa và nhỏ. Đặc biệt với những người muốn học cách lập trình một phần mềm quản lý thì đây là con đường ngắn nhất để giải quyết một bài toán quản lý. Các thành phần chính của một cơ sở dữ liệu Access - Bảng (Table) : Là thành phần cơ sở của tập tin cơ sở dữ liệu Access. Nó được dùng để lưu trữ dữ liệu của cơ sở dữ liệu. Vì vậy, các bảng phải là đối tượng đầu tiên được tạo ra trước. Một cơ sở dữ liệu thường gồm nhiều bảng có quan hệ với nhau nhằm phản ánh mối liên kết thực sự của các đối tượng dữ liệu ở bên ngoài thế giới thực. Các thành phần của bảng (table) gồm có: + Cột (Column) hay trường (Field): nằm trong bảng. Trong một bảng không thể có hai cột trùng tên nhau. Các thuộc tính cơ sở của một trường là: tên trường (field name), kiểu dữ liệu (data type), độ rộng (field size). + Dòng (Row): nằm trong bảng. Trong một bảng không thể có hai dòng trùng lặp với nhau về thông tin lưu trữ. + Khóa chính (Primary Key): là một hoặc nhiều trường trong một bảng mà dữ liệu tại các cột này bắt buộc phải có (không được để trống) và đồng thời phải duy nhất, không được phép trùng lặp (tính duy nhất của dữ liệu). Mặt khác, giá trị dữ liệu của khóa chính xác định duy nhất các giá trị của các trường khác trong cùng một dòng. + Khóa ngoại lai (Foreign Key): là một trong nhiều trường trong một bảng đồng thời các trường này là khóa chính của một bảng khác. Do đó, dữ liệu tại các trường này bắt buộc phải tồn tại có trong một bảng khác. Đây được gọi là tính tồn tại của dữ liệu. - Truy vấn (Query) : Là công cụ cho phép người sử dụng dùng ngôn ngữ truy vấn có cấu trúc SQL hoặc công cụ truy vấn bằng QBE để thực hiện các truy vấn trích rút, chọn lựa dữ liệu hoặc cập nhật dữ liệu (thêm, sửa, xóa) trên các bảng. Query là công cụ mạnh của Access dùng để tổng hợp, sắp xếp, tìm kiếm dữ liệu trên các bảng. Khi thực hiện truy vấn sẽ nhận được một tập hợp các kết quả thể hiện trên màn hình dưới dạng bảng gọi là Dynaset. Dynaset chỉ là bảng kết quả trung gian, không được ghi lên đĩa và nó sẽ bị xóa khi kết thúc truy vấn. Tuy nhiên, có thể sử dụng một Dynaset như một bảng để xây dựng các truy vấn khác. - Mẫu biểu (Form) : Form cho phép người sử dụng xây dựng trên các màn hình dùng để cập nhật hoặc xem dữ liệu lưu trong các bảng, ngoài ra cũng cho phép người sử dụng tạo ra các hộp thoại. Form dùng để tổ chức cập nhật dữ liệu cho các bảng và thiết kế giao diện chương trình. Tuy có thể nhập dữ liệu trực tiếp vào các bảng nhưng Form sẽ cung cấp nhiều khả năng nhập dữ liệu thuận tiện hơn rất nhiều như: nhập dữ liệu từ một một danh sách (listbox), nhập dữ liệu đồng thời trên nhiều bảng thông qua SubForm. Form còn cho phép nhập các giá trị riêng lẻ (không liên quan đến bảng) từ bàn phím. Ngoài ra, Form còn một khả năng quan trọng khác là tổ chức giao diện chương trình dưới dạng một bảng nút lệnh hoặc hệ thống menu chức năng. - Báo cáo (Report) : Report cho phép tạo ra các kết xuất từ các cơ sở đã lưu trong các bảng, sau đó sắp xếp và định dạng theo một khuôn dạng cho trước và từ đó có thể xuất báo cáo ra màn hình hoặc máy in. Report là một công cụ tuyệt vời phục vụ việc in ấn, nó cung cấp các khả năng: + In dữ liệu dưới dạng bảng. + In dữ liệu dưới dạng biểu. + Sắp xếp dữ liệu trước khi in. + Sắp xếp và phân nhóm dữ liệu tới 10 cấp. Cho phép thực hiện các phép toán để nhận dữ liệu tổng hợp trên mỗi nhóm. Ngoài ra dữ liệu tổng hợp nhận trên các nhóm còn có thể được đưa vào công thức để xuất ra báo cáo cho nhà quản lý theo một tiêu chí cụ thể nào đó. + In dữ liệu của nhiều bảng có quan hệ trên một báo cáo. - Lệnh gộp (Macro) : Macro bao gồm một dãy các hành động (actions) dùng để tự động hóa một loạt các thao tác. Marco thường dùng với biểu mẫu để tổ chức giao diện chương trình. Macro là công cụ cung cấp cho người sử dụng tạo ra các hành động đơn giản trong Microsoft Access như mở form, report, thực hiện một truy vấn… - Các Module : Đó là nơi chứa các hàm, thủ tục. Các module sử dụng các hàm và thủ tục để thực hiện một số hành động phức tạp nào đó mà không thể làm bằng Macro hay thực hiện những nhiệm vụ đặc biệt phức tạp. 2.4.2 Ngôn ngữ lập trình Visual Basic 6.0 Visual Basic là ngôn ngữ lập trình có thể dùng cho Microsoft Access, Microsoft Excel hay là bất cứ thành viên nào trong bộ phần mềm Microsoft Office. Visual Basic là ngôn ngữ lập trình được sử dụng để phát triển các phần mềm ứng dụng. Visual Basic có nhiều tính ưu việt hơn so với các ngôn ngữ khác ở chỗ tiết kiệm thời gian và công sức khi xây dựng ứng dụng. Visual Basic gắn liền với khái niệm lập trình trực quan nghĩa là trong khi thiết kế chương trình, ta được nhìn thấy kết quả qua từng thao tác và giao diện khi chương trình thực hiện. Đây là điểm mạnh của Visual Basic so với các ngôn ngữ khác. Trong khi thiết kế, lập trình viên có thể dễ dàng chỉnh sửa màu sắc, kích thước, hình dáng của các đối tượng có mặt trong ứng dụng. Một trong những tính năng thường được sử dụng của Visual Basic chính là kỹ thuật lập trình truy cập cơ sở dữ liệu. Visual Basic là một ngôn ngữ lập trình bậc cao dùng để xây dựng các trình ứng dụng chạy trong Microsoft Windows. Với Visual Basic người lập trình có thể dùng bộ phận thiết kế màn hình để tạo nên các nội dung cho một cửa sổ, chọn các đối tượng điều khiển (các nút bấm, các listbox v. v...) từ một hộp công cụ (toolbox) và đưa chúng vào trong thiết kế. Sau đó viết các thủ tục cho các đối tượng đó bằng một phiên bản mới của BASIC. Visual Basic ứng dụng phương pháp lập trình hướng sự kiện. Các thủ tục sẽ chạy khi bạn chọn dùng nút bấm hoặc một đôí tượng điều khiển khác. Visual Basic có sự hỗ trợ của OLE 2. 0 và Access 1. 1, do đó dễ dàng hơn trong việc biên soạn một chương trình mặt trước dùng giao diện người máy đồ họa cho một cơ sở dữ liệu. Sau khi đã xây dựng được một trình ứng dụng, lập trình viên có thể dùng Visual Basic Setup Wizard để tạo ra các đĩa cài đặt cho nó. Ngôn ngữ BASIC là ngôn ngữ lập trình bậc cao dễ sử dụng nhưng bị nhiều phê phán, phù hợp với máy tính cá nhân. Được soạn thảo vào năm 1964, BASIC ( BeginnerWindows All-Purpose Symbolic Instruction Code) là ngôn ngữ thủ tục, nó báo cho máy tính biết phải làm gì theo từng bước. Các chương trình BASIC chạy trong môi trường tương tác lẫn nhau gồm một chương trình soạn thảo văn bản, một chương trình gỡ rối, và một trình thông dịch để dịch và thực hiện mã nguồn BASIC lần lượt theo từng dòng. Vì chương trình được xây dựng một cách tương tác, nên cố gắng thay đổi luân phiên và kiểm thử tính toàn vẹn của chương trình theo từng bước của cách thức đó. Quá trình cấu tạo chương trình như vậy có tác dụng hướng dẫn học tập rất tốt. Gần đây người ta đã biên soạn các chương trình biên dịch để chuyển mã BASIC thành những chương trình có thể chạy độc lập. BASIC có thể học dễ dàng, nhưng các chương trình này thực hiện chậm. Điều đó làm cho BASIC rất ít được chọn dùng cho các ứng dụng chuyên nghiệp. Các phiên bản mới đã xuất hiện, như QUICK BASIC của Microsoft hoặc Turbo BASIC của Borland, chúng bao gồm các cấu trúc điều khiển hiện đại (gọi là chương trình con - subroutine) và một trình biên dịch. Một số phần mềm thương phẩm (và nhiều chương trình thuộc phần mềm cổ đông) đã được viết bằng BASIC có biên dịch, mặc dù ngôn ngữ C phổ dụng hơn trong lĩnh vực phát triển các chương trình chuyên dụng. Các kỹ thuật lập trình mới đã trao cho BASIC một sức sống mới. Ví dụ Visual BASIC của Microsoft (được thiết kế cho việc lập trình Windows) đã sử dụng giao diện đồ hoạ và lập trình hướng sự kiện để tạo nên những chương trình ứng dụng đầy ấn tượng Visual Basic được phát triển dựa trên nền tảng là ngôn ngữ Basic. Quá trình phát triển từ khi ra đời cho đến nay của Visual Basic như sau: + Visual Basic 1.0 ra đời vào giữa năm 1991, được phát triển từ Quick Basic. + Visual Basic 2.0 được phát hành vào năm 1992 bao gồm kiểu dữ liệu biến thể, xác định trước bằng hằng số true (false) và biến đổi đối tượng. Vào thời điểm này chỉ có VB SQL và ODBC API là phương pháp truy cập dữ liệu mà người dùng có thể dùng. + Visual Basic 3.0 ra đời năm 1993 bao gồm nhiều công cụ chuẩn. Những công cụ này cung cấp động cơ truy xuất cơ sở dữ liệu trong một ứng dụng với mã lệnh rất ít. Đi kèm phiên bản này là động cơ cơ sở dữ liệu Jet phiên bản 1.1 (Jet engine). Jet được dùng trong kết nối dữ liệu thông qua DAO (Data Access Object) hoặc điều khiển Data. Mặc dù Jet được phát triển cho đến ngày nay (phiên bản 4.0) nhưng ADO mới là phương pháp truy cập dữ liệu được ưa chuộng nhất hiện nay. Do đó, ADO là thành phần chính trong chiến lược phát triển của Microsoft. + Visual Basic 4.0 hoàn thành vào năm 1995 được xem là một bước tiến bộ. Nó đuổi kịp những tiến bộ trong lĩnh vực phát triển phần mềm bởi công nghệ kết hợp OLE (Object Linking and Embedding) và khả năng tạo ra những đối tượng. Một phương thức truy cập dữ liệu mới tích hợp trong phiên bản này là RDO (Remote Data Object) và RDC (Remote Data Control). RDO là phương pháp truy cập dữ liệu được thiết kế thay cho DAO. Thư viện ActiveX 32-bit này nhỏ hơn và nhanh hơn DAO và được thiết kế bằng một hệ thống đối tượng phân cấp giống như ODBC API. + Visual Basic 5.0 được phát hành năm 1997. Nó hỗ trợ chuẩn COM của Microsoft và cho phép tạo ra các điều khiển ActiveX. Phiên bản này là bước tiến vượt bậc bởi vì những người phát triển có thể dùng VB để tạo ra các điều khiển và thư viện liên kết động DLL riêng của họ. + Visual Basic 6.0 được phát hành vào năm 1998. Theo những yêu cầu đề ra, phiên bản này tăng cường phương pháp giao tiếp mới với SQL Server. Nó cải tiến cách truy nhập dữ liệu, nhiều công cụ và điều khiển mới cho giao tiếp với cơ sở dữ liệu, nhiều công cụ và điều khiển mới cho giao tiếp với cơ sở dữ liệu cung cấp những tính năng Web và những Wizard mới. Phiên bản này được đánh dấu với công nghệ ADO 2.0 (phương thức truy cập dữ liệu tốt nhất và nhanh nhất hiện nay. Nó giao tiếp với OLE DB tương tự như RDO nhưng nhỏ hơn và có cấu trúc phân cấp đơn giản hơn. ADO được thực thi các ứng dụng kinh doanh hay ứng dụng Internet. Phiên bản hiện nay là 2.5 đi kèm với Windows 2000. + Visual Basic.net được phát hành vào năm 2003. Hiện nay đây là công cụ được phát triển rất mạnh mẽ để thiết kế các phần mềm ứng dụng lớn, được tích hợp trong xây dựng các giải pháp ERP (Enterprise Resource Planning) cùng với hệ quản trị cơ sở dữ liệu SQL Server. Công nghệ DotNet ngày một phát triển và VB.net là ngôn ngữ thân thiện, dễ dùng ngày càng được ưa chuộng. Visual Basic thực sự thích hợp cho các ứng dụng vừa và nhỏ, giúp giải quyết các bài toán quản lý đơn giản. Các thành phần chính của Visual Basic : Form : Hình 2.2: Form trong thiết kế Visual Basic Form là biểu mẫu của mỗi ứng dụng trong Visual Basic. Form dùng để định vị và sắp xếp các bộ phận trên nó khi thiết kế các thành phần giao tiếp với người dùng. Ta có thể xem Form như là một bộ phận mà nó có thể chứa các bộ phận khác. Form chính của ứng dụng, các thành phần của nó 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 hộp thoại, hiển thị cho nhập dữ liệu và thi hành các tác vụ khác. Visual Basic cho phép ta thay đổi kích cỡ và di chuyển vị trí của các Form đến bất kỳ nơi nào trên màn hình khi tính đối tượng (Properties Windows). Thực tế, một trong những tính năng thiết yếu của Visual Basic đó là khả năng tiến hành các thay đổi động để đáp ứng các sự kiện của người dùng. Properties Windows (cửa sổ thuộc tính): Hình 2.3: Cửa sổ thuộc tính Properties Windows 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ể thay đổi được để phù hợp với yêu cầu về giao diện của các chương trình ứng dụng. Các thuộc tính sẵn có đối với các điều khiển chia làm 3 loại như sau: + Loại 1: Các thuộc tính sẵn có của điều khiển chỉ thiết lập lúc thiết kế, có nghĩa là có thể thiết lập các thuộc tính của điều khiển thông qua cửa sổ thuộc tính ( Properties Windows). + Loại 2: Các thuộc tính sẵn có của điều khiển chỉ thiết lập lúc chương trình chạy, có nghĩa là khi chương trình chạy ta có thể thay đổi các hành vi của các điều khiển. Ví dụ như có thể thay đổi thuộc tính Enable của các điều khiển giúp người sử dụng có thể tương tác hoặc không với các điều khiển. + Loại 3: Các thuộc tính sẵn có của điều khiển có thể thiết lập bất kỳ lúc nào. Ví dụ như các thuộc tính FillColor, Font, … có thể thiết lập lúc thiết kế chương trình. Tools Box (Hộp công cụ) Hình 2.4: 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. * Project Explorer: Hình 2.5: Project Explorer Do các ứng dụng Visual Basic thường dùng chung mã hoặc các Form đã tùy biến trước đó, nên Visual Basic tổ chức các ứng dụng thành các Project. Mỗi Project có thể có nhiều Form và mã kích hoạt các điều khiển trên một Form sẽ được lưu trữ chung với Form đó trong các tập tin riêng biệt. Project Explorer quản lý tất cả các Form và các Module chung, tạo nên các ứng dụng. Data Controls (Điều khiển dữ liệu): Để sử dụng Data Control ta thiết lập các thuộc tính của nó để có thể kết nối đến cơ sở dữ liệu (Database) và các bảng (Table) trong cơ sở dữ liệu đó. Bản thân Data Controls không hiển thị dữ liệu, nó chỉ hiển thị dữ liệu khi thực hiện kết nối đến cơ sở dữ liệu. Thông thường ta dùng nó để hiển thị cơ sở dữ liệu trên Form. Recordsets: Sau khi kết nối thành công với cơ sở dữ liệu ta tiến hành truy nhập đến các bản ghi, để thực hiện được việc này, ta sử dụng thuộc tính Recordset. Thuộc tính Recordset của ADODC (Active Data Object Data Control) là một đối tượng được sử dụng để truy nhập đến các bản ghi từ bảng hoặc truy vấn. Đối tượng Recordset thực hiện các thao tác: Thêm bản ghi. Sửa đổi bản ghi. Xóa bản ghi. Module Lớp (Class Module): Module lớp là nền tảng của lập trình hướng đối tượng trong Visual Basic, nó bao gồm nhóm các đối tượng có cùng thuộc tính, có chung hành vi và có chung mối quan hệ. Khuôn mẫu để tạo đối tượng là Module lớp. Sau này Module lớp còn được dùng để tạo đối tượng ActiveX, đó là một kỹ thuật cao hơn trong lập trình hướng đối tượng. Trong bước lập trình căn bản với Visual Basic, ta dùng Module để chứa các hàm và thủ tục. Tùy theo tầm hoạt động của các hàm hay thủ tục này ta có thể gọi chúng trực tiếp từ Module. Những module lớp thì không bao giờ được gọi trực tiếp. Để sử dụng một lớp, ta phải tạo đối tượng từ lớp thông qua lệnh New. Công cụ làm báo cáo Data Report Hình 2.6: Cửa sổ thiết kế báo cáo bằng Data Report Khi xây dựng một ứng dụng thực tiễn, kết quả cuối cùng mà nhà quản lý quan tâm đó là báo cáo. Dữ liệu cuối cùng có thể kết xuất ra các thiết bị máy in, các trình hỗ trợ khác cho phép người dùng in hay trích xuất dữ liệu sang các trình ứng dụng tương thích khác nhau. Data Report là công cụ làm báo cáo tích hợp trong Visual Basic 6.0. Nó cho phép ta thiết kế báo cáo trên ứng dụng Visual Basic. Để tạo báo cáo bằng Data Report trước hết phải có cơ sở dữ liệu, có thể tạo bằng Microsoft Access hoặc SQL Server. 2.4.3 Sự tích hợp Access 2003 với Visual Basic 6.0 Visual Basic là ngôn ngữ lập trình có thể dùng cho Microsoft Access, Microsoft Excel và nói chung là tất cả các chương trình trong gói phần mềm Microsoft Access. Visual Basic là ngôn ngữ lập trình dễ sử dụng và tiện lợi cho lập trình viên để phát triển các gói ứng dụng cho bài toán quản lý. Sự kết hợp hệ quản trị cơ sở dữ liệu Microsoft Access 2003 với ngôn ngữ lập trình Visual Basic 6.0 rất thích hợp cho việc thiết kế các phần mềm với quy mô vừa và nhỏ. Phần mềm ứng dụng sau khi tạo ra có dung lượng nhỏ gọn, đơn giản, dễ sử dụng nhưng có tích hợp nhiều tính năng ưu việt nổi trội mà nhiều ngôn ngữ lập trình khác không có được. CHƯƠNG III PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN QUẢN LÝ THÔNG TIN CARD VISIT - LEAFLET TẠI CÔNG TY TNHH DU LỊCH VÀ DỊCH VỤ “VIỆT NAM CỦA TÔI” 3.1 PHÂN TÍCH HỆ THỐNG THÔNG TIN 3.1.1 Phân tích yêu cầu 3.1.1.1 Khảo sát bộ phận quản lý thông tin Card Visit và Leaflet * Địa điểm khảo sát : Bộ phận quản lý thông tin Card Visit – Leaflet của công ty TNHH du lịch và dịch vụ Việt Nam Của Tôi. * Thời gian khảo sát : Từ ngày 06/01/2008 đến ngày 05/03/2008. * Kết quả khảo sát : - Môi trường tổ chức : + Môi trường pháp lý : là một bộ phận nằm trong phòng hành chính – tổng hợp của Công ty TNHH du lịch và dịch vụ Việt Nam Của Tôi. + Loại hình hoạt động : thực hiện chức năng nghiệp vụ quản lý nhằm mục tiêu kinh doanh. + Lịch sử : ra đời cùng với sự thành lập của công ty. + Thông tin địa lý : bộ phận có vị trí tại tầng 3 – trụ sở chính của Công ty TNHH du lịch và dịch vụ Việt Nam của tôi, địa chỉ tại số 14, 267/2/157 đường Hoàng Hoa Thám, phường Liễu Giai, quận Ba Đình, thành phố Hà Nội. - Môi trường vật lý : + bộ phận quản lý Card Visit – Leaflet có 1 máy tính được nối mạng LAN của công ty. + Ngoài máy tính, mỗi cán bộ có một ngăn riêng dùng để lưu trữ Card Visit, Leaflet, giấy tờ liên quan. - Môi trường kỹ thuật : + Tình trạng tin học hóa: thủ công hoàn toàn. Công việc do 2 cán bộ phòng hành chính – tổng hợp đảm nhận. Việc quản lý các thông tin trên tấm Card Visit và Leaflet được quản lý hoàn toàn thủ công, mỗi một tấm thẻ được đánh mã và theo dõi trực quan. Do đó rất khó khăn cho việc quản lý của doanh nghiệp. + Phần cứng : các máy tính PC có cấu hình như sau : Màn hình : 17 inches. CPU : Intel Cleron 2.13 Ghz. RAM: 256 MB. Ổ cứng: 40 GB. Hỗ trợ in ấn: máy in Canon + Phần mềm: Hệ điều hành: Window XP Professional SP 2 Tin học văn phòng: Microsoft Office 2003, bộ gõ Unikey 4.0…. + Trình độ cán bộ: thành thạo tin học văn phòng, đáp ứng nhu cầu công việc. 3.1.1.2 Yêu cầu chức năng Phần mềm thiết kế được phải đáp ứng các yêu cầu về mặt chức năng như sau: - Chức năng quản lý dữ liệu : quản lý thông tin trong các danh mục dữ liệu. - Chức năng quản lý thẻ : quản lý Card Visit (thông tin về cá nhân), quản lý Leaflet (thông tin về tổ chức : khách sạn, nhà hàng, sân golf, công ty vận tải…). - Chức năng lập báo cáo : Tổng hợp dữ liệu và xuất báo cáo theo yêu cầu của giám đốc và nhân viên quản lý các cấp. - Chức năng cập nhật số liệu : tự động cập nhật dữ liệu giữa các bảng dữ liệu có quan hệ. 3.1.1.3 Yêu cầu phi chức năng - Yêu cầu kỹ thuật : + Các máy tính có cấu hình vừa phải phù hợp với yêu cầu xử lý công việc văn phòng. + Ngôn ngữ lập trình Visual Basic, phiên bản 6.0. - Yêu cầu khác : + Yêu cầu về bảo mật : phần mềm phải có khả năng lưu trữ dữ liệu an toàn. + Yêu cầu về tính mở: phần mềm có khả năng mở rộng, nâng cấp. + Yêu cầu về giao diện: giao diện tiếng Việt chuẩn, các màn hình xử lý cơ bản phải có sự tương đồng về hình thức, các tiêu đề thông báo phải rõ ràng, dễ hiểu. * Giải pháp thực hiện: - Giải pháp kĩ thuật: Phần mềm giúp người dùng đơn giản hóa các thao tác để người sử dụng có thể thực hiện một cách dễ dàng nhất. Đặc biệt, công việc mà nhân viên quản lý phải thực hiện thủ công nay sẽ được tin học hóa. - Giải pháp giao diện: Phần mềm sử dụng tiếng Việt, có giao diện thân thiện với người dùng, kể cả nhân viên có trình độ tin học trung bình. Trong quá trình thiết kế phần mềm có sử dụng một số công cụ hỗ trợ thiết kế giao diện đảm bảo tính thẩm mĩ và tiện lợi khi sử dụng. 3.1.2 Sơ đồ chức năng của HTTT quản lý thông tin Card Visit – LeafletHình 3.1: Sơ đồ chức năng kinh doanh BFD QUẢN LÝ THÔNG TIN CARD VISIT - LEAFLET Hệ thống Danh mục DM Website Đăng nhập Thoát Hướng dẫn sử dụng phần mềm BC danh mục Website Quản lý Leaflet Quản lý người sử dụng DM Tỉnh Thành Phố BC danh sách tỉnh thành Quản lý Card Visit Giới thiệu về phần mềm BC Card Visit BC Leaflet Quản lý dữ liệu Báo cáo Trợ giúp 3.1.3 Sơ đồ luồng dữ liệu DFD 3.1.3.1 Sơ đồ DFD mức ngữ cảnh Giám đốc Tour-guide Office Bộ phận quản lý thông tin (phòng HC-TH) HTTT quản lý Card Visit - Leaflet Thẻ Thông tin thẻ Yêu cầu báo cáo Báo cáo Yêu cầu thông tin Thông tin Yêu cầu thông tin Thông tin Hình 3.2: Sơ đồ DFD mức ngữ cảnh 3.1.3.2 Sơ đồ DFD mức 0 Hình 3.3: Sơ đồ DFD mức 0 ` 3.1.3.3 Sơ đồ DFD mức 1 – mức quản lý danh mục : Hình 3.4: Sơ đồ DFD mức 1 – mức quản lý danh mục Thông tin về tổ chức/cá nhân Tour-guide Office 1.2 Phân loại thông tin danh mục 1.3 Cập nhật thông tin danh mục 1.4 Cập nhật nhu cầu thông tin danh mục P. HC-TH Thông tin đã thu thập Thông tin sau khi phân loại Dữ liệu danh mục Nhu cầu thông tin danh mục 1.1 Thu thập thông tin về tổ chức/ cá nhân 3.1.3.4 Sơ đồ DFD mức 1 – mức quản lý Card Visit : Thông tin về Card Visit Tour-guide Office 1.2 Phân loại thông tin Card Visit 1.3 Cập nhật thông tin Card Visit 1.4 Cập nhật nhu cầu thông tin Card Visit P. HC-TH Thông tin đã thu thập Thông tin sau khi phân loại Dữ liệu Card Visit Nhu cầu thông tin Card Visit 1.1 Thu thập thông tin về Card Visit Hình 3.5: Sơ đồ DFD mức 1 – mức quản lý Card Visit 3.1.3.5 Sơ đồ DFD mức 1 – mức quản lý Leaflet : Thông tin về Leaflet Tour-guide Office 1.2 Phân loại thông tin Leaflet 1.3 Cập nhật thông tin Leaflet 1.4 Cập nhật nhu cầu thông tin Leaflet P. HC-TH Thông tin đã thu thập Thông tin sau khi phân loại Dữ liệu Leaflet Nhu cầu thông tin Leaflet 1.1 Thu thập thông tin về tổ chức Hình 3.6: Sơ đồ DFD mức 1 – mức quản lý Leaflet 3.1.3.6 Sơ đồ DFD mức 1 – mức lập báo cáo : Hình 3.7: Sơ đồ DFD mức 1 – mức lập báo cáo Dữ liệu danh mục Dữ liệu Card Visit Dữ liệu Leaflet Giám đốc/BP quản lý thông tin 4.1 Truy xuất dữ liệu 4.2 Hiển thị báo cáo Báo cáo theo yêu cầu Yêu cầu báo cáo 3.2 THIẾT KẾ HỆ THỐNG THÔNG TIN 3.2.1 Thiết kế CSDL 3.2.1.1 Các bảng CSDL * Bảng danh mục tỉnh thành phố Hình 3.8: Bảng danh mục tỉnh thành phố * Bảng danh mục Website Hình 3.9: Bảng danh mục Website Bảng dữ liệu Leaflet Hình 3.10: Bảng dữ liệu Leaflet * Bảng dữ liệu Card Visit Hình 3.11: Bảng dữ liệu Card Visit 3.2.1.2 Sơ đồ quan hệ thực thể Hình 3.12: Sơ đồ quan hệ thực thể ( Relasion Ships ) 3.2.2 Thiết kế giải thuật 3.2.2.1 Giải thuật đăng nhập chương trình Hình 3.13: Giải thuật đăng nhập hệ thống Bắt đầu i = 0 Nhập tên người dùng và mật khẩu Kiểm tra tên, mật khẩu S Đ Thông báo sai mật khẩu i = i + 1 i = 3 Đ S Thoát khỏi chương trình Kết thúc Vào form chính 3.2.2.2 Giải thuật thêm mới một bản ghi Hình 3.14: Giải thuật thêm mới một bản ghi Bắt đầu Nhập thông tin cần thiết Hiển thị lỗi S Đ Thêm tiếp? Kết thúc Cập nhật lại Dữ liệu hợp lệ Đ S Đ KT dữ liệu đã tồn tại hay chưa Ghi thông tin vừa cập nhật vào CSDL S Hiển thị lỗi S Đ 3.2.2.3 Giải thuật sửa một bản ghi Bắt đầu Chọn danh mục cần sửa Sửa lại thông tin Dữ liệu hợp lệ Ghi lại thông tin đã sửa Đ S Hiển thị lỗi Có sửa tiếp k? S Kết thúc Đ Sửa lại Đ S Hình 3.15: Giải thuật sửa một bản ghi 3.2.2.4 Giải thuật xóa một bản ghi Bắt đầu Chọn danh mục cần xóa Hiện thông tin cần xóa Đồng ý xóa? Đ Xóa bản ghi Kết thúc S có xóa tiếp k? S Đ Hình 3.16: Giải thuật xóa một bản ghi 3.2.2.5 Giải thuật in báo cáo BĐ Nhập danh mục báo cáo Hiện báo cáo đồng ý in ? Đ In báo cáo S Có in tiếp k? Đ Kết thúc S Hình 3.17: Giải thuật in báo cáo 3.2.3 Thiết kế giao diện 3.2.3.1 Các form chương trình * Form Đăng nhập Hình 3.18: Giao diện đăng nhập chương trình Giao diện đăng nhập khi mở chương trình. Người dùng gõ tên vào phần Username, gõ mật khẩu vào phần Password. Sau đó chọn Login. Nếu muốn thoát khỏi cửa sổ đăng nhập chọn Logout. Khi chọn tên đăng nhập, người sử dụng có thể chọn tên trên hộp danh sách hoặc gõ trực tiếp tên đăng nhập. Chỉ những người dùng được admin phân quyền mới có thể đăng nhập thành công vào chương trình khi gõ đúng mật khẩu đăng nhập hệ thống. Sau khi đăng nhập thành công sẽ có thông báo xuất hiện như sau : Hình 3.19: thông báo sau đăng nhập Chọn OK để tiếp tục chương trình. * Giao diện chính của chương trình : Form main Hình 3.20: Giao diện chính của chương trình Trên đây là giao diện chính của phần mềm. Trên menu là các chức năng chính của phần mềm. * Giao diện chính của chương trình – chức năng hệ thống Hình 3.21: chức năng hệ thống * Giao diện chính của chương trình – chức năng quản lý dữ liệu Hình 3.22: chức năng quản lý dữ liệu * Giao diện chính của chương trình – chức năng quản lý thẻ Hình 3.23: chức năng quản lý thẻ * Giao diện chính của chương trình – chức năng báo cáo Hình 3.24: chức năng báo cáo * Giao diện chính của chương trình – chức năng trợ giúp Hình 3.25: chức năng trợ giúp * Giao diện thêm người sử dụng mới Hình 3.26: Giao diện thêm người sử dụng mới * Giao diện xóa người sử dụng Hình 3.27: Giao diện xóa người sử dụng * Giao diện đổi mật khẩu Hình 3.28: Giao diện thay đổi mật khẩu * Danh mục tỉnh thành phố Hình 3.29: Giao diện danh mục tỉnh thành phố * Danh mục Website Hình 3.30: Giao diện danh mục Website * Giao diện quản lý Card Visit Hình 3.31: giao diện quản lý Card Visit * Giao diện quản lý Leaflet – thông tin về tổ chức Hình 3.32: Giao diện quản lý Leaflet 3.2.3.1 Các mẫu báo cáo * Báo cáo danh mục tỉnh thành phố: Hình 3.33: Báo cáo danh mục tỉnh thành phố * Báo cáo danh mục Website: Hình 3.34: báo cáo danh mục Website * Báo cáo thông tin Card Visit – thông tin cá nhân Hình 3.35: Báo cáo thông tin Card Visit KẾT LUẬN Trong thời điểm hiện nay, Việt Nam đã gia nhập WTO tạo nhiều điều kiện thuận lợi cho ngành du lịch và giao thương quốc tế. Tất cả các công ty du lịch đều có chung một lợi thế và thách thức nhưng chỉ có một số ít công ty có khả năng biến thách thức thành lợi thế cho mình. MonVietNam là một công ty du lịch tuổi đời còn trẻ nhưng khả năng phát triển trong lĩnh vực du lịch và dịch vụ là rất lớn. Không phải công ty du lịch nào cũng làm được điều đó, để khách hàng thực sự cảm thấy công ty tổ chức tour là người thân, có thể gọi điện nhờ tư vấn, thắc mắc, hay là kể chuyện về chuyến đi bất cứ vào lúc nào. Tất cả những cố gắng nỗ lực của giám đốc và nhân viên công ty cho đến nay là sự tin cậy của bạn bè khắp nơi đã từng đến với MonVietNam. Đó là cơ sở vững chắc cho sự thành công của doanh nghiệp trên con đường dài phía trước. Sau thời gian thực tập tại MonVietNam, tôi thực sự mong muốn được đóng góp một góc nhỏ nào đó vào sự thành công của công ty. Đề tài nghiên cứu như tôi đã trình bày trên đây hoàn toàn nằm trong khả năng và giới hạn thực tế cho phép. Phần mềm này sau khi hoàn tất sẽ được đưa vào sử dụng tại công ty. Do thời gian thực tập thực tế tại công ty cũng như trình độ chuyên môn và kinh nghiệm thực tế có hạn nên chắc chắn phần mềm thiết kế cũng như báo cáo chuyên đề này còn nhiều thiếu sót. Rất mong được sự thông cảm và góp ý của thầy giáo và các bạn. Cuối cùng, tôi xin chân thành cảm ơn thầy giáo Đoàn Quốc Tuấn đã tận tình chỉ bảo và định hướng trong cách học và cách làm. Xin chân thành cảm ơn sự giúp đỡ nhiệt tình từ phía công ty: ông Đỗ Anh Tuấn và các anh chị trong công ty đặc biệt là phòng hành chính – tổng hợp đã giúp đỡ tôi hoàn thành báo cáo này. Hà Nội, ngày 25 tháng 4 năm 2008 DANH MỤC TÀI LIỆU THAM KHẢO TIẾNG VIỆT: TS.Trần Công Uẩn, “Giáo trình cơ sở dữ liệu 1,2”, NXB Thống Kê, Hà Nội. TS.Trương Văn Tú – TS.Trần Thị Song Minh, “Giáo trình Hệ Thống Thông Tin Quản Lý”, NXB ĐHKTQD, Hà Nội. Tài liệu phòng Hành Chính – Tổng Hợp, công ty TNHH Du lịch và Dịch vụ Việt Nam Của Tôi, tài liệu nội bộ, Hà Nội. Giấy phép đăng kí kinh doanh, tài liệu phòng Giám Đốc, công ty TNHH Du lịch và Dịch vụ Việt Nam Của Tôi, Hà Nội. TIẾNG PHÁP 1. Trang web www.monvietnam.net PHỤ LỤC Mã form Login ( form đăng nhập ) // mã nút Thoát Private Sub cmd_Thoat_Click() Unload Me End Sub // Mã lệnh nút đăng nhập Private Sub CmdDangNhap_Click() Dim Found As Boolean UserName = cmbUsername.Text If txtPassword.Text = "" Then MsgBox "Hay nhap mat khau!", vbInformation, "Mat khau sai" txtPassword.SetFocus Else AdodcPass.Recordset.MoveFirst Do Until AdodcPass.Recordset.EOF Or Found If AdodcPass.Recordset.Fields("Username") = cmbUsername.Text And AdodcPass.Recordset.Fields("Password") = txtPassword.Text Then Found = True Else AdodcPass.Recordset.MoveNext End If Loop If Found = True Then MsgBox (" Chµo mõng b¹n ®Õn víi phÇn mÒm BasicDataInfo") FrmMain.Show Unload Me Else MsgBox "Mat khau khong hop le", vbExclamation, "Mat khau sai" txtPassword.Text = "" End If End If End Sub // Cập nhật thông tin Private Sub Form_Load() On Error GoTo ErrHand: txtPassword.Text = "" AdodcPass.Refresh AdodcPass.Recordset.Requery AdodcPass.Recordset.MoveFirst Do Until AdodcPass.Recordset.EOF cmbUsername.AddItem AdodcPass.Recordset.Fields("Username") AdodcPass.Recordset.MoveNext Loop cmbUsername.ListIndex = 0 Exit Sub ErrHand: MsgBox Err.Description, vbInformation, "Error" End Sub // Thủ tục chuyển phím Tab thành phím Enter Private Sub cmbUsername_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtPassword.SetFocus End If End Sub Private Sub txtPassword_KeyPress(keyASCII As Integer) If keyASCII = 13 Then CmdDangNhap.SetFocus End If End Sub Mã form AddUser (thêm người sử dụng mới) Private Sub cmdAdd_Click() On Error GoTo ErrorHandler Dim Found As Boolean If txtUsername.Text = "" Or txtPass.Text = "" Or txtConfirmPass.Text = "" Or TxtPassAdmin.Text = "" Then MsgBox "Please fill in all non-optional fields", vbInformation, "Add User | Error" ElseIf txtConfirmPass.Text txtPass.Text Then MsgBox "Passwords dont match", vbInformation, "Add User | Error" txtPass.Text = "" txtConfirmPass.Text = "" txtPass.SetFocus ElseIf Len(txtUsername.Text) > 20 Then MsgBox "Username is too long, please shorten it", vbInformation, "Add User | Error" Call CleanUp Exit Sub ElseIf Len(txtPass.Text) < 6 Then MsgBox "Your password should have at least 6 characters" txtPass.Text = "" txtConfirmPass.Text = "" txtPass.SetFocus Else AdodcAdmin.Refresh AdodcAdmin.Recordset.MoveFirst Do Until AdodcAdmin.Recordset.EOF Or Found If AdodcAdmin.Recordset.Fields("Group") = "Admin" And AdodcAdmin.Recordset.Fields("Password") = TxtPassAdmin.Text Then Found = True Else AdodcAdmin.Recordset.MoveNext End If Loop If Found = True Then FrmLogin.AdodcPass.Recordset.AddNew FrmLogin.AdodcPass.Recordset.Fields("Username") = txtUsername.Text FrmLogin.AdodcPass.Recordset.Fields("Password") = txtPass.Text FrmLogin.AdodcPass.Recordset.Fields("Group") = "User" FrmLogin.AdodcPass.Recordset.Update FrmLogin.AdodcPass.Refresh MsgBox "User added", vbInformation, " Add User | Status" CleanUp Else MsgBox "Invalid password admin", vbExclamation, "Invalid Password" TxtPassAdmin.Text = "" End If End If ErrorHandlerExit: Exit Sub ErrorHandler: MsgBox ("This username is already existed!") txtUsername.Text = "" Resume ErrorHandlerExit End Sub Private Sub CleanUp() TxtPassAdmin.Text = "" txtUsername.Text = "" txtPass.Text = "" txtConfirmPass.Text = "" TxtPassAdmin.SetFocus End Sub Private Sub Cmdthoat_Click() Unload Me FrmMain.Show End Sub Private Sub txtconfirmpass_Change() If txtConfirmPass.Text = txtPass.Text Then LblStatus.Caption = "MËt khÈu hîp nhau!" Else LblStatus.Caption = "MËt khÈu kh«ng hîp nhau!" End If End Sub Private Sub txtPassAdmin_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtUsername.SetFocus End If End Sub Private Sub TxtUsername_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtPass.SetFocus End If End Sub Private Sub TxtPass_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtConfirmPass.SetFocus End If End Sub Private Sub txtConfirmPass_KeyPress(keyASCII As Integer) If keyASCII = 13 Then cmdAdd.SetFocus End If End Sub Private Sub cmdAdd_KeyPress(keyASCII As Integer) If keyASCII = 13 Then cmdThoat.SetFocus End If End Sub Mã form PassConfig (Đổi mật khẩu) Private Sub cmd_Thoat_Click() Unload Me FrmMain.Show End Sub Private Sub cmdOK_Click() Dim Found As Boolean Dim Change As Boolean Dim Box As VbMsgBoxResult FrmLogin.AdodcPass.Refresh If cmbUsername.Text = "" Or txtCurrPassword.Text = "" Or txtConfirmPass.Text = "" Or txtNewPass.Text = "" Then MsgBox "Please fill in all non-optional fields", vbInformation, "Password configuration | Error" ElseIf txtConfirmPass.Text txtNewPass.Text Then MsgBox "Passwords dont match", vbInformation, "Password configuration | Error" txtNewPass.Text = "" txtConfirmPass.Text = "" txtNewPass.SetFocus ElseIf Len(txtNewPass.Text) < 6 Then MsgBox "Your password should have at least 6 characters" txtNewPass.Text = "" txtConfirmPass.Text = "" txtNewPass.SetFocus Else Box = MsgBox("Are you sure?", vbQuestion + vbYesNo, "Change user password") If Box = vbYes Then FrmLogin.AdodcPass.Refresh FrmLogin.AdodcPass.Recordset.MoveFirst Do Until FrmLogin.AdodcPass.Recordset.EOF Or Found If FrmLogin.AdodcPass.Recordset.Fields("Username") = cmbUsername.Text And FrmLogin.AdodcPass.Recordset.Fields("Password") = txtCurrPassword.Text Then Found = True Else FrmLogin.AdodcPass.Recordset.MoveNext End If Loop If Found = True Then FrmLogin.AdodcPass.Refresh FrmLogin.AdodcPass.Recordset.MoveFirst Do Until FrmLogin.AdodcPass.Recordset.EOF Or Change If FrmLogin.AdodcPass.Recordset.Fields("Password") = txtCurrPassword.Text Then FrmLogin.AdodcPass.Recordset.Fields("Password") = txtNewPass.Text Change = True Else FrmLogin.AdodcPass.Recordset.MoveNext End If Loop Else MsgBox "Incorrect Old Password ", vbExclamation, "Incorrect Old Password" txtCurrPassword.Text = "" txtCurrPassword.SetFocus End If If Change = True Then MsgBox "Password changed." & vbCrLf & vbCrLf & "Password will take effect next time the application is started.", vbInformation, "Password Status" FrmLogin.AdodcPass.Recordset.Update Call CleanUp End If FrmLogin.AdodcPass.Refresh End If End If End Sub Private Sub CleanUp() txtCurrPassword.Text = "" txtNewPass.Text = "" txtConfirmPass.Text = "" End Sub Private Sub Form_Load() cmbUsername.Clear FrmLogin.AdodcPass.Recordset.MoveFirst Do Until FrmLogin.AdodcPass.Recordset.EOF cmbUsername.AddItem FrmLogin.AdodcPass.Recordset.Fields("Username") FrmLogin.AdodcPass.Recordset.MoveNext Loop cmbUsername.ListIndex = 0 End Sub Private Sub txtconfirmpass_Change() If txtConfirmPass.Text = txtNewPass.Text Then lblStatus.Caption = "MËt khÈu hîp nhau!" Else lblStatus.Caption = "MËt khÈu kh«ng hîp nhau!" End If End Sub Private Sub cmbUsername_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtCurrPassword.SetFocus End If End Sub Private Sub txtCurrPassword_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtNewPass.SetFocus End If End Sub Private Sub txtNewPass_KeyPress(keyASCII As Integer) If keyASCII = 13 Then txtConfirmPass.SetFocus End If End Sub Private Sub txtConfirmPass_KeyPress(keyASCII As Integer) If keyASCII = 13 Then cmdOK.SetFocus End If End Sub Private Sub txtcmdOK_KeyPress(keyASCII As Integer) If keyASCII = 13 Then cmd_Thoat.SetFocus End If End Sub Mã form Main Private Sub adduser_Click() FrmAddUser.Show End Sub Private Sub deluser_Click() FrmDelUser.Show End Sub Private Sub hotkey_Click() FrmLogin.Show End Sub Private Sub mnuBC3_Click() BCDMTinhThanh.Show End Sub Private Sub mnuBC4_Click() BCDMWebsite.Show End Sub Private Sub mnuBCCard_Click() BCCard.Show End Sub Private Sub mnuC_Click() FrmCardVisit.Show End Sub Private Sub mnudmk_Click() FrmPassConfig.Show End Sub Private Sub mnuL_Click() FrmLeaflet.Show End Sub Private Sub mnuThoat_Click() Unload Me End Sub Private Sub mnuTP_Click() FrmDMTinhThanh.Show End Sub Private Sub mnuweb_Click() FrmDMWeb.Show End Sub Private Sub Timer1_Timer() Dim x As String Dim Y As String x = Left(Label1.Caption, 1) Y = Right(Label1.Caption, Len(Label1.Caption) - 1) Label1.Caption = Y + x End Sub Mã form danh mục tỉnh thành Private Sub Cmdthoat_Click(Index As Integer) Unload Me FrmMain.Show End Sub Private Sub CmdLuu_Click(Index As Integer) AdoDMTinhThanh.Recordset.Save GrdDMTinhThanh.AllowUpdate = False End Sub Private Sub CmdSua_Click(Index As Integer) Dim TraLoi As Integer TraLoi = MsgBox("B¹n Muèn Söa Gi¸ TrÞ Míi?") If TraLoi = vbNo Then AdoDMTinhThanh.Refresh Exit Sub Else GrdDMTinhThanh.AllowUpdate = True AdoDMTinhThanh.Recordset.Update End If End Sub Private Sub CmdThem_Click(Index As Integer) AdoDMTinhThanh.Recordset.AddNew GrdDMTinhThanh.AllowUpdate = True GrdDMTinhThanh.SetFocus Exit_Them_click: Exit Sub Err_Them_click: MsgBox Err.Description Resume Exit_Them_click End Sub Private Sub CmdXoa_Click(Index As Integer) Dim TraLoi As Integer TraLoi = MsgBox("B¹n Muèn Xo¸ B¶n Ghi Nµy ?", vbYesNo, "MonVietNam") If TraLoi = vbNo Then GrdDMTinhThanh.AllowDelete = False Else GrdDMTinhThanh.AllowDelete = True AdoDMTinhThanh.Recordset.Delete End If End Sub Private Sub cpiccuoi_Click() AdoDMTinhThanh.Recordset.MoveLast End Sub Private Sub Cpicdau_Click() AdoDMTinhThanh.Recordset.MoveFirst End Sub Private Sub Cpicsau_Click() If AdoDMTinhThanh.Recordset.EOF = False Then AdoDMTinhThanh.Recordset.MoveNext Else MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly AdoDMTinhThanh.Recordset.MoveLast End If End Sub Private Sub cpictruoc_Click() If AdoDMTinhThanh.Recordset.BOF = False Then AdoDMTinhThanh.Recordset.MovePrevious Else MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly AdoDMTinhThanh.Recordset.MoveFirst End If End Sub Mã form Quản lý Card Visit Private Sub Cmdthoat_Click(Index As Integer) Unload Me FrmMain.Show End Sub Private Sub CmdLuu_Click(Index As Integer) AdodcCard.Recordset.Save DataGrid1.AllowUpdate = False End Sub Private Sub CmdSua_Click(Index As Integer) Dim TraLoi As Integer TraLoi = MsgBox("B¹n Muèn Söa Gi¸ TrÞ Míi?") If TraLoi = vbNo Then AdodcCard.Refresh Exit Sub Else DataGrid1.AllowUpdate = True AdodcCard.Recordset.Update End If End Sub Private Sub CmdThem_Click(Index As Integer) AdodcCard.Recordset.AddNew DataGrid1.AllowUpdate = True DataGrid1.SetFocus Exit_Them_click: Exit Sub Err_Them_click: MsgBox Err.Description Resume Exit_Them_click End Sub Private Sub CmdXoa_Click(Index As Integer) Dim TraLoi As Integer TraLoi = MsgBox("B¹n Muèn Xo¸ B¶n Ghi Nµy ?", vbYesNo, "MonVietNam") If TraLoi = vbNo Then DataGrid1.AllowDelete = False Else DataGrid1.AllowDelete = True AdodcCard.Recordset.Delete End If End Sub Private Sub cpiccuoi_Click() AdodcCard.Recordset.MoveLast End Sub Private Sub Cpicdau_Click() AdodcCard.Recordset.MoveFirst End Sub Private Sub Cpicsau_Click() If AdodcCard.Recordset.EOF = False Then AdodcCard.Recordset.MoveNext Else MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly AdodcCard.Recordset.MoveLast End If End Sub Private Sub cpictruoc_Click() If AdodcCard.Recordset.BOF = False Then AdodcCard.Recordset.MovePrevious Else MsgBox "Kh«ng Cßn B¶n Ghi Nµo N÷a ", vbInformation + vbOKOnly AdodcCard.Recordset.MoveFirst End If End Sub

Các file đính kèm theo tài liệu này:

  • doc33125.doc