173
HC VIN CÔNG NGHBƯU CHÍNH VIN THÔNG - - - - - - - - - - - - - - BÀI GING TIN HC QUN LÝ Biên son : Ths. DƯƠNG TRN ĐỨC Ks. PHM HÙNG THLưu hành ni bHÀ NI - 2006

TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

  • Upload
    lehuong

  • View
    232

  • Download
    1

Embed Size (px)

Citation preview

Page 1: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - - - - - - - - - - - - - -

BÀI GIẢNG

TIN HỌC QUẢN LÝ

Biên soạn : Ths. DƯƠNG TRẦN ĐỨC Ks. PHẠM HÙNG THẾ

Lưu hành nội bộ

HÀ NỘI - 2006

Page 2: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

LỜI NÓI ĐẦU

Ngày nay, tin học đang được ứng dụng vào hầu hết các lĩnh vực của cuộc sống, trong

đó công tác quản lý là một trong những lĩnh vực được thừa hưởng thành quả của sự phát triển CNTT nhiều nhất. Hầu hết các công việc trước đây được thực hiện bằng tay, thực hiện trên giấy, được tính toán thủ công, thì nay đã có thể được thực hiện dễ dàng, tiện lợi và chính xác hơn nhờ các ứng dụng tin học. Đối với các hệ thống quản lý phức tạp thì cần phải có các chương trình ứng dụng riêng biệt, được xây dựng dành riêng cho các hệ thống này, ví dụ như các chương trình kế toán, hệ thống quản lý đào tạo của 1 trường đại học, quản lý ngân hàng, kho bạc v.v. Đối với các hệ thống không quá phức tạp (ví dụ bảng lương, chấm công .v.v), người ta thường sử dụng các chương trình ứng dụng được xây dựng sẵn để quản lý, như Word, Excel, Foxpro, Access, v.v.

Cuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của hai ứng dụng tin học được dùng phổ biến và hiệu quả nhất hiện nay cho công tác quản lý, đó là ứng dụng bảng tính Microsoft Excel và hệ quản trị cơ sở dữ liệu Microsoft Access. Đây là hai ứng dụng cốt lõi và được ưu chuộng của bộ chương trình ứng dụng tin học văn phòng (Office) do Microsoft phát triển. Trải quan nhiều phiên bản (hiện nay là phiên bản chạy trên Windows XP), Excel và Access đã có rất nhiều cải tiến, được tăng cường thêm các chức năng, và ngày càng tiện lợi, hiệu quả, được cài đặt trên hầu hết các máy sử dụng hệ điều hành Windows.

Phần 1 trình bày về Excel nâng cao, bao gồm việc sử dụng các chức năng nâng cao, các hàm nâng cao, các công cụ phân tích dữ liệu v.v. Excel tương đối dễ sử dụng, các ứng dụng của Excel cũng rất rộng rãi, từ đơn giản đến phức tạp, tuy nhiên không đáp ứng được đối với các bài toán cần phải quản lý nhiều dữ liệu và cần các tính toán linh hoạt.

Trong khi lớp các ứng dụng của Excel rộng và không quản lý nhiều dữ liệu thì Access có tầm ứng dụng hẹp hơn, nhưng có thể đáp ứng cho các ứng dụng phức tạp hơn, quản lý dữ liệu nhiều hơn và tính toán linh hoạt hơn. Thực chất, Access là một hệ quản trị CSDL quy mô vừa, vì vậy việc sử dụng Access thiên về lập trình và yêu cầu người sử dụng phải có một số kỹ năng cơ bản cũng như các khái niệm về lập trình và CSDL. Phần 2 nhắc lại các khái niệm cơ bản của Access và trình bày về phương pháp xây dựng một số ứng điển hình trên Access. Cuối mỗi phần là các bài tập và gợi ý hoặc hướng dẫn giải.

Mặc dù đã rất cố gắng trong quá trình biên soạn, song không tránh khỏi các thiểu sót, nhóm tác giả rất mong nhận được ý kiến đóng góp của bạn đọc để tài liệu được hoàn thiện hơn. Cuối cùng xin gửi lời cảm ơn tới các đồng nghiệp đã giúp đỡ nhóm biên soạn hoàn thành cuốn tài liệu này.

Nhóm tác giả

Page 3: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

PHẦN 1

SỬ DỤNG EXCEL TRONG QUẢN LÝ

GIỚI THIỆU

Như đã biết, Excel là ứng dụng bảng tính rất thông dụng chạy trên môi trường Windows. Rất nhiều người đang sử dụng Excel, nhưng hầu hết chỉ sử dụng các tính năng cơ bản như tạo các bảng tính đơn giản có trình bày theo hàng, cột, với các phép tính cơ sở như cộng tổng, tính trừ, nhân, chia, trung bình v.v. Tuy nhiên, Excel là một ứng dụng rất đa năng, không những dễ dàng cho phép người dùng thể hiện các bài toán đơn giản 1 cách nhanh chóng mà còn cho phép người dùng sử dụng các chức năng tính toán và phân tích rất mạnh nhằm quản lý các hệ thống tính toán tương đối phức tạp.

Phần này giới thiệu cho bạn đọc những chức năng nâng cao của Excel như tạo tệp mẫu, macro, bảo mật v.v., các hàm nâng cao dùng trong các bài toán phức tạp như hàm if, hàm countif, lookup v.v., các hàm lồng nhau, và cách sử dụng các công cụ phân tích dữ liệu trong Excel như Goal seek, Solver v.v. Việc sử dụng các hàm nâng cao cho phép thực hiện các phép tính phức tạp, tạo các lệnh điều kiện, rẽ nhánh, tham chiếu dữ liệu v.v., tạo ra các kết quả dưới các định dạng mong muốn. Đặc biệt, việc cho phép sử dụng các hàm lồng nhau (kết quả của hàm này là tham số cho hàm kia) tạo cho Excel một khả năng lập trình khá mạnh và tiện lợi. Tuy nhiên, dù được hỗ trợ khả năng lập trình và các hàm khá mạnh, Excel vẫn chỉ là 1 chương trình ứng dụng, do vậy khả năng quản lý dữ liệu rất hạn chế, không quản lý được các hệ thống có lượng dữ liệu lớn và cần đến khả năng lập trình mạnh. Phần 2 sẽ giới thiệu với bạn đọc 1 công cụ quản trị dữ liệu mạnh hơn nhiều, chuyên sử dụng cho các ứng dụng quản lý dữ liệu, đó là Microsoft Access.

Mục tiêu

Kết thúc phần này, sinh viên cần:

- Nắm được cách sử dụng các chức năng nâng cao của Excel như tạo tệp mẫu, tạo và sử dụng macro, tạo chú thích, bảo mật v.v. Áp dụng các chức năng này trong các công việc thích hợp.

- Hiểu và sử dụng được các hàm nâng cao trong Excel, sử dụng được các hàm thao tác trên các kiểu dữ liệu đặc biệt, có nhiều tham số, các kiểu tham số đặc biệt, các hàm lồng nhau v.v. để giải quyết các bài toán quản lý phức tạp.

- Có thể sử dụng các công cụ phân tích dữ liệu như Data tables, Solver, Pivot tables v.v. để phục vụ cho các công việc như lựa chọn phương án, rút trích dữ liệu có ích từ các dữ liệu ban đầu v.v.

Cách trình bày

Phần này được trình bày theo dạng phân tích cú pháp, cách sử dụng các chức năng, các hàm, các công cụ, kèm theo là các ví dụ đặc trưng được diễn giải cụ thể. Cách trình bày này giúp cho

5

Page 4: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

bạn đọc có thể nhanh chóng nắm bắt được các kiến thức trong phần này và có thể áp dụng cho các bài tập tương tự.

Cuối phần có các bài tập tổng hợp cùng hướng dẫn giải, nhằm hệ thống lại các kiến thức trong phần, và tạo các ví dụ minh họa cho phần trình bày ở trên. Các bài tập được chọn lọc sát với nội dung kiến thức của phần, đồng thời cũng giúp sinh viên mở rộng thêm kiến thức.

Phần cuối là tóm tắt nội dung và các bài tập ôn tập dưới dạng câu hỏi trắc nghiệm hoặc bài tập tự giải.

Phương pháp học

Để học phần này một cách hiệu quả, sinh viên nên học theo cách sau:

- Đọc kỹ và hiểu cách giải thích của phần lý thuyết hoặc hướng dẫn. Tìm hiểu ý nghĩa của phần giải thích lý thuyết này. Cố gắng nắm được các ví dụ minh họa.

- Suy nghĩ, tìm cách mở rộng các ví dụ minh họa. Nghĩ ra các ví dụ tương tự để thực hiện.

- Đối với các bài tập tổng hợp, đọc kỹ yêu cầu bài toán, hiểu được yêu cầu, cố gắng tự tìm ra cách giải tốt nhất. Đọc hướng dẫn giải, so sánh với cách làm của mình (nếu tự nghĩ ra).

- Đọc phần tóm tắt để tổng hợp kiến thức. Làm các bài tập ôn tập, đọc lại, nghiên cứu lại những phần kiến thức chưa nắm vững.

Yêu cầu kiến thức trước khi học phần này

Để hiểu được các kiến thức trong phần này, bạn đọc cần có các kiến thức cơ sở về tin học, nắm được cách sử dụng Excel và các hàm cơ bản trong Excel. Ngoài ra, cần có các kiến thức cơ sở về lập trình và quản lý dữ liệu, có kỹ năng phân tích bài toán.

6

Page 5: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

CHƯƠNG 1: SỬ DỤNG CÁC CHỨC NĂNG NÂNG CAO

1.1 TẠO VÀ SỬ DỤNG CÁC TỆP MẪU (TEMPLATE)

Trong công việc hàng ngày, nhiều khi người dùng có nhu cầu sử dụng một định dạng file Excel theo một “mẫu” nào đó có định dạng và các cách trình bày dữ liệu biết trước, ví dụ như các hóa đơn gửi khách hàng, các báo cáo tài chính v.v. Nếu mỗi lần người dùng tạo một bảng tính mới, họ lại phải làm lại mọi thao tác định dạng và trình bày lại dữ liệu thì sẽ mất rất nhiều thời gian và chưa chắc định dạng đó đã giống như định dạng mà họ mong muốn hoặc định dạng của file đã làm lần trước. Chính vì vậy, để tiết kiệm thời gian và công sức cho người sử dụng, Microsoft đã cung cấp cho người dùng Excel một công cụ gọi là “tệp mẫu”.

Tệp mẫu trong Excel là một file có phần mở rộng là “.xlt”. Đây là một file chứa các thông tin về định dạng, các cách trình bày, bố trí dữ liệu trong một bảng tính theo một khuôn dạng mà người sử dụng mong muốn. Các thông tin trên thường bao gồm, kiểu chữ, cỡ chữ, màu chữ, các header, footer, các công thức v.v. và các tham số định dạng khác.

1.1.1 Tạo 1 tệp mẫu

Để tạo một tệp mẫu, thực hiện các bước như sau:

- Tạo một file Excel mới. Thực hiện các thao tác định dạng và trình bày dữ liệu mà ta mong muốn tệp mẫu sẽ lưu giữ.

- Sau khi đã thực hiện xong toàn bộ các thao tác định dạng, ghi lại tệp mẫu này bằng cách chọn Menu File > Save As.

- Trong hộp thoại Save As, đặt tên cho tệp mẫu vào ô “File Name”. Trong ô “Save as type”, click chuột vào hộp chọn và chọn kiểu file muốn ghi là “Template”.

Ví dụ: Tạo một tệp mẫu đơn giản với các định dạng mong muốn như sau:

- Kiểu chữ: Font chữ là Arial, cỡ chữ là 13.

- Kiểu số: Có 2 chữ số phần thập phân, ngăn cách hàng nghìn là dấu phẩy “,”. Số âm sẽ có dạng dấu trừ “– “ đứng trước số.

Các bước tạo tệp mẫu trên như sau:

- Khởi động Excel. Khi đó Excel sẽ tự động tạo ra cho ta một bảng tính mới ngầm định là Book1.

- Từ menu của chương trình, chọn Format > Style.

- Khi đó Excel sẽ mở ra một cửa sổ, cho phép định nghĩa lại định dạng cho từng kiểu dữ liệu mà Excel hỗ trợ:

7

Page 6: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Click chuột vào nút lệnh Modify để sửa đổi định dạng cho kiểu dữ liệu mong muốn:

- Ở ví dụ này, chúng ta mong muốn thiết lập định dạng cho Font chữ và kiểu số. Vì vậy ở hộp chọn “Category”, lựa chọn lần lượt các mục là General và Number để thiết lập các định dạng mong muốn cho từng mục này. Sau khi đã thực hiện xong mọi thao tác, bấm nút lệnh OK để ghi lại các thiết lập và thoát khỏi hộp thoại này.

- Ở cửa sổ style, bấm OK để kết thúc việc thiết lập định dạng cho tệp mẫu.

Như vậy, đến đây chúng ta đã tạo được các định dạng mong muốn. Việc cuối cùng và rất quan trọng là phải “nhờ” Excel ghi lại các định dạng đó thành 1 tệp mẫu để lần sau có thể sử dụng lại chúng. Để làm được việc này, từ menu File, chọn Save As. Khi đó, Excel sẽ mở một cửa sổ “Save as” để chúng ta đặt tên và ghi lại tệp mẫu vừa tạo.

- Trong mục “File name”, đặt tên tùy ý cho tệp mẫu. Trong mục “Save as type”, click chuột vào hộp chọn để chọn kiểu file muốn ghi lại là Template. Sau đó, click chuột vào nút lệnh “Save” để ghi lại tệp mẫu.

8

Page 7: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Lưu ý: Một cách ngầm định, Excel sẽ ghi tệp mẫu vào thư mục “Templates” trong thư mục mà Excel được khởi động. Ta có thể tùy ý lựa chọn thư mục mong muốn lưu bằng cách click chuột vào mục “Save in” ở phía trên cùng của cửa sổ “Save as”. Sau đó có thể chọn thư mục mong muốn thay vì thư mục ngầm định của Excel.

Như vậy ta đã có một tệp mẫu chứa tất cả các định dạng và cách trình bày, bố trí dữ liệu v.v., và có thể sử dụng tệp này cho lần sau.

1.1.2 Sử dụng tệp mẫu

Bây giờ chúng ta sẽ tìm hiểu cách tạo một file Excel mới áp dụng mẫu đã định nghĩa trước. Để làm được điều này, sau khi đã khởi động Excel, từ menu chính của chương trình, chọn File > New hoặc bấm vào biểu tượng “New” phía dưới menu “File”. Khi đó, Excel sẽ mở một cửa sổ có tên “New workbook” như sau:

Cửa sổ “New workbook” có hai vùng cho ta lựa chọn. Vùng thứ nhất là “New”. Vùng này cho phép ta có thể tạo một trang tính mới hoàn toàn với lựa chọn “Blank workbook” hoặc có thể lựa chọn “From existing workbook” để tạo bảng tính mới từ một file Excel đã có trước.

9

Page 8: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Vùng lựa chọn thứ 2 chính là vùng mà chúng ta đang muốn sử dụng, đó là “Templates”. Như đã nói ở trên, chúng ta đã có sẵn một mẫu được định nghĩa và được lưu trữ đâu đó trong máy tính của mình và chúng ta muốn áp dụng những gì đã làm trong tệp mẫu vào tệp mới mà chúng ta đang muốn tạo ra. Do đó, chọn lựa chọn “On my computer” để Excel giúp ta tìm đến tệp mẫu đã có sẵn. Nếu ta sử dụng lựa chọn này, Excel sẽ mở cửa sổ “Templates” để ta tìm đến tệp mẫu đã tạo:

Như đã trình bày ở trên, khi lưu trữ tệp mẫu thì Excel ngầm định sẽ lưu trữ nó trong thư

mục “Templates” mà bộ MS Office được cài đặt. Do đó, khi cửa sổ “Templates” hiện ra, ta có thể dễ dàng chọn được mẫu muốn áp dụng cho bảng tính mới của mình.

Sau khi chọn xong tệp mẫu bằng cách click chuột lên tên tệp của mình (giả sử chúng ta có tệp mẫu tên “My Template”), bấm OK để Excel mở ra một trang làm việc mới. Khi đó trang làm việc này sẽ được áp dụng các định nghĩa về dữ liệu, cách trình bày dữ liệu cũng như khuôn dạng dữ liệu đã được thực hiện trên tệp mẫu “My Template”. Khi hoàn thành việc xây dựng tệp mới và ghi lại tệp này lên ổ đĩa của máy tính, Excel sẽ tự động bật chế độ “Save as” cho phép ghi ra một file mới để mọi thay đổi không ảnh hưởng tới tệp mẫu ban đầu.

Lựa chọn tên mong muốn cho tệp vừa được tạo ra và chọn Save để ghi lại.

1.2 MACRO

1.2.1 Khái niệm macro

Một Macro trong Excel là một tập hợp các lệnh cho phép người dùng yêu cầu Excel thực hiện một số lệnh hay một số hành động theo nhu cầu. Macro thực sự là một công cụ hữu ích cho

10

Page 9: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

người dùng mỗi khi phải thực hiện lặp đi lặp lại một vài thao tác phức tạp nhờ khả năng ghi lại các thao tác và lần sau, mỗi khi cần làm lại những thao tác đó chỉ cần gọi đến Macro. Xây dựng Macro có nhiều mức, từ đơn giản đến phức tạp. Các Macro phức tạp cho phép thực hiện các tác vụ khó, yêu cầu người dùng phải có kiến thức lập trình nhất định (Visual Basic Macro). Các Macro đơn giản có thể được thiết lập khá dễ dàng nhờ công cụ được Excel cung cấp, và không cần đến kiến thức về lập trình. Với các Macro loại này, có một cách đơn giản nhất để tạo một Macro mới là yêu cầu Excel ghi lại những hành động mà người dùng thực hiện và lưu trữ nó dưới dạng một Macro. Những hành động mà người dùng cần ghi lại có thể là 1 hoặc nhiều lệnh hoặc là sự kết hợp của các lệnh mà Excel có thể thực thi được.

Ngoài tính năng có thể tái sử dụng, Macro còn tỏ ra rất mềm dẻo trong sử dụng vì chúng ta hoàn toàn có thể sửa đổi mỗi khi cần sử dụng một vài thao tác mới mà lần sử dụng trước chưa có.

1.2.2 Tạo macro

Có nhiều cách để tạo một Macro trong MS Excel, tuy nhiên mục tiêu của môn học chỉ giới thiệu cách tạo và sử dụng Macro một cách căn bản. Do vậy, phần này chỉ giới thiệu một cách đơn giản nhất để người dùng ở mọi trình độ đều có thể làm việc được với Macro.

Như đã nói ở trên, cách đơn giản nhất để tạo một Macro trong MS Excel đó là yêu cầu Excel ghi lại các thao tác mà người dùng có nhu cầu sử dụng nhiều lần dưới dạng một Macro. Các bước để thực hiện công việc này như sau:

- Chọn menu Tools > Macro > Record New Macro để hiển thị hộp thoại tạo Macro như sau:

- Trên vùng “Macro name”, đặt tên cho Macro mong muốn tạo ra.

- Trong vùng “Description”, Excel cung cấp một mô tả ngầm định cho mọi Macro. Nếu muốn thay đổi, ta có thể thay đổi mô tả cho Macro của mình.

- Để bắt đầu ghi, click chuột vào nút lệnh OK và bắt đầu thực hiện các lệnh mong muốn (Ví dụ thực hiện thay đổi định dạng dữ liệu, ghi file, mở file mới v.v.). Excel sẽ tự động ghi lại các lệnh đó cho đến khi kết thúc ghi bằng cách chọn menu Tools > Macro > Stop Recording hoặc click chuột vào “Stop Recording” trên thanh công cụ “Stop Recording”

11

Page 10: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

1.2.3 Sử dụng macro

Như vậy, một Macro đã được tạo ra và lưu giữ toàn bộ những thao tác vừa thực hiện. Mỗi khi cần lặp lại những thao tác này, thay vì phải thực hiện lại toàn bộ các thao tác đó, ta chỉ việc gọi Macro trên. Để gọi Macro, đầu tiên chọn menu Tools > Macro > Macros để mở hộp chọn các Macro được lưu trữ bởi Excel.

Lựa chọn Macro mong muốn sử dụng và click chuột vào nút lệnh “Run” để thực thi Macro.

Ngoài cách thực thi Macro từ menu, Excel còn hỗ trợ một phương pháp gọi Macro “nhanh” bằng cách gán cho mỗi Macro một “phím nóng” (shortcut key) hay tạo một nút lệnh để mỗi khi cần thực thi Macro, người dùng chỉ việc bấm vào nút lệnh đó.

1.2.3.1 Thực thi Macro với phím nóng

Các bước để gán 1 phím nóng cho một Macro được thực hiện như sau:

- Chọn menu Tools > Macro > Macros.

- Trên hộp thoại Macro, lựa chọn Macro mong muốn gán phím nóng và click chuột vào nút lệnh “Options”. Khi đó cửa sổ tùy chọn của Macro sẽ xuất hiện.

- Lựa chọn phím muốn sử dụng để gọi nhanh Macro của mình. Giả sử ta chọn phím “m”. Khi đó trong bảng tính Excel đang sử dụng, mỗi khi ta cần gọi Macro thì thay vì chọn từ Menu, ta chỉ cần bấm tổ hợp phím “Ctrl + m”.

- Click OK để xác nhận sự thay đổi và đóng cửa sổ tùy chọn của Macro. 12

Page 11: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

1.2.3.2 Thực thi Macro với nút lệnh

Để thực thi một Macro bằng cách bấm một nút lệnh, trước hết chúng ta cần phải tạo ra một nút lệnh và gắn cho nó với Macro. Các bước để thực hiện công việc này như sau:

- Từ menu chính của Excel, chọn menu View > Toolbars > Forms để hiển thị thanh công cụ Forms.

- Click chuột vào biểu tượng của nút lệnh “Button” sau đó click tiếp chuột vào nơi muốn đặt nút lệnh trên trang Excel.

- Khi nhả chuột ra, hộp thoại “Assign Macro” sẽ xuất hiện cho phép gắn nút lệnh vừa tạo với một Macro được tạo ra từ trước.

- Click chuột để chọn Macro muốn gọi (ví dụ Macro1) khi nút lệnh được bấm rồi chọn

“OK” để kết thúc.

Lưu ý: Ta cũng có thể tạo mới 1 Macro và gắn cho nút lệnh thay vì chọn một Macro có sẵn bằng cách chọn nút “Record” để Excel ghi tạo một Macro mới. Việc thực hiện tạo mới một Macro đã trình bày ở trên.

Như vậy, mỗi khi cần gọi Macro, ta chỉ việc click chuột vào nút lệnh vừa tạo ra và Macro sẽ được gọi thực thi.

Để giúp người dùng tạo ra một nút lệnh thân thiện, Excel cho phép người dùng thay đổi tên của nút lệnh. Điều này đặc biệt hữu ích vì mỗi khi nhìn vào tên của nút lệnh chúng ta có thể biết nội dung mà nó sẽ thực hiện. Các bước tiến hành thay đổi tên của nút lệnh như sau:

- Click chuột phải lên nút lệnh muốn đổi tên, chọn “Text Edit” từ menu đẩy xuống. 13

Page 12: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Thay đổi tên nút lệnh thành tên mong muốn.

- Click chuột ra khỏi phạm vi của nút lệnh để thoát khỏi chế độ thay đổi tên cho nút lệnh.

Ngoài ra, Excel còn cho phép chúng ta thiết lập định dạng cho nút lệnh. Để thiết lập định dạng cho nút lệnh, tiến hành các bước sau:

- Click chuột phải lên nút lệnh muốn thiết lập định dạng, chọn menu “Format Control” từ menu đẩy xuống để mở hộp thoại “Format Control”:

- Lựa chọn tab tương ứng với mong muốn thiết lập định dạng và thiết lập các giá trị mong muốn rồi bấm OK để ghi lại các thay đổi (ví dụ có thể thiết lập phông chữ, kích thước, màu, v.v. cho nút lệnh).

1.3 CÁC CHỨC NĂNG BẢO MẬT VÀ KIỂM SOÁT

1.3.1 Sử dụng chú thích cho dữ liệu trong Excel

Chức năng tạo chú thích (comments) của Excel cho phép người dùng đưa vào các chú thích cho dữ liệu trong bảng tính. Các chú thích được sử dụng khi người dùng muốn đưa vào những giải thích thêm cho 1 ô dữ liệu mà không muốn đưa trực tiếp vào bảng tính dưới dạng dữ liệu. Việc sử dụng chú thích cũng làm cho bảng dữ liệu “gọn ghẽ” hơn, vì thông thường các chú thích này sẽ được ẩn đi và chỉ khi người dùng chọn thì các chú thích mới hiện ra.

Các chú thích này rất hữu ích trong trường hợp bảng tính có nhiều người sử dụng. Khi đó, người tạo dữ liệu có thể thêm các chú thích để giải thích thêm cho những người đọc khác. Chú thích cũng rất cần thiết khi người dùng muốn tự mình lưu lại các giải thích cho các dữ liệu của mình tránh trường hợp bị quên khi làm việc với quá nhiều dữ liệu.

1.3.1.1 Tạo các chú thích

Để tạo chú thích cho 1 ô dữ liệu, thực hiện các bước sau:

- Chọn ô cần thêm chú thích sau đó click chuột phải để hiện ra menu đẩy xuống. Chọn Insert Comment từ menu đẩy xuống (hoặc chọn menu Insert > Comments).

14

Page 13: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Cửa sổ thêm chú thích hiện ra, cho phép người dùng đưa vào chú thích bằng cách gõ trực tiếp từ bàn phím.

- Sau khi gõ xong chú thích, click chuột vào chỗ bất kỳ bên ngoài vùng chú thích, cửa sổ chú thích sẽ ẩn đi, chỉ hiện ra 1 dấu hiệu là 1 tam giác màu đỏ ở góc trên phải của ô, cho biết ô dữ liệu đó có chú thích.

1.3.1.2 Xem chú thích

Để xem chú thích, di chuột vào vùng tam giác màu đỏ ở góc trên phải của ô. Dừng chuột ở đó vài giây, chú thích sẽ hiện ra.

1.3.1.3 Xóa hoặc sửa chú thích

Để xóa hoặc sửa chú thích của 1 ô dữ liệu, chọn ô dữ liệu đó và click chuột phải để hiện ra menu đẩy xuống và chọn Edit Comments hoặc Delete Comments.

1.3.2 Thẩm định dữ liệu nhập

Chức năng thẩm định dữ liệu nhập (data validation) của Excel cho phép người dùng đưa vào các phép kiểm tra dữ liệu nhập xem có thỏa mãn ràng buộc mong muốn không, ví dụ kiểm tra xem dữ liệu có thuộc loại dữ liệu định trước không, hoặc kiểm tra xem dữ liệu số có nằm trong khoảng quy định không, hoặc độ dài của dữ liệu xâu ký tự có vượt quá độ dài cho phép không v.v.

Chức năng thẩm định dữ liệu nhập rất hữu ích trong trường hợp người dùng phải làm việc với số lượng nhiều dữ liệu, khó có thể kiểm tra dữ liệu một cách thủ công bằng mắt thường, hoặc với dữ liệu quan trọng, cần có độ chính xác cao, mà sự nhầm lẫn có thể gây ra những hậu quả đáng tiếc, ví dụ như bảng dữ liệu bán hàng, bảng lương, bảng chấm công v.v.

1.3.2.1 Thiết lập các phép thẩm định dữ liệu cho 1 ô

Để thiết lập quy tắc thẩm định dữ liệu cho 1 ô, click chọn ô đó, sau đó chọn menu Data > Validation. Cửa sổ Data Validation hiện ra cho phép người dùng đưa vào các quy tắc thẩm định dữ liệu.

15

Page 14: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Trong cửa sổ này, trên tab Settings, hộp chọn thả xuống Allow cho phép ta thiết lập loại quy tắc thẩm định. Có các loại quy tắc sau:

- Any value: Là giá trị mặc định của ô, cho phép đưa vào giá trị bất kỳ

- Whole number và Decimal: Chỉ cho phép nhập các giá trị số. Khi chọn lựa chọn này, Excel hiện thêm các ràng buộc cho giá trị số như sau:

Hộp lựa chọn thả xuống Data cho phép ta lựa chọn ràng buộc cho dữ liệu. Ví dụ ta có thể lựa chọn các toán tử between (nằm giữa 2 giá trị max và min), not between (không nằm giữa), equal to (bằng), not equal to (không bằng), greater than (lớn hơn), less than (nhỏ hơn), greater than or equal to (lớn hơn hoặc bằng), less than or equal to (nhỏ hơn hoặc bằng). Để đưa vào các ràng buộc mong muốn, chọn toán tử tương ứng và đưa tham số tương ứng vào các ô trên cửa sổ này.

- List: Dữ liệu nhập phải nằm trong một danh sách các dữ liệu cho trước nào đó. Khi chọn lựa chọn này, Excel hiện thêm ra ô văn bản cho phép người dùng đưa vào danh sách dữ liệu.

16

Page 15: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Date: Dữ liệu nhập phải là kiểu ngày. Khi chọn lựa chọn này, Excel hiện thêm các ràng

buộc tương tự như với giá trị số.

- Time: Dữ liệu nhập phải là kiểu thời gian. Khi chọn lựa chọn này, Excel hiện thêm các ràng buộc tương tự như với giá trị số.

- Text length: Kiểm tra độ dài của xâu ký tự nhập. Khi chọn lựa chọn này, Excel hiện thêm các ràng buộc tương tự như với giá trị số.

- Custom: Do người dùng tự định nghĩa. Có thể định nghĩa ràng buộc bằng 1 công thức nào đó.

Sau khi thiết lập xong các quy tắc thẩm định dữ liệu, chọn OK để quay về trang bảng tính. Khi đó, nếu người dùng nhập dữ liệu sai với các quy tắc đã thiết lập, Excel sẽ báo lỗi và hiện ra thông báo nhắc nhở.

1.3.2.2 Thiết lập thông báo giới hạn dữ liệu nhập Thông báo giới hạn nhập dữ liệu là thông báo sẽ được hiển thị khi người dùng click chọn

vào ô có thiết lập giới hạn nhập. Mục đích của việc thiết lập thông báo này là giúp cho người dùng có thể biết được các quy tắc thẩm định dữ liệu đã được thiết lập cho Excel, giúp cho người dùng có thể nhập dữ liệu chính xác ngay từ đầu.

Để thiết lập thông báo này, chọn tab Input Message trên cửa sổ Data Validation. Trong ô Title đưa vào tiêu đề của thông báo và trong ô Input Message đưa vào nội dung thông báo.

17

Page 16: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Sau khi thiết lập xong, click OK. Như vậy, khi người dùng click chọn ô, thông báo như sau sẽ được hiển thị:

1.3.2.3 Tự định nghĩa thông báo lỗi khi nhập sai dữ liệu

Thông thường, khi người dùng nhập dữ liệu sai so với các quy tắc đã được thiết lập, Excel sẽ hiển thị thông báo lỗi mặc định. Tuy nhiên, người dùng có thể tự định nghĩa thông báo lỗi nhằm hiển thị rõ hơn thông tin về lỗi cho người nhập dữ liệu, hoặc thay các thông báo lỗi bằng tiếng Việt thay vì tiếng Anh như mặc định.

Để làm việc này, trên cửa sổ Data Validation, chọn tab Error Alert. Trong ô Title đưa vào tiêu

đề của thông báo và trong ô Error Message đưa vào nội dung thông báo lỗi. Ngoài ra, Excel còn cho phép thiết lập phương án xử lý tình huống khi xảy ra lỗi trong hộp chọn Style. Có 3 cách xử lý, đó là Stop (dừng), Warning (cảnh báo), và Information (thông tin). Chọn cách xử lý thích hợp.

Sau khi thiết lập xong, click OK. Như vậy, khi người dùng nhập sai dữ liệu, thông báo lỗi có nội dung như sau sẽ được hiển thị:

1.3.3 Bảo mật trong Excel

Chức năng bảo mật trong Excel cho phép bảo vệ các dữ liệu trong bảng tính, chống các truy nhập trái phép, đồng thời cho phép người dùng truy cập dữ liệu theo các mức bảo mật khác nhau.

18

Page 17: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Ngoài ra các chức năng bảo mật đa dạng của Excel còn cho phép bảo vệ các phần khác nhau của bảng tính với các mức độ khác nhau. Ví dụ, các vùng dữ liệu quan trọng có thể được bảo vệ cẩn mật, trong khi các vùng dữ liệu khác có thể không cần phải bảo vệ.

Các lưu ý về bảo mật dữ liệu trong Excel

- Bảo vệ các dữ liệu công thức và các dữ liệu quan trọng, không được thay đổi

- Bảo vệ hoặc ẩn đi các dữ liệu nhạy cảm trong bảng tính

- Thêm vào các chú thích cho các dữ liệu tổng hợp

Các mức bảo mật trong Excel

- Bảo vệ bằng mật khẩu

- Bảo vệ bảng tính

- Bảo vệ các sheet

- Bảo vệ ô dữ liệu hoặc đồ thị

1.3.3.1 Bảo vệ bằng mật khẩu

Để bảo vệ bảng tính khỏi các truy cập trái phép, ta có thể đặt mật khẩu cho bảng tính Excel. Có 2 mức bảo vệ bằng mật khẩu cho bảng tính: Mật khẩu đọc bảng tính và mật khẩu sửa bảng tính.

Mật khẩu đọc bảng tính là mật khẩu được yêu cầu khi người dùng mở 1 bảng tính hoặc tham chiếu đến 1 ô dữ liệu trong bảng tính. Nếu người dùng không có mật khẩu này sẽ không mở được bảng tính. Mật khẩu sửa bảng tính là mật khẩu sẽ được yêu cầu khi người dùng sửa dữ liệu trong bảng tính và ghi lại bảng tính. Khác với mật khẩu mở bảng tính, nếu không có mật khẩu này, người dùng vẫn có thể mở bảng tính, xem dữ liệu, tuy nhiên không được chỉnh sửa và ghi lại dữ liệu (người dùng có thể chỉnh sửa và ghi lại với 1 tên khác).

Các bước thiết lập mật khẩu cho file Excel:

- Chọn menu File > Save As. Cửa sổ Save As hiện ra cho phép ghi lại file với 1 tên khác.

19

Page 18: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Trên cửa sổ này, click vào biểu tượng Tools ở góc trên bên phải. Trong menu thả xuống, chọn General Options. Cửa sổ thiết lập mật khẩu hiện ra.

- Trong ô Password to open, đưa vào mật khẩu đọc bảng tính. Ô Password to modify là ô

chứa mật khẩu sửa bảng tính.

- Click OK sau khi đưa vào mật khẩu. Excel sẽ yêu cầu xác nhận mật khẩu thêm 1 lần trước khi kết thúc.

1.3.3.2 Bảo vệ bảng tính

Chức năng bảo vệ bảng tính cho phép thiết lập các bảo vệ về cấu trúc (Structure) và kích thước cửa sổ (Window). Bảo vệ về cấu trúc sẽ ngăn cấm việc thay đổi cấu trúc bảng tính như thêm, xóa, sửa các sheet. Bảo vệ cửa sổ sẽ ngăn cấm việc thay đổi kích thước, phóng to, thu nhỏ v.v. cửa sổ Excel.

Để thiết lập chức năng này, chọn menu Tools > Protection > Protect Workbook. Cửa sổ bảo vệ bảng tính hiện ra.

Để bảo vệ cấu trúc hoặc cửa sổ, click chọn lựa chọn Structure hoặc Windows tương ứng.

Đưa vào mật khẩu ở ô Password, sau đó bấm OK. Excel sẽ yêu cầu gõ xác nhận mật khẩu.

Để bỏ chức năng bảo vệ bảng tính, chọn menu Tools > Protection > Unprotect Workbook. Excel sẽ yêu cầu cung cấp mật khẩu đã thiết lập trước đó. Nếu mật khẩu được cung cấp là đúng, Excel sẽ mở khóa bảo mật bảng tính.

1.3.3.3 Bảo vệ các sheet

Chức năng bảo vệ sheet cho phép thiết lập các bảo vệ cho từng sheet trong bảng tính cùng với nội dung của tất cả các ô trong sheet này. Để thiết lập chức năng này, chọn menu Tools > Protection > Protect Sheet. Cửa sổ bảo vệ sheet hiện ra.

20

Page 19: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Trên cửa sổ này, Excel cho phép người dùng đưa vào mật khẩu để mở khóa bảo vệ sheet. Tiếp theo, người dùng có thể chọn các nội dung cần bảo vệ ở danh sách lựa chọn bên dưới. Mặc định Excel chỉ cho phép chọn (bôi đen) ô dữ liệu, ngoài ra các chức năng khác như định dạng ô dữ liệu, định dạng hàng, cột, thêm cột, hàng v.v. đều bị cấm. Để cho phép các chức năng này, click chọn các lựa chọn tương ứng.

1.3.3.4 Bảo vệ các ô dữ liệu

Chức năng bảo vệ ô dữ liệu cho phép khóa các ô dữ liệu hoặc ẩn đi, không cho phép hiển thị trên bảng tính. Để thực hiện bảo vệ ô dữ liệu, click chuột phải vào ô dữ liệu tương ứng và chọn Format cells … Tiếp theo, trên cửa sổ hiện ra chọn Protection.

21

Page 20: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Lựa chọn Locked cho phép khóa nội dung của ô dữ liệu, trong khi lựa chọn Hidden sẽ cho ẩn nội dung của ô. Chú ý rằng các lựa chọn này chỉ có tác dụng khi ta thực hiện việc bảo vệ Sheet (như đã trình bày ở trên). Do vậy, ta thấy các ô dữ liệu của Excel đều có lựa chọn mặc định là Locked, tuy nhiên nội dung của ô vẫn có thể thay đổi vì các sheet chưa được bảo vệ.

Ẩn một hàng, một cột, hoặc 1 sheet trong bảng tính

Để ẩn 1 hàng, 1 cột, hoặc 1 sheet trong bảng tính, lựa chọn hàng, cột, hoặc sheet tương ứng rồi chọn menu Format > Row (Column, hoặc Sheet) rồi chọn Hide. Để cho hiện ra các hàng, cột, hoặc sheet đã ẩn trước đó, chọn Unhide từ menu tương ứng.

22

Page 21: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

CHƯƠNG 2: SỬ DỤNG CÁC HÀM NÂNG CAO

2.1 CÁC HÀM LOGIC VÀ THỐNG KÊ THÔNG DỤNG

2.1.1 Sử dụng hàm IF

Trong thực tế, khi tính toán số liệu cũng như xử lý các bài toán trong công việc, người dùng cần giải quyết một vấn đề có dạng: “Nếu dữ liệu đầu vào như thế này, thì tôi muốn đầu ra như thế kia. Ngược lại, tôi muốn có một đầu ra khác.”

Với những bài toán có dạng như trên, Excel cung cấp một hàm rất hữu ích giúp người dùng xử lý một cách chính xác và hiệu quả. Đó là hàm IF mà chúng ta sẽ xem xét ngay sau đây.

Để tiện cho bạn đọc nắm được cách sử dụng hàm, chúng ta xem xét một ví dụ như sau:

Ví dụ: Ta có một bảng dữ liệu cuộc gọi (điện thoại) của khách hàng. Công việc cần thực hiện là tính cước cho các cuộc gọi dựa vào độ dài (tính theo giây) và đơn giá cước của cuộc gọi (tính theo hướng gọi). Yêu cầu nghiệp vụ của bài toán là: những cuộc gọi được coi là bình thường nếu nó dài hơn 6 giây, khi đó cước sẽ là độ dài cuộc gọi nhân với giá. Ngược lại, nếu cuộc gọi nhỏ hơn 6 giây thì được coi là cuộc gọi “lỗi” và khách hàng chỉ bị tính cước bằng ½ cước bình thường.

Khi đó ta có một bảng tính như sau:

Với bài toán như trên, có thể sử dụng hàm IF của Excel để tính toán giá trị của cột “Thành

tiền”. Cú pháp của hàm IF như sau:

IF(<Biểu thức logic>, <Giá trị trả về nếu đúng>, <Giá trị trả về nếu sai>).

Lưu ý: Khi áp dụng vào Excel, không sử dụng các dấu >, <. Ở đây chúng tôi đưa vào để bạn đọc có thể dễ dàng nhận ra sự cách biệt giữa các tham số của hàm.

Trong đó, ý nghĩa của các biểu thức (tham số) trong hàm IF như sau:

- Biểu thức logic: Thường là các phép toán so sánh và kết quả của nó cho ta 1 trong 2 khả năng: đúng hoặc sai. Biểu thức này thường sử dụng các toán tử so sánh như =, > , <, >= (lớn hơn hoặc bằng), <= (nhỏ hơn hoặc bằng).

- Giá trị trả về nếu đúng: Là giá trị mà người lập biểu thức muốn hàm IF tính toán và trả về nếu biểu thức logic ở trên là đúng.

- Giá trị trả về nếu sai: Là giá trị mà hàm IF sẽ trả về nếu biểu thức logic ở trên cho kết quả sai.

23

Page 22: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Quay trở lại với bài toán trên. Tiến hành áp dụng hàm IF theo cú pháp trên cho từng ô trong cột “Thành tiền”, ta sẽ có cách tính như sau:

IF Thời gian liên lạc >= 6, Thành tiền = Thời gian liên lạc * Giá cước , Thành tiền = Thời gian liên lạc * Giá cước/2

Điều này được hiểu như sau: Nếu thời gian liên lạc lớn hơn hay bằng 6s thì “Thành tiền” được tính bằng thời gian liên lạc nhân với giá cước. Ngược lại, nghĩa là thời gian liên lạc nhỏ hơn 6s, thì “Thành tiền” được tính bằng thời gian liên lạc nhân với cước và chia đôi.

Từ đó, ta có công thức cho các ô ở cột “Thành tiền” sử dụng hàm IF như sau:

Sau khi viết hàm IF cho ô đầu tiên của cột thành tiền (Ở đây là ô F:2), áp dụng công thức

tương tự cho toàn bộ các ô khác từ F:3 đến F:6 bằng cách sau:

- Chọn ô F:2 (click chuột vào ô này) và di chuyển chuột đến góc dưới bên phải của ô F:2 cho đến khi con trỏ chuột chuyển thành dấu hình chữ thập thì nhấp đúp chuột. Khi đó toàn bộ các ô trong cột “Thành tiền” sẽ được áp dụng công thức giống như ô đầu tiên:

Như vậy, Excel đã giúp chúng ta tính toán một cách chính xác theo đúng yêu cầu nghiệp vụ

của bài toán được đặt ra. Nhìn vào bảng trên, ta có thể thấy, ở cuộc gọi đến Vinaphone (cuộc gọi thứ 2), mặc dù giá cước cho mỗi giây là 50Đ và thời gian là 4s nhưng thành tiền chỉ có 100Đ vì cuộc gọi này chỉ bị tính một nửa so với giá bình thường.

2.1.2 Hàm IF lồng nhau.

Như đã nói ở trên, hàm IF là một công cụ rất hữu ích khi phải xử lý các bài toán mà dữ liệu đầu vào được “rẽ nhánh” làm 2 nhánh (nghĩa là dữ liệu chỉ có thể ở một trong hai trạng thái, cụ thể ở ví dụ trên là lớn hơn 6s hay nhỏ hơn 6s). Tuy nhiên, trong thực tế nhiều khi chúng ta lại gặp phải các bài toán mà dữ liệu đầu vào có thể được “rẽ nhánh” làm nhiều nhánh khác nhau. Một ví dụ đơn giản và phổ thông nhất là bài toán về xếp hạng học sinh. Giả sử có các mức xếp hạng học sinh dựa vào điểm trung bình chung các môn học như sau:

- Nếu điểm trung bình nhỏ hơn 4 thì học sinh bị xếp hạng Yếu.

- Nếu điểm trung trình từ 4.0 đến 5.0 thì xếp hạng Kém.

- Nếu điểm trung bình từ 5.0 đến nhỏ hơn 6.5 thì xếp hạng Trung bình.

24

Page 23: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Từ 6.5 đến nhỏ hơn 8.0 thì xếp hạng Khá.

- Từ 8.0 đến nhỏ hơn 9.0 thì xếp hạng Giỏi

- Từ 9.0 thì xếp hạng Xuất sắc.

Với bài toán như vậy, việc sử dụng hàm IF theo cách ở trên là không thể thực hiện được. Tuy nhiên, Excel cung cấp cho chúng ta một cách dùng các hàm IF lồng nhau để có thể thực hiện được bài toán này. Cụ thể, Excel cho phép chúng ta sử dụng một hay nhiều hàm IF khác trong một hàm IF ban đầu.

Để đơn giản nhưng không mất tính tổng quát, chúng ta trở lại với ví dụ về tính cước cho khách hàng sử dụng điện thoại ở trên. Với nghiệp vụ yêu cầu tương tự như cũ, nhưng ta thêm vào một chính sách khuyến mãi. Theo đó, những khách hàng gọi nhiều (cuộc gọi có độ dài lớn hơn 30 phút = 1800s) sẽ được giảm 5% giá cước trên tổng số cước họ phải trả tính theo thời gian gọi và đơn giá cước theo số bị gọi. Khi đó có thể áp dụng việc sử dụng hàm IF lồng nhau như sau:

“Nếu thời gian liên lạc nhỏ hơn 6s, cước sẽ là Thời gian liên lạc*Giá cước/2. Ngược lại, nếu thời gian liên lạc nhỏ hơn 1800s (và tất nhiên lớn hơn hoặc bằng 6s) thì cước sẽ là Thời gian liên lạc * giá cước. Cuối cùng, nếu thời gian liên lạc lớn hơn 1800s thì cước sẽ là Thời gian liên lạc * giá cước * 95% (Giảm giá 5%).”

Như vậy công thức để tính cước sẽ như sau:

IF(Thời gian liên lạc <6, Thành tiền = Thời gian liên lạc * Cước/2, IF(Thời gian liên lạc <1800,Thành tiền = Thời gian liên lạc* Giá cước,Thành tiền = Thời gian liên lạc* Giá cước * 95%) )

Áp dụng vào bảng dữ liệu như sau:

Công thức cho ô đầu tiên của cột thành tiền sẽ là:

Ở đây, chúng ta để ý đến cú pháp của câu lệnh IF. Thay vì đưa vào một công thức tính cụ thể khi giá trị kiểm tra là sai (đối số thứ 3 của hàm IF), chúng ta đưa thêm vào một hàm IF nữa. Hàm này sẽ kiểm tra giá trị của ô thời gian liên lạc để quyết định sẽ áp dung cách tính nào (tính bình thường cho cuộc lớn hơn 6s và nhỏ hơn 1800s hay tính theo cách khuyến mại cho cuộc dài hơn 1800s).

25

Page 24: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Excel cho phép chúng ta có thể đưa vào số lượng tùy ý các lệnh IF lồng nhau. Như là một bài tập, các bạn hãy lập một bảng xếp hạng học sinh theo qui ước về xếp hạng dựa trên điểm trung bình như đã trình bày ở trên.

2.1.3 Hàm COUNTIF

Trong thực tế công việc, người dùng rất hay gặp phải những bài toán cần sự thống kê đơn giản kiểu như: Có bao nhiêu bộ dữ liệu trong bảng tính phù hợp với một yêu cầu đặt ra?. Để giải bài toán này, Excel cung cấp cho người dùng một hàm gọi là hàm COUNTIF. Hàm này có cú pháp như sau:

COUNTIF(<Vùng tìm kiếm>,<Điều kiện>)

Ý nghĩa của hàm COUNTIF có thể được diễn tả như sau: Hãy đếm số lượng các ô trong “Vùng tìm kiếm” mà có giá trị giống với “Điều kiện” được đưa ra.

Ở đây, “Vùng tìm kiếm” có thể là một dòng, một cột, một vùng dữ liệu gồm nhiều dòng, nhiều cột hay một vùng dữ liệu được đặt tên.

“Điều kiện” có thể là giá trị số, chữ hay bất kỳ một kiểu giá trị nào mà Excel hiểu được.

Ví dụ: Giả sử có một bảng điểm của một lớp như hình dưới đây.

- Yêu cầu 1: Tìm số lượng người đạt điểm 10 môn Toán, Lý và Hóa học.

- Yêu cầu 2: Tìm tổng số điểm 9 trong cả 3 môn học mà các học sinh đạt được.

Để giải được bài toán này, chúng ta thêm vào các dòng dữ liệu như sau:

- Dòng số điểm 10 môn Toán

- Dòng số điểm 10 môn Vật lý

- Dòng số điểm 10 môn Hóa học

- Dòng số điểm 9 của cả 3 môn học.

Khi đó ta sẽ có bảng dữ liệu mới như sau:

26

Page 25: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Như đã trình bày ở trên, ta có thể sử dụng hàm COUNTIF để tính toán các giá trị như sau:

- Với số điểm 10 môn Toán, hàm sẽ thực hiện tìm kiếm trên cột “Toán” (tức là các ô từ C2 đến C9). Điều kiện so sánh là điểm 10 tức là giá trị 10. Khi đó hàm COUNTIF để tính số điểm 10 môn toán sẽ như sau: COUNTIF(C2:C9,10). Đưa hàm này vào ô C11 của bảng tính để tính số điểm 10 cho môn Toán.

- Tương tự như vậy, với môn Vật lý và Hóa học, chúng ta chỉ việc thay giá trị vùng tìm kiếm vào (Từ D2 đến D9 và từ E2 đến E9). Giá trị điều kiện vẫn giữ như cũ là 10 (điểm).

- Với phép tính tổng số điểm 9, vùng tìm kiếm sẽ là cả 3 cột Toán, Vật lý và Hóa học. Do đó vùng tìm kiếm sẽ là các ô từ C2 đến E9.

Sau khi áp dụng các công thức, Excel sẽ tính cho chúng ta kết quả như sau:

2.1.4 Hàm MAX

Trong Excel, hàm MAX là một hàm khá đơn giản. Hàm MAX được sử dụng khi người dùng cần tính một giá trị có kiểu số lớn nhất trong một vùng dữ liệu cần tìm kiếm. Kết quả trả về của hàm MAX là chính giá trị lớn nhất trong vùng dữ liệu đó. Cú pháp của hàm MAX như sau:

MAX(Number_1, Number_2, … ,Number_n) 27

Page 26: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Trong đó Number_1, Number_2, …Number_n là các giá trị số mà chúng ta muốn tìm giá trị lớn nhất trong n số. Khi sử dụng trong Excel, các giá trị số này có thể được thay bởi một vùng các ô.

Ví dụ:

Ta có một bảng tính chứa điểm các môn học và điểm trung bình của các học sinh như sau:

Yêu cầu của bài toán là tìm ra điểm Trung bình cao nhất. Thực tế, ta cũng có thể dùng

phương pháp thủ công để làm việc này. Tuy nhiên, nếu danh sách có số lượng học sinh lớn thì cách thủ công là không phù hợp. Khi đó, chúng ta có thể sử dụng hàm MAX. Đầu tiên, ta thêm vào 1 ô ghi lại điểm cao nhất trong số các điểm trung bình trên như sau:

Ở đây chúng ta thấy, vùng cần tìm kiếm giá trị điểm trung bình lớn nhất là cột F (Trung

bình), từ hàng thứ 2 đến hàng thứ 8. Do đó vùng tìm kiếm sẽ là: F2:F8.

Ngoài ra, một cách tương tự, chúng ta cũng có thể sử dụng hàm MAX để tìm điểm cao nhât của từng học sinh theo hàng. Ví dụ, học sinh Nguyễn Văn Đông muốn tìm xem điểm cao nhất của mình là bao nhiêu, khi đó anh ta có thể sử dụng hàm MAX để tính toán.

Các điểm của Nguyễn Văn Đông được đặt trên các ô từ C4 đến E4, do đó thay vùng tìm kiếm C4:E4 vào hàm MAX ta được:

28

Page 27: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

2.1.5 Hàm MIN

Hàm MIN có ý nghĩa và cách sử dụng tương tự như hàm MAX. Tuy nhiên giá trị trả về của hàm MIN là giá trị nhỏ nhất trong vùng tìm kiếm. Cách sử dụng và cú pháp của hàm MIN hoàn toàn giống với hàm MAX.

2.1.6 Hàm AVARAGE

AVARAGE là hàm tính giá trị trung bình của một vùng dữ liệu theo cách cộng dồn tất cả các giá trị của các ô rồi chia cho tổng số lượng các ô được cộng. Hàm AVARAGE có cú pháp tương tự như hàm MAX và MIN. Đối số của hàm AVARAGE chỉ là một vùng dữ liệu cần tính trung bình. Giá trị trả về là giá trị trung bình của vùng dữ liệu cần tính.

Trở lại ví dụ trên, có một danh sách học sinh và điểm của 3 môn học. Chúng ta cần tính điểm trung bình cho từng học sinh. Công thức tính sẽ là: Trung bình = (Toán + Lý + Hóa)/3. Như vậy, thay vì dùng công thức cộng rồi chia, chúng ta có thể sử dụng hàm AVARAGE như sau:

Sau khi đã tính được điểm trung bình của từng học sinh theo hàng, chúng ta có thể áp dụng

hàm AVARAGE theo cột để tính điểm trung bình của từng môn học và trung bình của các điểm trung bình. Cụ thể ta có thể tính điểm trung bình của môn Toán như sau:

2.2 CÁC HÀM TÌM KIẾM VÀ THAM CHIẾU DỮ LIỆU THÔNG DỤNG

2.2.1 Hàm VLOOKUP

VLOOKUP là một hàm tìm kiếm và tham chiếu dữ liệu rất quan trọng trong Excel và được sử dụng trong tính toán ở nhiều trường hợp. Để cho bạn đọc có thể dễ dàng nắm bắt được ý nghĩa và tình huống sử dụng của hàm này, chúng ta xem xét ví dụ sau trước khi xem giải thích chi tiết về hàm.

Ví dụ:

Giả sử cuối học kỳ, chúng ta có một danh sách điểm tổng kết của toàn bộ học sinh của lớp học và công việc của chúng ta là cần tính xem những học sinh được học bổng sẽ nhận được mức học bổng như thế nào.

29

Page 28: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Khi đó chúng ta có bảng dữ liệu như sau:

Trong bài toán này, có 3 mức học bổng như sau:

- Mức khá: 180.000 đ.

- Mức giỏi: 240.000 đ.

- Mức xuất sắc: 360.000 đ.

Trong bảng dữ liệu này, với mỗi học sinh, ta có thể tính ra được xem học sinh đó được xếp loại gì, dựa vào điểm trung bình của học sinh đó. Từ xếp loại của học sinh, dựa vào bảng quy định mức học bổng (cũng được trình bày trong bảng tính), ta có thể tính ra được học sinh đó được học bổng bao nhiêu hoặc có được học bổng hay không.

Các đơn giản nhất để tính ra mức học bổng cho từng học sinh là xem xếp loại, sau đó nhìn xuống bảng mức học bổng, và gõ mức học bổng tương ứng với xếp loại vào ô học bổng. Tuy nhiên, cách làm này có thể gọi là cách làm thủ công, không hiệu quả, đặc biệt là đối với 1 danh sách dài các học sinh, đồng thời dễ gây ra nhầm lẫn.

Để giải quyết tình huống này, Excel cung cấp cho chúng ta 1 hàm tham chiếu dữ liệu rất hiệu quả, đó là hàm VLOOKUP. Nhiệm vụ của hàm này là với mỗi giá trị của ô xếp loại, tham chiếu xuống bảng các mức học bổng để tìm xem mức học bổng tương ứng với xếp loại đó là bao nhiêu. Ví dụ, ô xếp loại là Giỏi, hàm VLOOKUP sẽ tham chiếu xuống bảng Các mức học bổng để tìm xem với xếp loại là Giỏi, thì mức học bổng sẽ là bao nhiêu. Kết quả trả về chính là kết quả của hàm VLOOKUP.

Cú pháp của hàm VLOOKUP như sau:

VLOOKUP(<giá trị>,<bảng tìm kiếm>,<cột tìm kiếm>,<cách tìm kiếm>

Trong đó, ý nghĩa của các tham số như sau:

- <giá trị>: Là giá trị mà chúng ta dùng để tìm kiếm trong <bảng tìm kiếm>. Đây có thể là một giá trị cụ thể, một công thức, .v.v, nhưng thông thường nó là một ô trong bảng tính. Giá trị này sẽ được so sánh với cột đầu tiên trong <bảng tìm kiếm>. Trong ví dụ trên, <giá trị> chính là giá trị của 1 ô trong cột “Xếp hạng” mà chúng ta dùng để tìm kiếm trong

30

Page 29: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

bảng “Các mức học bổng”. Ở bảng “Các mức học bổng” thì cột “Xếp hạng” của bảng này được đặt là cột đầu tiên.

- <bảng tìm kiếm>: Là một danh sách các ô trong một bảng tính. Ở ví dụ trên, <bảng tìm kiếm> chính là bảng “Các mức học bổng” mà chúng ta thực hiện việc tìm kiếm mức học bổng cho từng học sinh.

Lưu ý: Khi định nghĩa bảng tìm kiếm, chúng ta cần chỉ ra tọa độ tuyệt đối của các ô. Để làm được điều này, chúng ta có thể thực hiện như sau:

+) Gõ trực tiếp vào địa chỉ của ô: ví dụ như $B$12 là địa chỉ tuyệt đối của ô B12.

+) Dùng chuột lựa chọn vùng mà bạn định nghĩa bảng, ở ví dụ trên là vùng B12:C14. Sau đó bấm phím F4. Excel sẽ giúp ta định nghĩa địa chỉ tuyệt đối của B12:C14 thành $B$12:$C$14.

- <cột>: Là một số xác định vị trí của cột trong <bảng tìm kiếm> mà chúng ta cần lấy ra. Vị trí này được tính là thứ tự của cột cần lấy so với thứ tự của cột so sánh giá trị (thường là cột đầu tiên). Hàm VLOOKUP sẽ so sánh <giá trị> với các giá trị trong cột đầu tiên của bảng tìm kiếm. Nếu khớp ở vị trí nào, giá trị của cột thứ <cột> trong bảng tìm kiếm tại vị trí đó sẽ được lấy ra. Ở ví dụ trên, chúng ta thấy cột so sánh giá trị trong bảng “Các mức học bổng là cột số 1. Cột cần lấy giá trị là cột mức học bổng (số 2), do đó <cột> = 2.

- <cách tìm>: Excel định nghĩa 2 cách tìm kiếm. Ngầm định (nếu người dùng không đưa vào) thì cách tìm sẽ là 1. Giá trị của <cách tìm> có thể là 0 hoặc 1. Trong đó ý nghĩa của từng giá trị như sau:

+) Nếu cách tìm là 1: Các giá trị trong <bảng tìm kiếm> phải được sắp xếp theo thứ tự tăng dần của cột so sánh (thường là cột đầu tiên). Nếu giá trị tìm kiếm nhỏ hơn phần tử đầu tiên trong <bảng tìm kiếm> thì giá trị trả về sẽ là #N/A. Nếu giá trị tìm kiếm lớn hơn phần tử cuối cùng thì giá trị trả về coi như là giá trị cuối cùng trong danh sách. Ngược lại, nếu giá trị tìm kiếm được tìm thấy ở một phần tử trong danh sách thì giá trị trả về sẽ là giá trị của ô tìm kiếm nằm cùng hàng với phần tử tìm kiếm.

+) Nếu cách tìm là 0: Các giá trị trong <bảng tìm kiếm> sẽ không cần phải sắp xếp. Khi đó, nếu giá trị tìm kiếm không đúng với bất kỳ giá trị nào trong bảng thì Excel sẽ trả về giá trị lỗi là #N/A.

Lưu ý: Cũng giống như các hàm khác, hàm này không phân biệt chữ hoa, chữ thường khi so sánh các giá trị có kiểu chữ. Ví dụ “Giỏi” cũng được coi là bằng với “giỏi” và “GIỎI”.

Quay lại ví dụ trên, để tính được học bổng cho từng học sinh, ở cột “Học bổng”, chúng ta tiến hành lập công thức cho từng ô như sau:

Xét ô đầu tiên của cột học bổng (E2). Lập công thức cho ô này như sau:

=VLOOKUP(D2,$B$12:$C$14,2,0).

Ý nghĩa của công thức như sau: Với giá trị ô D2, hãy tìm kiếm trong bảng tìm kiếm được giới hạn bởi vùng từ ô B12 đến ô C14 (kí hiệu bằng $B$12:$C$14), và so sánh giá trị ô D2 với các giá trị trong cột thứ nhất của bảng tìm kiếm, và lấy ra giá trị của cột thứ 2 (cột mức học bổng) của bảng ở hàng tìm được.

31

Page 30: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Sau khi lập được công thức này cho ô E1, chúng ta sẽ nhận được giá trị 180,000. Bởi vì giá trị ô D2 là “Khá”, Excel sẽ tìm kiếm trong cột thứ nhất của bảng mức học bổng, thấy hàng thứ nhất có giá trị là “Khá”, bằng với giá trị ô D2. Khi đó, giá trị của cột thứ 2 trong hàng thứ nhất sẽ được lấy làm giá trị trả về cho hàm VLOOKUP, và đó là giá trị 180,000 đ.

Sao chép công thức này cho các ô còn lại từ E3 đến E8, chúng ta được bảng kết quả như sau:

Trong bảng dữ liệu này, chúng ta thấy kết quả học bổng của những học sinh có xếp hạng

không nằm trong các mức học bổng định nghĩa ở bảng phía dưới sẽ là: #N/A.

Để tránh gặp phải những giá trị này, chúng ta có thể kết hợp với hàm IF để làm cho kết quả “đẹp” hơn bằng cách trả về giá trị 0 (không đồng) cho những học sinh không đạt được học bổng mà không phải đưa thêm vào danh sách các mức học bổng giá trị 0 cho các học sinh không đạt học bổng. Cụ thể chúng ta sửa lại công thức như sau:

=IF(ISERROR((VLOOKUP(D2,$B$12:$C$14,2,0))),0,(VLOOKUP(D2,$B$12:$C$14,2,0)))

Ở đây chúng ta để ý một hàm là ISERROR(<biểu thức>). Hàm này sẽ trả về giá trị “đúng” nếu <biểu thức> là “lỗi” và ngược lại. Như vậy, công thức trên có thể được hiểu như sau:

“Nếu việc thực hiện hàm VLOOKUP mà lỗi (trả về giá trị #N/A) thì tôi thay bằng giá trị 0. Ngược lại, tức là VLOOKUP thực hiện đúng thì tôi lấy đúng giá trị VLOOKUP.”

Khi đó, chúng ta có một bảng dữ liệu mới “đẹp” hơn bảng ban đầu mà không cần phải thêm dữ liệu vào bảng tìm kiếm “Các mức học bổng” như sau:

32

Page 31: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Trên đây là một ví dụ đơn giản về hàm VLOOKUP. Trong thực tế, có rất nhiều bài toán quản lý liên quan đến việc phải tham chiếu, tìm kiếm dữu liệu trên nhiều bảng khác nhau, ví dụ như các bài toán về tính cước điện thoại theo tỉnh, bài toán tính giá tiền của mặt hàng bán ra v.v. Người dùng hoàn toàn có thể sử dụng hàm VLOOKUP để giải được các bài toán này. Các ví dụ này chúng ta sẽ xem xét ở phần bài tập tổng hợp.

2.2.2 Hàm HLOOKUP.

Tương tự như hàm VLOOKUP, hàm HLOOKUP cũng thực hiện chức năng so sánh và tìm kiếm trên một <bảng tìm kiếm> và trả về giá trị nếu tìm thấy. Tuy nhiên, khác với hàm VLOOKUP thực hiện tìm kiếm theo cột, HLOOKUP thực hiện việc tìm kiếm theo hàng.

Cú pháp của hàm HLOOKUP như sau:

HLOOKUP(<giá trị>,<bảng tìm kiếm>,<dòng tìm kiếm>,<cách tìm kiếm>

Ý nghĩa của các tham số trong HLOOKUP tương tự như trong VLOOKUP. Chỉ có điều ở đây chúng ta tìm kiếm theo hàng nên <cột tìm kiếm> ở VLOOKUP được thay bởi <dòng tìm kiếm> trong HLOOKUP. <dòng tìm kiếm> là một số xác định vị trí của dòng cần lấy ra giá trị so với dòng chứa giá trị so sánh (thường là dòng đầu tiên).

Trở lại ví dụ tính học bổng cho học sinh ở trên, chúng ta cũng có một bảng qui định về mức học bổng, tuy nhiên chúng ta bố trí dữ liệu theo hàng như sau:

Rõ ràng, chúng ta không thể sử dụng VLOOKUP để tìm kiếm giá trị mức học bổng dựa vào cách bố trí dữ liệu như thế này. Do vậy, hàm HLOOKUP được sử dụng để tính toán như sau:

Tính cho ô đầu tiên của cột “Học bổng”, ô này được lập công thức như sau:

= HLOOKUP(D2,$B$12:$D$13,2,0)

Khi đó giá trị của ô E2 sẽ là 120000 vì mức học bổng dành cho học sinh “Khá” là 120000.

Sao chép công thức trên cho tất cả các ô còn lại, chúng ta có bảng kết quả cần tính như sau:

33

Page 32: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Giống như ví dụ ở trên, bạn đọc tự đưa chỉnh sửa lại công thức tính để có một kết quả “đẹp” hơn.

2.3 CÁC HÀM LÀM VIỆC VỚI XÂU KÝ TỰ

2.3.1 Hàm LEFT

Cú pháp của hàm LEFT như sau:

LEFT(<biểu thức ký tự>, <số lượng ký tự cần lấy>)

Kết quả của hàm LEFT là một chuỗi ký tự được lấy ra từ <biểu thức ký tự> và có độ dài là <số lượng ký tự cần lấy> tính từ bên trái sang. Trong trường hợp <số lượng ký tự cần lấy> lớn hơn độ dài của <biểu thức ký tự> thì toàn bộ <biểu thức ký tự> sẽ được lấy ra.

Ví dụ:

LEFT("Nguyễn Văn Nam",10) sẽ cho giá trị trả về là “Nguyễn Văn”.

LEFT(“Nguyễn Văn Nam”, 20) sẽ cho giá trị trả về là “Nguyễn Văn Nam”.

2.3.2 Hàm RIGHT

Cú pháp:

RIGHT(<biểu thức ký tự>, <số lượng ký tự cần lấy>).

Ngược lại với hàm LEFT, hàm RIGHT cũng trả về 1 biểu thức ký tự là “con” của <biểu thức ký tự> đầu vào, được lấy ra <số lượng ký tự cần lấy> nhưng tính từ bên phải sang. Cũng tương tự, nếu <số lượng ký tự cần lấy> lớn hơn độ dài của <biểu thức ký tự> thì toàn bộ <biểu thức ký tự> được lấy ra.

Ví dụ:

RIGHT("Nguyễn Văn Nam",10) sẽ cho giá trị trả về là “ễn Văn Nam”

RIGHT(“Nguyễn Văn Nam”, 20) sẽ cho giá trị trả về là “Nguyễn Văn Nam”

2.3.3 Hàm MID

Cú pháp:

MID(<biểu thức ký tự>,<vị trí bắt đầu lấy>,<số lượng ký tự lấy>).

34

Page 33: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Hàm MID sẽ trả về một biểu thức ký tự được lấy ra từ <biểu thức ký tự>, tính từ vị trí <vị trí bắt đầu lấy> và lấy ra <số lượng ký tự lấy>.

Lưu ý: Trong 3 hàm LEFT, RIGHT và MID, tất cả các đối số có giá trị là số như <số lượng ký tự lấy>, <vị trí bắt đầu> đều phải là các số nguyên lớn hơn 0.

Ví dụ: MID(“Nguyễn Văn Nam”,8,3) = “Văn”

2.3.4 Hàm LEN

Cú pháp:

LEN(<biểu thức ký tự>)

Hàm LEN trả về độ dài của <biểu thức ký tự.>

Ví dụ: LEN(“Nguyễn Văn Nam”) = 14.

2.3.5 Hàm LOWER

Cú pháp:

LOWER(<biểu thức ký tự>).

Hàm LOWER sẽ thực hiện việc chuyển đổi <biểu thức ký tự> thành một chuỗi ký tự mà tất cả các chữ cái trong <biểu thức ký tự> đều ở dạng chữ thường.

Ví dụ: LOWER(“Nguyễn Văn Nam”) = “nguyễn văn nam”

LOWER(“NGUYỄN VĂN NAM”) = “nguyễn văn nam”

2.3.6 Hàm UPPER

Cú pháp:

UPPER(<biểu thức ký tự>).

Hàm UPPER có ý nghĩa ngược lại với hàm LOWER. Hàm này sẽ trả về một xâu ký tự mà tất cả các chữ cái trong <biểu thức ký tự> đều ở dạng chữ hoa.

Ví dụ: UPPER(“nguyễn văn nam”) = “NGUYỄN VĂN NAM”

Lưu ý: Với hai hàm UPPER và LOWER, có thể có một số trường hợp ký tự trả về không phải là chữ hoa thực sự do sự không đồng bộ của bộ font tiếng Việt.

2.3.7 Hàm REPLACE

Cú pháp:

REPLACE(<xâu ký tự>,<vị trí bắt đầu>,<số lượng ký tự cần thay đổi>,<xâu thay thế>).

Hàm REPLACE sẽ thực hiện việc thay thế <biểu thức ký tự>, tính từ <vị trí bắt đầu>, với số lượng ký tự cần thay đổi là <số lượng ký tự cần thay đổi> bằng xâu mới là <xâu thay thế>.

Ví dụ: Chúng ta có 1 biểu thức ký tự là: “Nguyễn Văn Nam”

Giờ chúng ta muốn thay thế chữ “Văn” trong xâu trên thành chữ “Hùng”, khi đó ta làm như sau:

REPLACE(“Nguyễn Văn Nam”,8,3,“Hùng”) = “Nguyễn Hùng Nam”.

35

Page 34: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Ở đây:

- 8 là vị trí bắt đầu của chữ “Văn”

- 3 là số lượng các chữ cái cần thay thế, bắt đầu từ vị trí 8.

- “Hùng” là biểu xâu mới cần thay thế vào xâu cũ.

2.3.8 Hàm REPT

Cú pháp:

REPT(<biểu thức ký tự>, <số lần lặp lại>)

Hàm REPT thực hiện việc in ra một chuỗi ký tự được lặp lại <số lần lặp lại> của <biểu thức ký tự>.

Ví dụ:

REPT(“Nguyễn”,3) = “NguyễnNguyễnNguyễn”.

2.3.9 Hàm SEARCH

Cú pháp:

SEARCH(<biểu thức ký tự cần tìm>,<biểu thức ký tự sẽ tìm>,[<vị trí bắt đầu>]).

Hàm SEARCH có một đối số tùy chọn là [<vị trí bắt đầu>]. Nếu người dùng không đưa vào tham số này, hàm SEARCH sẽ thực hiện tìm <biểu thức ký tự cần tìm> trong <biểu thức ký tự sẽ tìm> tính từ vị trí đầu tiên của <biểu thức ký tự sẽ tìm> (từ trái sang) và trả về vị trí mà <biểu thức ký tự cần tìm> xuất hiện trong <biểu thức ký tự sẽ tìm> nếu thấy. Ngược lại, hàm SEARCH sẽ trả về giá trị lỗi (#VALUE).

Nếu người dùng đưa vào <vị trí bắt đầu>, khi đó Excel sẽ thực hiện tìm kiếm từ vị trí đó đến hết xâu và trả về vị trí xuất hiện của <biểu thức ký tự cần tìm> trong <biểu thức ký tự sẽ tìm> nếu tìm thấy. Ngược lại, giá trị lỗi sẽ được trả về (#VALUE)

Ví dụ:

Ta có một biểu thức ký tự như sau: “Đây là một biểu thức ký tự. Biểu thức này được tạo để thử hàm Search”.

Giờ ta muốn tìm xâu “biểu thức” trong xâu trên. Nếu ta sử dụng hàm SEARCH như sau:

SEARCH(“biểu thức”, “Đây là một biểu thức ký tự. Biểu thức này được tạo để thử hàm Search”) thì giá trị trả về sẽ là 12 vì xâu “biểu thức” xuất hiện ở vị trí thứ 12 trong xâu lớn cần tìm.

Tuy nhiên, nếu chúng ta sử dụng hàm SEARCH theo cách khác:

SEARCH(“biểu thức”, “Đây là một biểu thức ký tự. Biểu thức này được tạo để thử hàm Search”,20) thì giá trị trả về sẽ là 29 vì Excel tiến hành tìm từ vị trí thứ 20 của xâu trở đi. Khi đó nó sẽ gặp từ “Biểu thức” ở vị trí 29.

Lưu ý: Trong khi tìm kiếm, Excel không quan tâm đến ký tự chữ thường hay chữ hoa. Do đó “biểu thức” và “Biểu thức” được hiểu là giống nhau.

36

Page 35: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

2.3.10 Hàm SUBSTITUTE

Cú pháp:

SUBSTITUE (<biểu thức ký tự>,<xâu ký tự cần thay thế>,<xâu ký tự sẽ thay thế>)

Hàm SUBSTITUTE có ý nghĩa gần giống hàm REPLACE. Hàm này thực hiện việc thay thế 1 xâu ký tự trong <biểu thức ký tự> bằng một xâu khác. Cụ thể, <xâu ký tự cần thay thế> nếu xuất hiện trong <biểu thức ký tự> thì sẽ được thay thế bằng <xâu ký tự sẽ thay thế>. Ngược lại (tức là <xâu cần thay thế> không xuất hiện trong <biểu thức ký tự>) thì <biểu thức ký tự> sẽ vẫn giữ giá trị như cũ.

Ví dụ:

Có biểu thức ký tự: “Nguyễn Văn Nam”

Ta muốn thay thế tên đệm “Văn” thành “Hùng”, khi đó sử dụng hàm SUBSTITUE như sau:

SUBSTITUE(“Nguyễn Văn Nam”,“Văn”,“Hùng”). Khi đó kết quả trả về sẽ là “Nguyễn Hùng Nam”.

2.3.11 Hàm TRIM

Cú pháp:

TRIM(<biểu thức ký tự)>

Hàm này trả về một biểu thức ký tự có nội dung “gần” giống với <biểu thức ký tự ban đầu> nhưng được chuẩn hóa theo cách sau:

- Xóa toàn bộ các ký tự trắng (dấu cách) ở đầu và cuối của <biểu thức ký tự> nếu có.

- Nếu trong <biểu thức ký tự> có tồn tại hai ký tự trắng thì hàm TRIM sẽ xóa bớt đi một và chỉ để lại một ký tự trắng.

Ví dụ ta có xâu: “ Hôm qua tôi đi học muộn ” (Lưu ý các dấu cách ở đầu và cuối câu, các dấu cách liên tiếp trong thân câu).

Khi đó hàm TRIM(“ Hôm qua tôi đi học muộn ”) sẽ trả lại một câu “chuẩn” hơn như sau: “Hôm qua tôi đi học muộn”.

2.3.12 Hàm CONCATENATE

Cú pháp:

CONCATENATE(<biểu thức ký tự 1>,<biểu thức ký tự 2>,…,<biểu thức ký tự n>)

Hàm CONCATENATE thực hiện việc ghép các <biểu thức ký tự> lại với nhau thành 1 biểu thức ký tự duy nhất sau khi đã bỏ đi các dấu cách của biểu thức ký tự đứng trước.

Ví dụ:

Giả sử ta có các biểu thức ký tự như sau:

“Nguyễn ” (Có dấu cách ở cuối)

“Văn”

“Nam” 37

Page 36: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Khi đó: CONCATENATE(“Nguyễn ”, “Văn”, “Nam”) sẽ trả về xâu là “NguyễnVănNam”.

Nếu chúng ta muốn xâu cuối có thêm dấu cách giữa các từ, chúng ta có thể đưa trực tiếp dấu cách vào trong hàm CONCATENATE như sau:

CONCATENATE(“Nguyễn ”, “ ”, “Văn”, “ ”, “Nam”).

Khi đó Excel sẽ đưa các dấu cách “ ” vào trong kết quả đầu ra. Và như vậy ta sẽ được xâu: “Nguyễn Văn Nam”.

2.3.13 Toán tử &

Cú pháp: <biểu thức ký tự 1> & <biểu thức ký tự 2>

Toán tử & hoạt động giống với hàm CONCATENATE. Tuy nhiên toán tử & chỉ cho phép chúng ta nối hai biểu thức ký tự thành một biểu thức ký tự duy nhất sau khi bỏ đi dấu cách ở cuối biểu thức ký tự thứ nhất. Nếu chúng ta muốn có một dấu cách giữa 2 biểu thức ký tự thì chúng ta phải đưa dấu cách vào trong toán tử &.

Ví dụ:

”Nguyễn” & “Văn” sẽ cho ta biểu thức: “NguyễnVăn”

“Nguyễn” & “ ” & “Văn” = “Nguyễn Văn”.

2.4 CÁC HÀM TÀI CHÍNH (FINANCIAL)

Ngoài các loại hàm thông dụng ở trên, Excel còn cung cấp một loạt các hàm để thực hiện các thao tác liên quan đến tài chính. Những hàm này sử dụng các nhân tố chung, tùy thuộc vào các giá trị sẽ được tính toán. Hầu hết các hàm này làm việc với các thao tác vay hoặc đầu tư tài chính. Để hiểu được cách làm việc của các hàm tài chính, trước hết ta xét các khái niệm sau:

Giá trị hiện tại (Present Value) là giá trị của khoản vay hoặc đầu tư ở thời điểm ban đầu. Tham số này còn được gọi là vốn.

Giá trị tương lai (Future Value) là giá trị của khoản đầu tư hoặc vay tại thời điểm nào đó trong tương lai (thường là thời điểm thương vụ đầu tư kết thúc hoặc khoản vay được trả).

Lãi suất (Interest Rate) là giá trị phần trăm tăng hoặc giảm của khoản vay hoặc đầu tư. Đây là giá trị cố định áp dụng trong vòng đời của 1 thương vụ đầu tư hoặc cho vay.

Kỳ hạn (Number Of Periods) là số lần thanh toán trong vòng đời của 1 thương vụ đầu tư hoặc cho vay.

Kỳ hạn có thể được tính theo tháng hoặc năm. Chú ý rằng tham số này phải khớp với tham số lãi suất (ví dụ kỳ hạn tính theo tháng thì lái suất phải là theo tháng, kỳ hạn tính theo năm thì lãi suất phải là theo năm).

Tiền trả (Payment) là số lượng tiền đóng góp cho thương vụ đầu tư hoặc vay. Đây thường là khoản tiền góp tại cùng thời điểm với lãi suất được tính

Loại trả (Payment Type) ấn định thời điểm thanh toán tại đầu hoặc cuối kỳ. Thông thường, thời điểm thanh toán là cuối mỗi tháng.

Ngoài các khái niệm trên, một điều quan trọng nữa là phân biệt khi nào tham số mang dấu âm và khi nào mang dấu dương.

38

Page 37: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Quy tắc như sau:

- Nếu là khoản tiền phải đóng, có thể là đóng góp vào tài khoản tiết kiệm hay trả lãi cho 1 khoản vay, thì khoản tiền mang dấu âm.

- Nếu là khoản tiền nhận được, có thể là do vay được hoặc khoản đầu tư sinh lãi, thì mang dấu dương.

Phần tiếp theo sẽ giới thiệu với bạn đọc về 3 hàm tài chính thông dụng là FV, PV, và PMT. Các hàm khác, bạn đọc có thể tham khảo trong các tài liệu nâng cao về Excel khác.

2.4.1 Sử dụng hàm FV

Hàm FV dùng để tính giá trị tương lai của 1 thương vụ đầu tư, với 1 lãi suất cố định. Để hiểu được cách sử dụng hàm này, chúng ta xem xét ví dụ sau:

Giả sử ta có 1 khoản tiền gửi tiết kiệm là 10 triệu, mỗi năm có lãi suất 8%. Chúng ta muốn tính xem đến cuối năm, số tiền sẽ là bao nhiêu. Lúc này phép tính rất đơn giản:

= 10.000.00 + 10.000.000 x 8% = 10.000.000 x 108 % = 10.800.000 VNĐ

Đây chính là giá trị tương lai của khoản tiền đầu tư gửi tiết kiệm.

Tiếp theo, ta muốn biết sau 2 năm được bao nhiêu, ta có thể tính như sau:

= 10.000.000 x 108% x 108% = 11.664.000 VNĐ

Cứ như vậy, ta có thể tính giá trị tương lai sau nhiều năm.

Tuy nhiên, trên thực tế, bài toán lại không đơn giản như vậy. Bởi vì:

- Thông thường, khoản đầu tư tiết kiệm thường được tính lãi theo tháng. Mặc dù lãi suất theo năm vẫn như thế, nhưng khi lãi tháng được trả sẽ cộng vào khoản vốn trong tài khoản và tạo nên lãi chồng.

- Người gửi tiết kiệm thường đóng góp 1 khoản nào đó theo định kỳ vào tài khoản tiết kiệm của mình, qua đó tăng lãi suất tiết kiệm.

Trường hợp này không thể tính theo cách đơn giản ở trên, khi đó ta có thể sử dụng hàm FV của Excel để tính giá trị tương lai của khoản đầu tư.

Cú pháp hàm FV như sau:

FV(Rate, Periods, Payment, PresentValue,[ PaymentType])

Ý nghĩa của các tham số được giải thích như ở trên.

Cụ thể, để giải quyết bài toán trên, với khoản vốn ban đầu 10 triệu, lái suất 8%/năm, khoản góp hàng tháng là 300.000 VNĐ, ta có thể tính được giá trị khoản tiết kiệm sau kỳ hạn là 24 tháng.

Đầu tiên lập bảng tính với các giá trị như sau:

39

Page 38: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Tiếp theo, áp dụng công thức FV cho các tham số:

Trong công thức trên, ta thấy lãi suất năm được chia cho 12 thành lãi suất tính theo tháng. Các tham số Payment và Present Value mang dấu âm vì là các khoản ta phải đóng vào. Khi đó, ta sẽ có giá trị tương lai của khoản tiết kiệm là 19.508.836 VNĐ.

2.4.2 Sử dụng hàm PV

Có thể nói, hàm PV là 1 hàm trái ngược với FV, dùng để tính giá trị ban đầu của khoản đầu tư hoặc vay.

Cú pháp hàm PV như sau:

FV(Rate, Periods, Payment, FutureValue,[ PaymentType])

Sự khác biệt trong tham số giữa hàm FV và PV là tham số Present Value được thay bằng tham số Future Value.

Giả sử cũng bài toán ở hàm FV, nhưng yêu cầu mới là cần tính xem khoản đầu tư ban đầu là bao nhiêu để sau 10 năm, có được khoản tiền là 50 triệu. Ta có bảng tính:

Áp dụng công thức PV để tính giá trị ban đầu như sau:

40

Page 39: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Vẫn như trên, tham số lãi suất chia cho 12 để tính lãi suất tháng, kỳ hạn nhân với 12 để ra kỳ hạn tháng. Và ta có giá trị ban đầu cần phải đầu tư là 2.200.271 VNĐ.

2.4.3 Sử dụng hàm PMT

Hàm PMT dùng để tính số tiền phải trả hoặc đóng góp thường xuyên cho 1 thương vụ vay hoặc đầu tư.

Cú pháp hàm PMT như sau:

PMT(Rate, Periods, PresentValue, FutureValue, PaymentType)

Ví dụ:

Để mua xe máy trả góp (giá 30 triệu), người mua phải trả trước 1 khoản tiền 10 triệu. Khoản tiền 20 triệu còn lại sẽ phải trả trong 2 năm, với lãi suất 8% 1 năm. Yêu cầu bài toán là tính ra khoản tiền mà người đó phải trả hàng tháng.

Ta có thể sử dụng hàm PMT trong trường hợp này. Chú ý là tổng giá trị phải trả là 30 triêu, do đó có thể coi là giá trị hiện tại (Present Value), Khi đó, giá trị tương lai (Future Value) sẽ là 10 triệu, là khi người mua trả hết nợ (vì họ đã nộp trước 10 triệu). Cũng có thể có cách tính khác là giá trị hiện tại là 20 triệu (số tiền còn nợ), và giá trị tương lai là 0 (hết nợ).

Ta có bảng tính:

41

Page 40: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Áp dụng công thức PMT:

Ở đây, ta lấy tổng giá tiền xe như giá trị ban đầu, và số tiền đã trả như giá trị tương lai. Giá

trị ban đầu mang dấu âm vì là số tiền ta phải trả.

Kết quả ta được số tiền phải trả hàng tháng là 971,212 VNĐ.

42

Page 41: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

CHƯƠNG 3: SỬ DỤNG CÁC CÔNG CỤ NÂNG CAO

3.1 LỌC DỮ LIỆU

Trong thực tế, nhiều khi người dùng phải làm việc với một bảng tính có rất nhiều dòng dữ liệu (Excel có thể hỗ trợ một bảng tính có tối đa 65535 dòng), trong khi chỉ thực sự cần làm việc với một số lượng dòng nhất định trong tổng số dữ liệu của bảng tính. Khi đó, Excel cung cấp một công cụ gọi là lọc dữ liệu. Công cụ này cho phép người dùng có thể giới hạn số lượng dữ liệu muốn làm việc.

Để dễ dàng hơn trong việc tìm hiểu về công cụ này, chúng ta xem xét một ví dụ sau:

Giả sử ta có một bảng tính chứa dữ liệu về các cuộc gọi điện thoại đi quốc tế của một đơn vị. Bảng tính này như sau:

Trong bảng tính trên, chúng ta có thể thấy rất nhiều cuộc gọi đến nhiều nước khác nhau. Bây giờ, nếu người dùng chỉ muốn xem và làm việc với những cuộc gọi đến Mỹ (US) hoặc một nước bất kỳ nào đó, họ có thể dùng chức năng lọc dữ liệu của Excel để làm việc này. Các bước thực hiện việc lọc dữ liệu được tiến hành như sau:

- Từ menu chính của Excel, chọn Data > Filter > Auto Filter. Khi đó chức năng Filter của Excel sẽ được bật lên trên bảng tính và bảng tính sẽ chuyển sang dạng sau:

43

Page 42: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Khi đó, ở các tiêu đề của các cột sẽ xuất hiện các hộp chọn đẩy xuống. Đến đây, dựa vào nhu cầu của mình, người dùng có thể tiến hành lọc dữ liệu theo tiêu chí mong muốn. Ví dụ nếu muốn lọc ra các cuộc gọi đến Mỹ (US), click chuột vào hộp chọn ở cột “Nước gọi đến”. Khi đó ta sẽ thấy ngoài các lựa chọn mà Excel cung cấp, hộp chọn sẽ liệt kê tất cả các nước có cuộc gọi đến. Ở đây ta chọn US.

- Khi đó Excel sẽ liệt kê tất cả các cuộc gọi đến US. Với chức năng này, không những tất cả các cuộc gọi đến US được liệt kê, mà ta còn có thể biết được có bao nhiêu cuộc gọi bằng cách nhìn xuống thanh trạng thái ở phía dưới của cửa sổ làm việc của Excel. Ta sẽ thấy một thông báo có dạng: “<n1> of <n2> records found”. Trong đó <n1> chính là số bản ghi (dòng) các cuộc gọi đến US trong tổng số <n2> bản ghi (dòng) các cuộc gọi ban đầu.

44

Page 43: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Bây giờ chúng ta xét thêm 1 tình huống khác. Như chúng ta đã thấy, trong bảng dữ liệu các

cuộc gọi điện thoại quốc tế ở trên, có rất nhiều cuộc gọi đến Mỹ, bao gồm US, US – NYC hay US-Hawaii v.v. Với cách làm như ở trên, chúng ta chỉ có thể chọn được những cuộc gọi đến 1 địa điểm nhất định. Tuy nhiên, nhiều khi người dùng lại muốn có thông tin về toàn bộ các cuộc gọi đến Mỹ (US) mà không cần biết nó thuộc về vùng nào trên nước Mỹ. Khi đó, chúng ta có thể sử dụng chức năng lọc số liệu của Excel như sau:

- Click chuột vào hộp chọn ở cột “Nước gọi đến”, sau đó lựa chọn mục “Custom”. Khi đó Excel sẽ mở một hộp thoại cho phép chúng ta định nghĩa điều kiện lọc “tùy chọn” của mình để Excel lọc giúp chúng ta:

- Từ hộp thoại Custom AutoFilter, trong mục “Nước gọi đến”, click chuột vào hộp chọn đẩy xuống. Khi đó, chúng ta sẽ có các lựa chọn sau cho “Nước gọi đến”.

o Equals: Bằng

o Does not equal: Không bằng (khác).

45o Is greater than: Lớn hơn.

Page 44: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

o Is greater than or equal to: Lớn hơn hay bằng.

o Is less than: Nhỏ hơn.

o Is less than or equal to: Nhỏ hơn hay bằng.

o Begins with: Bắt đầu bằng.

o Does not begin with: Không bắt đầu bằng.

o Ends with: Kết thúc bằng.

o Does not end with: Không kết thúc bằng.

o Containts: Chứa.

o Does not containt: Không chứa.

Ở ví dụ này, chúng ta muốn chọn tất cả các cuộc gọi đến Mỹ (US), bao gồm cả các cuộc gọi đến những vùng khác của Mỹ như: US - NYC, US - Hawaii v.v. Do đó có thể lựa chọn điều kiện lọc: “Nước gọi đến” bắt đầu bằng chữ US.

Khi đó, điền vào hộp thoại Custom AutoFilter như sau:

Sau khi đã đưa điều kiện lọc xong, bấm nút lệnh OK để Excel thực hiện việc lọc và trả về dữ liệu được lọc ra.

Ngoài ra, nhìn vào hộp thoại trên, có thể thấy Excel còn cung cấp nhiều hơn một điều kiện lọc. Nghĩa là, ngoài việc lựa chọn “Nước gọi đến” bắt đầu bằng chữ US, còn có thể lựa chọn thêm 1 điều kiện nữa bằng cách lựa chọn hàng thứ 2 của hộp thoại. Trong đó, nếu click vào lựa chọn “And” thì sẽ có điều kiện “Và”, nếu chọn lựa chọn “Or” ta sẽ có điều kiện “Hoặc”.

Một cách tương tự, ta cũng có thể lọc dữ liệu dựa trên các cột khác, chẳng hạn cột “Số bị gọi” ở ví dụ này.

3.2 SẮP XẾP VÀ CỘNG TỔNG, TỔNG CON (SUBTOTAL)

Chức năng sắp xếp cho phép sắp lại thứ tự các hàng dữ liệu trong Excel theo một tiêu chí nào đó (ví dụ sắp theo thứ tự alphabe của tên, sắp theo chiều tăng của điểm tổng v.v.). Trong khi hàm cộng tổng chỉ cho phép tính tổng các dữ liệu số 1 cách tự động, thì chức năng tính tổng con (subtotal) còn cho phép tính các tổng theo các nhóm khác nhau.

46

Page 45: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Để nắm được ý nghĩa và ứng dụng của các chức năng này, ta sẽ xem xét 1 ví dụ sau đây:

Giả sử 1 cửa hàng bách hóa X cần lập 1 bảng tính để quản lý doanh số bán hàng của các nhân viên bán hàng trong cửa hàng. Các nhân viên bán hàng thuộc các bộ phận khác nhau, như Quần áo, Đồ giá dụng, Mỹ phẩm .v.v

Trước hết, cần lập 1 bảng tính Excel như hình vẽ dưới:

Trong bảng tính này, các dữ liệu được lưu trữ bao gồm: Họ tên nhân viên bán hàng, Bộ phận bán hàng, Doanh số tháng 1, tháng 2, tháng 3, Tổng doanh số. Cột Tổng sẽ được tính bằng tổng của 3 cột Tháng 1, Tháng 2, và Tháng 3 (sử dụng hàm SUM).

Như vậy, nhìn vào bảng tính, ta có thể biết được doanh số bán của từng nhân viên trong từng tháng và tổng doanh số. Tuy nhiên, bài toán đặt ra là cần phải tính tổng doanh số bán theo từng bộ phận của tất cả nhân viên trong bộ phận đó.

Để giải quyết vấn đề này, ta có thể sử dụng chức năng tính tổng con của Excel để tính các tổng theo từng nhóm. Các bước thực hiện như sau:

Đầu tiên, sắp xếp lại các hàng của bảng tính theo Bộ phận. Chú ý rằng, để thực hiện việc tính tổng con chính xác, phải thực sắp xếp trên cột dữ liệu sẽ được dùng để phân nhóm, nếu không sẽ có nhiều kết quả cho mỗi nhóm.

Để sắp xếp theo Bộ phận, thực hiện như sau:

- Chọn 1 ô bất kỳ trong cột Bộ phận, tiếp theo chọn menu Data > Sort. Cửa sổ sắp xếp hiện ra.

- Như ta thấy, trên cửa sổ này, trong lựa chọn thả xuống Sort by (sắp xếp theo), đã có sẵn tên cột Bộ phận (trường hợp muốn thay đổi, có thể chọn tại hộp chọn thả xuống để thay đổi). Điều này có nghĩa các hàng của bảng tính sẽ được sắp xếp theo cột Bộ phận.

47

Page 46: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Hai lựa chọn Ascending (tăng dần), Descending (giảm dần) ở phía sau cho phép người dùng lựa chọn sắp tăng dần hay giảm dần.

- Các lựa chọn Then by cho phép người dùng chọn các cột muốn sắp xếp tiếp sau Bộ phận. Để trống nếu chỉ muốn sắp xếp theo Bộ phận.

- Sau khi thiết lập xong các lựa chọn, bấm OK. Dữ liệu mới được sắp xếp như sau:

- Như ta thấy, các hàng của bảng tính đã được sắp xếp lại theo Bộ phận. Việc này giúp cho

các hàng có cùng Bộ phận được nhóm vào gần nhau.

- Tiếp theo, chọn 1 ô dữ liệu bất kỳ trong vùng dữ liệu và chọn menu Data > Subtotals. Cửa sổ tính tổng con hiện ra như sau:

48

Page 47: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Trên cửa sổ này, lựa chọn At each change in cho phép ta chọn cột sẽ được dùng để phân nhóm tính tổng con. Thông thường Excel sẽ mặc định chọn cột đầu tiên. Với bài toán trên, ta muốn nhóm theo cột Bộ phận, do vậy phải chọn lại, bằng cách click chuột vào lựa chọn thả xuống và chọn Bộ phận thay vì Họ và tên như trên.

- Tiếp theo, trong phần Use function, chọn hàm Sum là chính xác. Trong trường hợp khác, có thể chọn hàm khác (ví dụ muốn tính trung bình ta chọn hàm Avarage).

- Phần Add subtotal to cho phép lựa chọn việc tính tổng con cho các cột dữ liệu nào. Hiện tại Excel đã mặc định chọn cột Tổng. Tuy nhiên, yêu cầu của bài toán cũng muốn tính tổng con theo các tháng, do vậy chọn cả các cột Tháng 1, Tháng 2, Tháng 3.

- Sau khi chọn xong, cửa sổ Subtotals sẽ như sau:

- Đến đây, click OK. Kết quả tính tổng con sẽ hiện ra như sau:

49

Page 48: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Nhìn trên bảng kết quả, ta có thể thấy Excel thêm 1 hàng vào dưới mỗi nhóm Bộ phận và

đặt tên là “Tên bộ phận + Total”. Giá trị các cột dữ liệu của hàng này là tổng giá trị các cột trong nhóm. Ở hàng cuối cùng, Excel cũng thêm vào 1 hàng Grand Total để tính tổng của tất cả các nhóm. Có thể thay đổi tên các cột Total để được bảng tính đẹp và dễ hiểu hơn. Cũng có thể thay đổi định dạng của các ô tổng để dễ nhìn hơn (ví dụ chữ đậm). Chú ý rằng, các dấu -, + ở phía bên trái của cửa sổ cho phép thu vào, mở ra các phần dữ liệu được tính tổng.

3.3 SỬ DỤNG CÔNG CỤ GOAL SEEK

Công cụ Goal Seek cho phép tìm dữ liệu đầu vào đúng đắn để ra được kết quả đầu ra như mong đợi. Như chúng ta đã biết, quá trình xử lý 1 bài toán thông thường là: dữ liệu đầu vào (input) - xử lý - kết quả đầu ra (output). Đa số các trường hợp, chúng ta biết dữ liệu đầu vào, biết quá trình xử lý (thuật toán), qua đó tính được kết quả đầu ra. Tuy nhiên, trong nhiều trường hợp, chúng ta biết quá trình xử lý, và mong muốn 1 kết quả đầu ra nào đó, khi đó ta muốn biết đầu vào là bao nhiêu. Trong những trường hợp này, chúng ta có thể sử dụng công cụ Goal Seek của Excel.

Có thể biểu thị công cụ Goal Seek như sau: “Đây là kết quả đầu ra tôi mong muốn, hãy thay đổi dữ liệu đầu vào để đạt được kết quả đầu ra này”. Để làm được điều này, Excel sẽ tính toán giá trị đầu vào phù hợp bằng cách “thử” cho đến khi tìm được giá trị đầu ra mong muốn.

Thiết lập ô này

Tới giá trị

Bằng cách thay đổi ô này

50

Page 49: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Goal Seek là công cụ dễ sử dụng, tuy nhiên không được linh hoạt và không giải quyết được các trường hợp phức tạp.

Ví dụ:

Trong một cuộc thi, các thí sinh phải thi 3 môn Toán, Lý, Hóa. Điểm tổng được tính bằng điểm trung bình của 3 điểm trên, trong đó Toán hệ số 3, Lý hệ số 2 và Hóa hệ số 1. Nếu một thí sinh đã biết cả 3 điểm thì sẽ tính được điểm trung bình:

Công thức cho ô tính điểm trung bình B4: (B1*3+B2*2+B3)/6

Giả sử một thí sinh đã biết 2 điểm Lý và Hóa. Thí sinh đó cần số điểm trung bình là 7, và muốn biết điểm Toán mình cần được bao nhiêu để có điểm trung bình là 7. Khi đó, có thể dùng công cụ Goal Seek để tìm điểm Toán.

Các bước áp dụng công cụ Goal Seek trong bài toán này như sau:

- Sử dụng Excel tạo 1 bảng trong hình trên, với công thức cho ô tính điểm trung bình như trên

- Chọn ô điểm trung bình bằng cách click chuột vào ô đó

- Chọn công cụ Goal Seek bằng cách chọn Menu Tools -> Goal Seek

- Đưa giá trị 7 vào ô To value

- Click chuột vào ô By changing cell trên cửa sổ Goal Seek, sau đó click chuột vào ô B1. Điều này có nghĩa, khi ta sử dụng công cụ Goal Seek, giá trị của ô này (B1) sẽ được thay đổi để cho ô trung bình (B4) đạt giá trị mong muốn là 7.

- Tiếp theo, click OK. Cửa sổ kết quả tìm tính toán hiện ra và ô điểm Toán sẽ thay đổi về 8. Đó là điểm mà thí sinh cần đạt được nhằm có điểm trung bình là 7.

51

Page 50: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Click OK nếu đồng ý với những tính toàn này, và click Cancel nếu muốn quay về các giá

trị cũ.

Chú ý: Trong ví dụ trên, công thức tính điểm trung bình không phức tạp, do đó ta cũng có thể dễ dàng tính ngược điểm Toán từ điểm trung bình mà không cần dùng Goal Seek. Tuy nhiên, công cụ Goal Seek của Excel còn cho phép tính ngược từ những công thức rất phức tạp, thậm chí không thể tính bằng tay. Và trong nhiều trường hợp, Goal Seek cho ra kết quả gần đúng (xấp xỉ).

3.3.1 Sử dụng công cụ Goal Seek trên đồ thị

Trên đây, chúng ta đã nghiên cứu việc sử dụng công cụ Goal Seek trên các ô văn bản. Phần này, chúng ta sẽ nghiên cứu việc sử dụng Goal Seek trên đồ thị. Cũng với bài toán trên, giả sử thí sinh đó cần điểm trung bình là 6,8.

Các bước áp dụng Goal Seek trên đồ thị cho bài toán trên như sau:

- Trước hết, ta lại tạo 1 bảng Excel như trong phần trên, với công thức tính điểm trung bình như cũ. Tiếp theo ta bôi đen toàn bộ các ô của bảng để tạo 1 đồ thị.

- Sau khi bôi đen, chọn biểu tượng tạo đồ thị (Chart wizard) trên thanh công cụ. Cửa sổ tạo

đồ thị hiện ra. Chọn loại đồ thị mặc định (bar chart), và click Finish. Đồ thị được Excel tạo ra như sau:

52

Page 51: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Tiếp theo, click vào cột biểu thị điểm trung bình. Dạng hiển thị của các cột sẽ thay đổi (có 1 hình vuông hiển thị ở giữa các cột). Click tiếp 1 lần nữa vào cột điểm trung bình, cột sẽ thay đổi dạng hiển thị như hình vẽ dưới.

- Đưa con trỏ chuột tới đỉnh cột và sử dụng chức năng kéo thả chuột để dịch chuyển chiều

cao của cột. Một hình chữ nhật nhỏ được hiển thị để biểu thị giá trị của cột thay đổi như thế nào. Giả sử ta dịch chuyển chiều cao của cột tới giá trị 6,8.

- Khi thả chuột ra, cửa sổ Goal Seek sẽ hiển thị và lúc này ta cần đưa vào ô sẽ được thay đổi

để cột điểm trung bình có giá trị là 6,8. Trong trường hợp này là ô B1, do đó ta click cuột vào ô B1. Click OK để hiển thị cửa sổ kết quả tính toán như sau:

- Bấm OK để xác nhận những thay đổi trên bảng tính và thoát khỏi cửa sổ trạng thái của

Goal Seek. Bấm Cancel nếu muốn hủy bỏ những thao tác vừa thực hiện.

53

Page 52: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

3.4 DATA TABLES

Data tables - Các bảng dữ liệu - là chức năng của Excel cho phép tính toán và so sánh các kết quả đầu ra của các giá trị đầu vào khác nhau của một công thức. Thông thường, khi sử dụng 1 công thức, ta đã có sẵn giá trị đầu vào và việc áp dụng công thức cho kết quả đầu ra. Tuy nhiên, trong nhiều trường hợp, chúng ta muốn biết với các đầu vào khác nhau thì đầu ra sẽ thay đổi thế nào.

Để dễ dàng cho người dùng có thể tính toán và so sánh các kết quả đầu ra tương ứng với các kết quả đầu vào khác nhau, Excel cung cấp chức năng Data tables cho phép tính toán và hiển thị các kết quả dưới dạng dễ nhìn hơn. Sự kết hợp của các giá trị đầu vào (input) và các kết quả đầu ra tương ứng của một công thức được thể hiện trong một bảng để người dùng có thể dễ dàng so sánh sự sai khác. Tùy vào nhu cầu của mình, chúng ta có thể tạo các bảng dữ liệu có 1 hoặc hai tham số (biến) để tính toán và so sánh.

3.4.1 Sử dụng bảng dữ liệu với 1 tham số

Bảng dữ liệu 1 tham số cho phép ta so sánh kết quả của sự thay đổi của 1 đầu vào khi áp dụng 1 công thức. Để hiểu rõ hơn chức năng này, chúng ta xem xét 1 ví dụ. Trở lại với bài toán trong phần Goal Seek, tính điểm trung bình cho 3 môn Toán, Lý, Hóa.

Trong bài toán đó, chúng ta giả sử đã biết điểm Lý và Hóa, và chưa biết điểm Toán. Ta

muốn biết, điểm Toán phải là bao nhiêu để điểm trung bình là 7. Khi đó, có thể dùng chức năng Goal Seek. Bây giờ, chúng ta muốn biết xem, với các giá trị khác nhau của điểm Toán, điểm trung bình sẽ như thế nào.

Như vậy, với bài toán mới, đầu vào là ô điểm Toán (B1). Đầu tiên, bố trí lại dữ liệu trong bảng tính (như hình vẽ dưới) và tạo ra 1 danh sách các giá trị đầu vào thay thế cho điểm Toán hiện tại.

Các giá trị thay thế cho đầu vào được đưa vào các ô từ D4 đến D8. Ở đây các giá trị thay

thế được đưa vào theo cột. Khi đó, ô dùng để chứa công thức cho kết quả đầu ra được đặt tại ô nằm phía trên ô chứa giá trị thay thế đầu tiên 1 hàng, và lùi về phía bên phải 1 cột. Trong trường hợp này, ô tính điểm trung bình đặt tại ô E3, là ô phía trên 1 hàng, dịch về bên phải 1 cột so với ô D4 là ô chứa giá trị thay thế đầu tiên.

54

Page 53: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Nếu các giá trị thay thế đưa vào theo hàng, thì ô chứa công thức kết quả sẽ đặt tại ô phía dưới 1 hàng, và dịch về bên trái 1 cột so với ô chứa giá trị thay thế đầu tiên.

Sau khi bố trí xong dữ liệu, chọn (bôi đen) vùng dữ liệu bao cả ô công thức kết quả và các ô chứa các giá trị thay thế. Trong ví dụ này là vùng D3:E8. Tiếp theo, chọn menu Data > Table. Bảng thiết lập Data Table hiện ra như sau:

Trên cửa sổ này, ô Row input cell yêu cầu đưa vào ô dữ liệu đầu vào nếu có các giá trị thay thế theo hàng, và ô Column input cell chứa ô dữ liệu đầu vào với các giá trị thay thế theo cột.

Trong ví dụ trên, ô đầu vào của bài toán là điểm Toán (C4), và các dữ liệu thay thế đưa vào theo cột. Vì vậy ô Row input cell bỏ trống, và đưa giá trị $C$4 vào ô Column input cell, hoặc đơn giản hơn, click chuột vào ô này, rồi lại click chuột chọn ô C4, giá trị sẽ tự động được điền vào.

Thiết lập xong, chọn OK để tạo bảng dữ liệu. Kết quả như sau:

Như ta có thể thấy, tương ứng với mỗi giá trị điểm Toán thay thế, giá trị điểm trung bình tương ứng được tính toán và lưu trên bảng, cho phép người dùng dễ dàng xem và so sánh. Ví dụ, có thể thấy rằng để có điểm trung bình 7.5, điểm môn Toán phải là 9.

3.4.2 Sử dụng bảng dữ liệu với 2 tham số

Bảng dữ liệu 2 tham số là chức năng mạnh hơn, cho phép ta thấy được sự thay đổi của 2 tham số đầu vào sẽ ảnh hưởng ra sao tới kết quả đầu ra. Xét ví dụ sau đây:

Giả sử 1 công ty điện thoại di động cần tính toán phương án kinh doanh (dạng đơn giản), với các dữ kiện ban đầu như sau:

- Công ty hiện có 500.000 thuê bao

- Cước thuê bao hàng tháng là 80.000

- Trung bình mỗi thuê bao có cước gọi trung bình 70.000/tháng

- Chi phí hàng tháng ước tính khoảng 136.000/ 1 thuê bao

55

Page 54: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Từ các dữ liệu trên có bảng tính sau:

Ta phân tích bài toán trên thêm 1 chút để thấy được tình hình thu chi hiện tại. Theo như bài

toán, mỗi thuê bao phải trả mỗi tháng 80.000 tiền thuê bao và tiền cước gọi trung bình là 70.000. Tức là mỗi tháng một thuê bao phải trả cho công ty điện thoại trung bình 150.000 đ.

Với 500.000 thuê bao, hàng tháng công ty thu được là 500.000 x 150.000 = 75 tỷ.

Chi phí trung bình trên 1 thuê bao trong 1 tháng là 136.000. Do vậy, với 500.000 thuê bao, 1 tháng công ty phải chi 500.000 x 136.000 = 68 tỷ.

Vậy mỗi tháng công ty có số lãi là 7 tỷ đ. Trong bảng tính trên, công thức cho ô chi phí hàng tháng là Số lượng thuê bao (C4) x 136.000. Công thức cho ô Lãi/tháng là Số lượng thuê bao x (Tiền thuê bao hàng tháng + Tiền cước trung bình/1 thuê bao) - Chi phí hàng tháng.

Yêu cầu của bài toán:

Ban lãnh đạo công ty muốn đưa ra 1 phương án kinh doanh, theo đó muốn giảm giá cước thuê bao, và như vậy có thể tăng thêm số lượng thuê bao. Giá cước có thể giảm từ 80.000 xuống 75.000, 70.000, 65.000, 60.000. Thuê bao ước tính có thể tăng từ 500.000 lên 520.000, 550.000, 570.000, hoặc 600.000.

Yêu cầu là trong mỗi trường hợp như vậy, hãy tính toán và so sánh xem lãi/tháng của công ty sẽ thay đổi thế nào?

Ta sẽ sử dụng chức năng bảng dữ liệu 2 tham số để giải quyết bài toán này.

Trước hết, xác định 2 tham số đầu vào ở đây là số lượng thuê bao (dự tính sẽ tăng) và giá cước thuê bao (dự kiến sẽ giảm).

Tiến hành đưa các giá trị thay thế cho số lượng thuê bao vào theo hàng, ở các ô từ E4 đến H4. Đưa các giá trị thay thế cho giá cước thuê bao vào theo cột, từ ô D5 đến ô D8 (Xem hình vẽ dưới).

Chú ý: Đối với bảng dữ liệu 2 tham số, các giá trị thay thế theo cột được đưa vào ngay bên

dưới ô chứa công thức kết quả. Các giá trị thay thế theo hàng được đưa vào ngay bên phải ô chứa công thức kết quả.

56

Page 55: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Tiếp theo chọn (bôi đen) vùng chứa công thức và các giá trị thay thế (D4:H8), sau đó chọn menu Data > Table.

Trong cửa sổ hiện ra, trong mục Row input cell, chọn ô C4 (số lượng thuê bao). Mục Column input cell chọn ô C5 (tiền thuê bao hàng tháng).

Chọn OK để tạo bảng. Kết quả như sau.

Với bảng kết quả trên, ta có thể thấy với mỗi phương án giảm giá cước và số thuê bao dự tính sẽ tăng lên, thì khoản lãi/tháng của công ty sẽ thay đổi như thế nào.

Lưu ý: Bài toán trên chỉ là 1 ví dụ minh họa cho việc sử dụng chức năng Data Table của Excel. Trong thực tế, bài toán quản lý kinh doanh của 1 công ty sẽ phức tạp hơn rất nhiều.

3.5 QUẢN LÝ TÌNH HUỐNG (SCENARIO MANAGER)

Trong quá trình phân tích dữ liệu trong Excel, người dùng thường có nhiều lựa chọn cho 1 bộ dữ liệu, và muốn xem với các bộ dữ liệu khác nhau thì bảng tính của họ sẽ khác nhau ra sao. Chức năng quản lý tình huống cho phép người dùng thay đổi gái trị các ô dữ liệu và xem kết quả của sự thay đổi, đồng thời cũng cho phép người dùng lưu các kết quả đó để có thể xem lại sau này. Chức năng này rất hữu ích trong trường hợp muốn dự đoán kết quả của 1 mô hình dữ liệu.

Để làm rõ hơn chức năng này, ta xét ví dụ sau:

Giả sử hiện tại hệ đào tạo đại học từ xa của Học viện Công nghệ BCVT có 2.500 sinh viên, phân bố trong các ngành như sau:

- Ngành CNTT: 800

- Ngành ĐTVT: 900

- Ngành QTKD: 800

Yêu cầu của bài toán là quản lý số liệu dự báo số lượng sinh viên sẽ tăng trong năm 2006. Với 1 dự báo, có thể lưu số liệu như sau:

57

Page 56: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Tuy nhiên, với cách lưu thông thường này, chỉ có thể lưu được 1 dự báo, trong khi yêu cầu

của bài toán muốn Excel quản lý nhiều dự báo về % tăng của số lượng sinh viên mỗi ngành. Để làm được điều này, có thể sử dụng chức năng quản lý tình huống mà Excel cung cấp.

- Đầu tiên, chọn menu Tools > Scenario. Cửa sổ Scenario hiện ra:

- Thông báo trên cửa sổ cho biết chưa có tình huống nào được lưu lại. Chọn Add để lưu 1

tình huống mới.

Đưa vào tên tình huống trong ô Scenario name. Trong ô Changing cells, chọn các ô từ D4

đến D6 là các ô dự báo về % sinh viên sẽ tăng (là các ô sẽ thay đổi trong từng tình huống). Tiếp 58

Page 57: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

theo, đưa vào các giải thích trong ô Comment nếu cần và chọn OK. Cửa sổ yêu cầu đưa vào giá trị muốn thay đổi hiện ra. Đưa vào bộ giá trị mới cho các ô. Ví dụ thay đổi dự báo số sinh viên CNTT tăng 10%, số sinh viên ĐTVT tăng 5%, số sinh viên QTKD tăng 5%.

Chọn OK để thêm 1 tình huống cho dự báo mới và quay về cửa sổ quản lý tình huống.

Trên cửa sổ Scenarios, ta thấy hiện ra tên của tình huống vừa tạo. Tiếp tục chọn Add nếu

muốn thêm các tình huống mới. Nếu muốn sửa hoặc xóa 1 tình huống, chọn Edit hoặc Delete. Chọn Close để đóng cửa sổ quản lý tình huống.

3.5.1 Xem 1 tình huống đã tạo

Để xem1 tình huống đã tạo, chọn menu Tools > Scenarios. Cửa sổ Scenario Manager hiện ra. Trong ô Scenarios liệt kê danh sách các tình huống được tạo ra trước đó. Chọn 1 tình huống muốn xem và bấm Show. Các dữ liệu mới tương ứng với tình huống được chọn sẽ thay thế dữ liệu cũ trên bảng tính.

3.5.2 Bảng tổng hợp các tình huống

Ngoài việc lưu và cho người dùng xem lại các tình huống của 1 vấn đề, Excel còn cho phép người dùng lập bảng tổng hợp các tình huống dưới dạng tổng quát, dễ nhìn hơn. Để làm việc này, trên cửa sổ Scenario Manager, chọn nút Summary. Cửa sổ Summary hiện ra yêu cầu chọn loại báo cáo và xác nhận ô sẽ được dùng làm ô kết quả. Thông thường, Excel đã chọn sẵn các ô kết quả cho ta (ta có thể tự chọn các ô này bằng cách dùng chuột để kéo và chọn các ô). Click OK.

59

Page 58: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Trên bảng tổng hợp, như ta thấy Excel tổng hợp các tình huống lại trong 1 vùng dữ liệu, chỉ ra

các ô thay đổi và kết quả của sự thay đổi, giúp cho người dùng có thể phân tích được dễ dàng hơn.

3.6 SỬ DỤNG CHỨC NĂNG SOLVER

Solver là một công cụ phân tích nâng cao đa năng rất mạnh của MS Excel. Nó có khả năng xử lý các bài toán có nhiều tham số và có thể cho một tính toán tối ưu.

Có thể tóm lược tính năng của Solver qua ví dụ sau: Giả sử tôi có một khoản tiền A, cần mua n loại sản phẩm và đã biết giá của từng loại. Ngoài ra, có thể có thêm một số ràng buộc về từng loại sản phẩm cần mua (ví dụ cần ít nhất x sản phẩm loại 1, y sản phẩm loại 2 .v.v). Hãy cho 1 giải pháp về việc mua các sản phẩm để có thể mua được số lượng nhiều nhất các sản phẩm (đồng thời cũng đáp ứng các điều kiện ràng buộc trên), với số tiền ban đầu.

Để sử dụng được chức năng Solver của MS Excel, chúng ta cần nắm được các khái niệm sau:

- Target Cell: Ô đích - đây là ô mà người dùng sẽ thiết lập giá trị ở các mức tối đa hay tối thiểu (Thường là giá trị tối đa của thương vụ bạn đang cần phân tích, tính toán tìm ra giải pháp).

- Adjustable Cell: Ô có thể thay đổi - là các ô mà Solver sẽ thay đổi giá trị để tìm ra giải pháp đáp ứng được yêu cầu mong muốn của người dùng.

- Contraints: Các ràng buộc - Chứa các giới hạn mà Excel phải tham chiếu tới để xử lý.

Để minh họa thêm về tính năng này của Excel, ta xem xét ví dụ cụ thể sau:

Giả sử một cửa hàng muốn nhập về 3 loại sách để bán với giá cả như sau: Toán - 5000Đ, Vật lý - 4500Đ, Hóa học - 4000Đ. Số tiền mà cửa hàng có là 1 triệu đồng và mong muốn của cửa hàng là với số tiền trên có thể mua được nhiều nhất sách có thể, với ít nhất 80 quyển Toán, 60 quyển Vật lý, và 60 quyển Hóa học. Như vậy bài toán của cửa hàng là:

- Tổng số tiền dùng để mua sách: 1 triệu đồng

- Số quyển Toán ít nhất cần mua: 80

- Số quyển Vật lý ít nhất cần mua: 60

- Số quyển Hóa học ít nhất cần mua: 60

Yêu cầu: Cần mua được số sách nhiều nhất, với các ràng buộc trên.

60

Page 59: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Để dùng chức năng Solver của Excel giải quyết bài toán này, chúng ta thực hiện các bước sau:

Đầu tiên, lập một bảng tính trong Excel như sau:

- Trong bảng Excel này, đưa vào loại sách, đơn giá, và số lượng tạm thời (để đơn giản, ta để số lượng tạm thời là 1). Tiếp theo, sử dụng hàm nhân để tính thành tiền (= đơn giá x số lượng) và dùng hàm SUM để tính tổng tiền (lưu trong ô D10).

- Bước tiếp theo, tiến hành sử dụng chức năng Solver bằng cách chọn ô tổng tiền (ở đây là ô D10), sau đó chọn menu Tools > Solver. Nếu ta không nhìn thấy menu này có nghĩa là Excel được cài đặt trên máy chưa có chức năng Solver và khi đó phải cài Solver (Xem Cài đặt chức năng Solver ở phần sau). Cửa sổ Solver sẽ hiện ra như sau:

- Như đã nói ở trên, chúng ta phải chọn Target Cell để thiết lập giá trị tối đa hay tối thiểu mà

mình có. Trong ví dụ này là số tiền tối đa mà chủ cửa hàng dự định sẽ dùng để mua sách

61

Page 60: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

(ở đây là ô D10, tổng tiền). Trên cửa sổ các tham số của Solver, ở vùng ràng buộc “Equal To”, chọn từng ràng buộc mà người dùng mong muốn là Max (giá trị lớn nhất), Min (giá trị nhỏ nhất) hay Value of (giá trị bằng) bằng cách click chuột vào từng ô lựa chọn tương ứng. Trong ví dụ này chúng ta lựa chọn Value of và điền vào số tiền có là 1.000.000. Để ý rằng giá trị trong ô Set Target Cell phải là $D$10 (nếu click chọn ô này trước khi chọn chức năng Solver thì Excel sẽ tự động điền giá trị này vào, nếu không phải tự gõ, hoặc click chuột vào ô Set Target Cell, sau đó click chọn ô D10, giá trị sẽ được đưa vào).

- Trên vùng lựa chọn các ô sẽ được Excel thay đổi, “By Changing Cells”, lựa chọn các ô mà mình mong muốn có sự thay đổi để đạt được kết quả mong đợi. Trong ví dụ này, chọn các ô về số quyển sách - các ô từ C6 đến C8. Để làm việc này, có thể gõ trực tiếp giá trị $C$6:$C$8 vào ô By Changing Cells, hoặc click chuột vào ô đó, sau đó dùng chuột để kéo chọn vùng các ô từ C6 đến C8.

Lưu ý: Nếu không biết chắc những ô nào cần lựa chọn, click vào nút lệnh “Guest” (đoán), khi đó Excel sẽ giúp chúng ta lựa chọn các ô này dựa trên bảng tính vừa tạo ra.

- Trên vùng “Subject to the Contraints”, click chuột vào nút lệnh “Add” để mở hộp thoại

“Add Contraints”, cho phép đưa vào các ràng buộc.

62

Page 61: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Trên hộp thoại Add Constraint, trong ô “Cell Reference”, lựa chọn ô mà các ràng buộc sẽ áp dụng lên nó. Hộp chọn đẩy xuống ở bên cạnh sẽ cho phép lựa chọn toán tử so sánh và ô “Contraint” sẽ cho phép điền vào giá trị mong muốn. Cụ thể ở ví dụ đang xét, ta mong muốn là tổng số tiền bỏ ra mua sách không vượt quá 1 triệu, do đó đưa vào các giá trị sau:

o Cell Reference: Ô tổng số tiền - D10

o Toán tử lựa chọn là: bằng (=).

o Contraint: 1.000.000 (số tiền sẽ đầu tư mua sách)

Lưu ý: Để đưa vào giá trị cho ô Cell Reference, ta cũng làm các cách như trên, tức là gõ trực tiếp hoặc click chuột vào ô cần chọn.

- Tiếp tục bấm “Add” để đưa thêm ràng buộc khác, như số sách Toán (ô C6) lớn hơn hoặc bằng (>=) 80, số sách Vật lý (ô C7) >=60, số sách Hóa học (ô C8) >=60.

- Ngoài ra, cần có thêm 1 ràng buộc nữa, đó là số quyển sách mỗi loại phải là số nguyên. Nếu không đưa vào ràng buộc này, theo lựa chọn mặc định, Excel sẽ có thể cho phép giá trị các ô đó là các số không phải số nguyên, và đó là điều chúng ta không muốn. Với ví dụ đang xét, ta mong muốn Số quyển phải là số nguyên, tức là các ô từ C6 đến C8 phải là số nguyên. Khi đó, chọn Add để thêm 1 ràng buộc và trong phần “Cell Reference” chọn các ô từ C6 đến C8. Trong phần lựa chọn toán tử, lựa chọn “int”. Khi đó bên ô “Constraints” sẽ tự động xuất hiện giá trị “integer”. Điều này có nghĩa là Excel sẽ tính toán để các ô từ C6 đến C8 sẽ phải có giá trị là các số nguyên.

- Sau khi đưa vào hết các ràng buộc, đến ràng buộc cuối cùng, bấm “OK” để kết thúc và đóng lại cửa sổ này. Cửa sổ Solver khi đó như sau:

63

Page 62: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Trong ô Subject to the Contraints, Excel liệt kê ra các ràng buộc cho bài toán như trong

hình vẽ trên. Để tiếp tục thêm ràng buộc, chọn Add. Để thay đổi hoặc xóa 1 ràng buộc, chọn ràng buộc đó và chọn Change hoặc Delete.

- Khi đã thiết lập xong các tham số, click chuột vào nút lệnh “Solve”. Sau 1 khoảng thời gian ngắn đợi Excel xử lý số liệu, bạn sẽ nhận được một hộp thoại thông báo như sau:

- Hộp thoại trên có nghĩa là Excel đã phân tích dữ liệu, tính toán và tìm được 1 giải pháp

cho bài toán. Excel yêu cầu chọn một trong 2 lựa chọn là “Keep Solver Solution” để sử dụng giải pháp mà chức năng Solver của Excel cung cấp hay “Restore Original Values” để quay lại các giá trị ban đầu trước khi sử dụng Solver. Trong ví dụ của mình, chúng ta sử dụng lựa chọn thứ nhất và bấm OK. Khi đó Excel sẽ tính toán và cho kết quả như sau:

Như chúng ta thấy, trong giải pháp đưa ra, Excel tính ra rằng trong bài toán trên, chủ cửa

hàng có thể mua 84 quyển sách Toán, 72 quyển sách Vật lý, và 64 quyển sách Hóa học.

Cài đặt chức năng Solver

Để cài đặt chức năng Solver trong Excel, thực hiện các bước sau:

64

Page 63: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Chọn menu Tools > Add-Ins, cửa sổ sau sẽ hiện ra:

Trong hộp thoại hiện ra, nếu chức năng Solver chưa được cài đặt trong Excel thì lựa chọn Solver Add-in sẽ không được chọn (ngược lại chức năng Solver đã được cài đăt).

- Để cài đặt Solver, click chuột vào hộp chọn “Solver Add-in” và bấm OK. Excel sẽ tiến hành cài đặt chức năng Solver.

3.7 BẢNG PIVOT

3.7.1 Khái niệm bảng Pivot

Bảng Pivot - Pivot table - là một bảng làm việc có tương tác được sử dụng để tổng kết, thống kê và phân tích số liệu dựa trên một nguồn dữ liệu có sẵn nào đó. Khi sử dụng bảng Pivot, dữ liệu ban đầu vẫn được giữ nguyên không bị thay đổi gì.

3.7.2 Tạo và sử dụng bảng Pivot

Bảng Pivot có thể được tạo từ các nguồn dữ liệu khác nhau như:

- Dữ liệu từ chính bảng tính Excel.

- Dữ liệu từ Cơ sở dữ liệu bên ngoài.

- Các đoạn dữ liệu được hợp nhất trong Excel.

- Một bảng Pivot khác trong cùng một trang làm việc.

Để tiện cho bạn đọc tìm hiểu về bảng Pivot và các tính năng ưu việt của nó trong việc tổng kết, thống kê và phân tích số liệu, chúng ta xem xét một ví dụ cụ thể như sau:

Xét một bảng tính với dữ liệu là các cuộc gọi điện thoại từ nước ngoài về Việt Nam. Dữ liệu cuộc gọi về Việt nam được chia ra theo ngày, theo tỉnh và các mạng di động trong nước. Cụ thể như sau:

65

Page 64: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Bây giờ chúng ta có 1 yêu cầu: Tôi muốn có 1 báo cáo, trong đó thống kê theo ngày, theo tỉnh xem mỗi ngày có bao nhiêu cuộc gọi, bao nhiêu phút gọi về các tỉnh. Để làm được báo cáo này sử dụng chức năng Pivot table của Excel, ta thực hiện các bước như sau:

- Lựa chọn 1 ô bất kỳ trong vùng dữ liệu bằng cách click chuột vào ô.

- Từ menu hệ thống, chọn Data > Pivot Table and PivotChart Report.

- Excel sẽ mở 1 hộp thoại cho phép chọn nguồn dữ liệu để lập bảng pivot như sau:

- Ở mục lựa chọn nguồn dữ liệu, chọn “Microsoft Office Excel list or Database”. Ở mục

loại báo cáo, lựa chọn “Pivot table” rồi bấm “Next” để tiếp tục.

66

Page 65: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Excel sẽ mở hộp thoại cho phép đưa vào vùng dữ liệu mà ta muốn Excel tạo bảng Pivot. Nếu ở bước 1 ta đã chọn 1 ô bất kỳ trong vùng dữ liệu, khi đó Excel sẽ lựa chọn cả vùng dữ liệu thay cho ta.

- Nếu thấy vùng dữ liệu mà Excel lựa chọn đúng là vùng dữ liệu dự định làm thì bấm Next.

Ngược lại, có thể sửa đổi lại vùng dữ liệu bằng cách bấm chọn (bôi đen vùng dữ liệu) trên bảng tính. Sau khi bấm Next, Excel sẽ mở một hộp thoại để lựa chọn bước tiếp theo sẽ làm:

- Đến đây, Excel ngầm định sẽ tạo ra một bảng tính mới để lưu trữ bảng pivot mà ta đang định tạo. Nếu muốn bảng Pivot được ghi vào đúng nơi mà dữ liệu nguồn đang được lưu trữ thì có thể chọn “Existing worksheet”. Tiếp theo, có thể chọn Finish để kết thúc quá trình tạo bảng Pivot. Khi đó Excel sẽ tạo một bảng Pivot mà chưa có dữ liệu như sau:

- Nếu chọn theo cách này, Excel sẽ tạo một bảng Pivot trống và ta phải “kéo” và “thả” các

trường dữ liệu trong “Pivot table field list” sang bảng Pivot trống ở bên để tạo ra bảng Pivot mình mong muốn. Chúng ta sẽ nói kỹ hơn cách “kéo” và “thả” như thế nào để tạo ra bảng Pivot mong muốn.

67

Page 66: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

- Nếu không chọn Finish ngay mà chọn “Layout”, Excel sẽ mở ra một hộp thoại cho phép lựa chọn cách thức trình bày dữ liệu trên bảng Pivot. Hộp thoại này như sau:

- Hộp thoại này thực chất cũng giống như một bảng Pivot trống để chúng ta lựa chọn cách

trình bày. Bây giờ chúng ta sẽ xét chi tiết từng vùng trong bảng Pivot:

o Phía bên trái là vùng các dòng dữ liệu “Row”. Đây là vùng chứa các “cột” mà chúng ta muốn báo cáo theo. Ở ví dụ này, chúng ta muốn có báo cáo theo ngày và theo vùng gọi đến, do đó kéo cột dữ liệu “Ngày” và “Vùng gọi đến” rồi thả vào vùng “Row”

o Tiếp theo là vùng Data. Đây chính là vùng cần tính toán. Ở ví dụ này, chúng ta muốn

biết có bao nhiêu cuộc gọi về từng tỉnh, theo từng ngày và có bao nhiêu phút gọi. Với tổng số phút gọi, kéo cột Thời gian vào vùng “Data”. Excel sẽ tự động tính toán và tạo ra một cột dữ liệu có tên là “Sum of Thời gian liên lạc”. Để có được tổng số cuộc, ta để ý: Mỗi dòng trên bảng dữ liệu ban đầu chính là 1 cuộc gọi, do đó có thể kéo bất kỳ cột nào ở 3 cột trên vào vùng dữ liệu. Ví dụ chọn cột “Ngày”. Excel sẽ tự động tạo ra một cột có tên là “Count of Ngày”.

68

Page 67: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

o Đến đây chúng ta có thể kết thúc và bấm OK để Excel thực hiện tính toán và cho kết

quả mong đợi. Tuy nhiên, để báo cáo được rõ ràng và đẹp hơn, chúng ta có thể đặt lại tên cho các cột ở vùng Data bằng cách nháy đúp chuột vào cột đó. Khi đó, Excel sẽ mở ra hộp thoại cho phép thay đổi thuộc tính của cột dữ liệu như sau:

o Đổi tên của cột “Sum of Thời gian liên lạc” thành “Tổng số phút”, phép toán cần

thực hiện là phép toán Sum (tính tổng) nên không cần thay đổi. Nếu muốn sửa đổi định dạng của số, có thể bấm “Number” để sửa lại định dạng số theo mong muốn.

o Tiếp theo, như đã nói ở trên, mỗi dòng trong vùng dữ liệu ban đầu chính là 1 cuộc

gọi. Do đó, “Count of Ngày” (đếm số ngày) thực chất có thể coi là số cuộc (đếm số

69

Page 68: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

cuộc). Như vậy, thay đổi tên của cột “Count of Ngày” thành “Tổng số cuộc gọi” và phép toán là phép Count (đếm)

o Đến đây, chúng ta có thể kết thúc việc định nghĩa cách trình bày dữ liệu để Excel

tiến hành tạo bảng Pivot. Bấm OK để xác nhận và đóng các cửa sổ lại, bấm Finish để kết thúc. Excel sẽ tạo ra một bảng như sau:

70

Page 69: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Như vậy, chúng ta đã có được một bảng Pivot đáp ứng được các yêu cầu đặt ra là thống kê theo ngày và theo từng tỉnh số lượng cuộc gọi và tổng số phút gọi về. Tuy nhiên, bảng trên vẫn có vẻ “khó nhìn”. Để có một báo cáo rõ ràng và sáng sủa hơn, chúng ta có thể trình bày lại dữ liệu như sau:

Rõ ràng, bảng thứ 2 “dễ”nhìn hơn bảng thứ nhất. Để có được bảng dữ liệu như vậy, có thể làm theo cách sau:

- Từ bảng Pivot ban đầu, click chuột vào ô Data , sau đó giữ chuột và kéo đè sang bên phía cột Total và thả chuột ra. Khi đó, dữ liệu từ dạng “hàng” sẽ được chuyển sang dạng “cột”.

- Để ý trong bảng Pivot, chúng ta thấy dữ liệu được tính toán theo ngày và có tổng con (Sub Total) theo từng ngày. (5/9/2005 Total và 6/9/2005 Total). Nếu không muốn Excel hiển thị các dòng này, có thể làm như sau:

- Nhấp đúp chuột vào cột Ngày (ở biểu tượng ) để mở hộp thoại sau:

71

Page 70: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Ở mục lựa chọn “Subtotals”, thay vì để Automatic (tự động), chọn None (không). Khi đó các dòng tính tổng con sẽ không xuất hiện trong bảng Pivot nữa.

Như vậy, chúng ta đã biết cách tạo một bảng Pivot để tính toán, thông kê và tạo ra các báo cáo tùy theo nhu cầu của công việc. Pivot là một tính năng có thể nói là rất mạnh và hiệu quả của Excel. Trên đây chỉ là một ví dụ rất đơn giản khi chúng ta làm việc với nguồn dữ liệu ban đầu là dữ liệu tĩnh (không có sự thay đổi). Bây giờ, chúng ta sẽ xem xét việc tạo bảng pivot có dữ liệu động (tức là nguồn dữ liệu có thể thay đổi) và cách làm cho bảng Pivot cập nhật lại dữ liệu theo sự thay đổi của dữ liệu nguồn.

Trở lại ví dụ trên, khi chúng ta định nghĩa vùng dữ liệu nguồn để yêu cầu Excel tạo bảng Pivot, chúng ta chỉ ra một vùng dữ liệu cố định (ví dụ từ ô A2 đến ô C100). Tuy nhiên, trong thực tế, với nhiều tình huống, dữ liệu đầu vào tăng lên từng ngày và như thế, những dữ liệu nằm ngoài vùng đã chọn sẽ không được tính toán vào bảng Pivot. Như vậy, báo cáo sẽ không chính xác.

Vì vậy, để dự phòng cho trường hợp dữ liệu tăng lên, có thể đưa vào vùng định nghĩa dữ liệu nguồn một khoảng trống đủ lớn để dù dữ liệu nguồn có tăng thì những dữ liệu mới đó vẫn sẽ được cập nhật trong bảng Pivot.

Quay trở lại với ví dụ ở trên:

Ta thấy nguồn dữ liệu hiện tại gồm có 3 cột và 24 hàng. Nếu chỉ định nghĩa vùng dữ liệu

nguồn là các ô từ A1 đến D24 thì khi có thêm 1 hoặc nhiều hàng dữ liệu cuộc gọi mới, những hàng này sẽ không được cập nhập vào bảng Pivot. Để tránh điều này, ta mở rộng vùng dữ liệu để “đón trước” những dữ liệu mới.

72

Page 71: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Để ý rằng nguồn dữ liệu ở bài toán này chỉ có 3 cột nên nếu dữ liệu có được thêm vào thì nó chỉ tăng số hàng và vì Excel có thể hỗ trợ tối đa 65535 hàng trên một bảng tính. Do đó, khi tạo bảng Pivot, ở bước lựa chọn nguồn dữ liệu ta lưu ý như sau:

Excel sẽ tự động tìm giúp ta nguồn dữ liệu cần tạo bảng Pivot, ở đây là từ A1 đến C24. Vì muốn mở rộng, thay vì C24, chúng ta mở rộng ra thành C65535. Điều này có nghĩa là ta vẫn giữ nguyên số cột là 3 nhưng số dòng là số dòng tối đa mà Excel có thể hỗ trợ. Khi đó sửa đổi bước này thành:

Như vậy, cho dù sau này có thêm, bớt bao nhiêu dòng dữ liệu vào (có thể thêm bằng tay hoặc lấy từ nguồn dữ liệu bên ngoài như MS SQL server …) thì bảng Pivot vẫn có thể tính toán được những dữ liệu mới này bằng cách sau:

Trong bảng Pivot, click chuột phải và chọn “Refresh data” trong menu đẩy xuống (hoặc vào menu Data > Refresh data) để Excel tính toán lại và đưa ra các báo cáo mới với dữ liệu được sửa đổi.

73

Page 72: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

TÓM TẮT PHẦN 1

Các kiến thức cần nhớ trong Phần 1:

Các chức năng nâng cao trong Excel:

- Chức năng tạo và sử dụng các tệp mẫu

- Macro: Khái niệm, tạo và sử dụng Macro, gán Macro cho phím nóng, nút lệnh ..

- Tạo các chú thích cho dữ liệu, thẩm định dữ liệu nhập, bảo mật bảng tính bằng mật khẩu, bảo vệ bảng tính, bảo vệ sheet và các ô dữ liệu.

Sử dụng các hàm nâng cao trong Excel:

- Sử dụng hàm IF, hàm IF lồng nhau, hàm COUNTIF …

- Các hàm tìm kiếm và tham chiếu dữ liệu VLOOKUP, HLOOKUP …

- Các hàm xâu ký tự

- Các hàm tài chính FV, PV, PMT

Sử dụng các công cụ phân tích dữ liệu:

- Công cụ lọc dữ liệu

- Chức năng Data table, chức năng Goal seek, Solver …

- Tạo và sử dụng bảng Pivot

74

Page 73: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

BÀI TẬP TỔNG HỢP

SỬ DỤNG CÁC CÔNG CỤ NÂNG CAO

Bài 1:

Tạo một tệp mẫu cho bảng chấm công như sau:

Trong tệp mẫu này, hãy đưa vào tên các nhân viên trong cơ quan bạn, mỗi người 1 dòng. Thực hiện các thao tác định dạng theo ý muốn, sau đó ghi lại dưới dạng tệp mẫu với tên bangchamcong.xlt. Khi đó, mỗi khi cần chấm công cho tháng mới, bạn mở tệp mẫu này, thực hiện các thao tác chấm công và tính toán, sau đó ghi lại với 1 tên mới, ví dụ bangchamcongthang01.xls

Bài 2:

Tạo một Macro để in 1 trang đầu tiên trong bảng chấm công của bạn. Macro sẽ được thực hiện bởi phím nóng Ctrl + i. Ngoài ra, tạo thêm 1 nút lệnh và gán nút lệnh đó cho Macro vừa tạo. Khi người dùng bấm Ctrl + i hoặc bấm vào nút lệnh trên, Excel sẽ thực hiện Macro trên và in ra trang đầu tiên của bảng chấm công.

Hướng dẫn:

Thực hiện các bước tạo Macro như hướng dẫn trong tài liệu. Trong phần thực hiện các lệnh khi đang ghi Macro, thực hiện thao tác in bằng cách chọn File > Print. Chọn trang in (Pages) từ (From) 1 đến (To) 1 rồi nhấn OK. Ghi lại Macro này và gán cho nút lệnh.

75

Page 74: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Bài 3:

Tạo một bảng danh sách kết quả học tập của lớp. Danh sách gồm có Họ tên, điểm trung bình. Tạo một Macro thực hiện sắp xếp theo điểm trung bình từ cao đến thấp. Gán Macro này cho 1 nút lệnh có tên Sắp xếp theo điểm và phím nóng Ctrl + d. Tiếp theo tạo 1 Macro nữa dùng để thực hiện việc sắp xếp theo Họ tên (alphabe). Cũng gán Macro này cho 1 nút lệnh khác có tên Sắp xếp theo họ tên và gán phím nóng Ctrl + t.

Hướng dẫn:

Thực hiện các bước tạo Macro như hướng dẫn trong tài liệu. Trong phần thực hiện các lệnh khi đang ghi Macro, thực hiện thao tác sắp xếp bằng cách sử dụng công cụ sắp xếp dữ liệu của Excel (chọn menu Data > Sort). Thực hiện xong, ghi lại Macro này và gán cho nút lệnh tương ứng.

Bài 4:

Với bảng chấm công như Bài 1, 2, thực hiện các thao tác sau:

(1) Thêm chú thích dữ liệu cho ô Tổng số ngày công như sau: Tổng số ngày làm việc đủ 8 tiếng trong tháng.

(2) Thiết giới hạn dữ liệu nhập cho mỗi ô ngày công là ký tự “x”. Hiện thông báo nhắc “Gõ x nếu ngày công được chấm, để trống nếu ngược lại”. Hiện thông báo lỗi “Bạn phải nhập x hoặc để trống”.

(3) Thiết lập các bảo mật cho bảng chấm công: Đặt mật khẩu mở bảng, sửa bảng. Đặt mật khẩu bảo vệ các sheet và các ô chấm công.

76

Page 75: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Hướng dẫn:

Xem phần hướng dẫn tạo chú thích trong tài liệu để thực hiện việc thêm chú thích.

Để tạo giới hạn dữ liệu nhập cho các ô chấm công là “x”, xem phần Thẩm định dữ liệu nhập trong tài liệu. Thực hiện thẩm định giá trị cho các ô chấm công theo giới hạn giá trị kiểu danh sách (List). Trong danh sách giá trị, gõ x.

SỬ DỤNG CÁC HÀM NÂNG CAO

Bài 1: Bài toán tính điểm thi đại học và đưa ra kết quả

Giả sử ta có bảng Excel như sau:

Yêu cầu

- Tính Điểm tổng theo công thức: Điểm tổng bằng điểm toán + điểm lý + điểm hóa.

- Tính kết quả theo công thức: Nếu điểm tổng >= điểm chuẩn: Đỗ. Ngược lại: Không đỗ

Hướng dẫn giải

- Tính điểm tổng: Áp dụng công thức sau cho ô E6: SUM(B6:D6)

Áp dụng tương tự cho các ô còn lại

- Tính kết quả:

Để tính kểt quả xếp loại, ta áp dụng công thức sử dụng hàm IF:

Công thức cho ô F6 như sau: IF(E6>=18,"Đỗ",”Không đỗ”)

Áp dụng công thức tương tự cho các ô còn lại trong cột 77

Page 76: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Bài 2: Bài toán tính điểm trung bình học kỳ và xếp loại học tập

Giả sử ta có bảng Excel như sau:

Yêu cầu

- Tính Điểm TB theo công thức: Điểm TB bằng tổng điểm từng môn nhân với số đơn vị học trình môn đó, chia cho tổng số đơn vị học trình. Điểm từng môn và số đơn vị học trình của môn đã được cho trong bảng Excel trên.

- Tính kết quả xếp loại theo công thức:

o Nếu điểm TB >=9.0: Xuất sắc

o Nếu điểm TB >=8.0: Giỏi

o Nếu điểm TB >=6.5: Khá

o Nếu điểm TB >=5.0: Trung bình

o Nếu điểm TB <5.0: Yếu

Hướng dẫn giải

- Tính điểm TB:

Áp dụng công thức sau cho ô F5: SUM(B5*2+C5*5+D5*4+E5*4)/15

Áp dụng công thức tương tự cho các ô còn lại trong cột.

- Tính kết quả xếp loại:

Để tính kểt quả xếp loại, ta áp dụng công thức sử dụng hàm IF lồng nhau.

Nếu Điểm TB>=9.0: Thì xếp loại xuất sắc, Nếu không: Nếu Điểm TB >=8.0: Thì xếp loại Giỏi, Nếu không: ….

Công thức như sau:

IF(F5>=9,"Xuất sắc", IF(F5>=8,"Giỏi", IF(F5>=6.5,"Khá", IF(F5>=5, "Trung bình","Yếu"))))

Áp dụng công thức tương tự cho các ô còn lại trong cột. 78

Page 77: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Bài 3: Bài toán tính bảng chấm công

Quay trở lại bảng chấm công trong Bài 1, 2 phần 1.

Yêu cầu của bài toán là lập công thức tính tổng số ngày công 1 cách tự động từ các ô ngày công.

Hướng dẫn giải:

Cách đơn giản và thủ công nhất là đếm số x của mỗi nhân viên và điền số lượng vào ô tổng số ngày công. Tuy nhiên, có thể dùng cách hiệu quả, chính xác, và nhanh chóng đó là sử dụng hàm COUNTIF.

Công thức cho ô AG5 là như sau: COUNTIF (A5:AF5,”x”)

(Đếm số ô x từ A5 đến AF5)

Áp dụng công thức tương tự cho các ô còn lại.

Bài 4: Bài toán xếp loại học tập có xét tới giới hạn điểm thấp nhất

Quay trở lại bài toán tính điểm trung bình học kỳ và xếp loại học tập ở bài 2.

Trong bài toán mới, ta thêm yêu cầu về cách tính kết quả xếp loại học tập, trong đó có giới

hạn về điểm thấp nhất như sau:

o Nếu điểm TB >=9.0 và không có điểm dưới 7.5: Xuất sắc

o Nếu điểm TB >=8.0 và không có điểm dưới 6.5: Giỏi

79o Nếu điểm TB >=6.5 và không có điểm dưới 5: Khá

Page 78: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

o Nếu điểm TB >=5.0: Trung bình

o Nếu điểm TB <5.0: Yếu

Hướng dẫn giải:

Để xác định yêu cầu về việc có điểm dưới 1 giới hạn nào đó hay không, ta có thể dùng hàm MIN. Ví dụ để xác định xem Nguyễn Văn An có điểm dưới 7.5 không, ta có thể sử dụng phép so sánh MIN(B5:E5) và 7.5

Theo yêu cầu của bài toán, giá trị của ô Kết quả không chỉ phụ thuộc vào Điểm trung bình mà còn phụ thuộc vào giới hạn của điểm thấp nhất. Do vậy, điều kiện trong câu lệnh IF là điều kiện kết hợp. Ta dùng toán tử AND để kết hợp các điều kiện.

Công thức cho ô kết quả như sau:

=IF(AND(F5>=9,MIN(B5:E5)>=7.5),"Xuất sắc", IF(AND(F5>=8,MIN(B5:E5) >=6.5),"Giỏi",IF(AND(F5>=6.5,MIN(B5:E5)>=5),"Khá", IF(F5>=5, "Trung bình","Yếu"))))

Bài 5: Bài toán tính bảng lương

Giả sử ta có bảng lương như sau:

Yêu cầu:

- Tính Hệ số trách nhiệm theo quy tắc:

o Nếu là TP (trưởng phòng): Hệ số 1.5

o Nếu là PP (phó phòng): Hệ số 1.3

o Nếu là NV (nhân viên) có chữ cái đầu Mã NV là A: Hệ số 1.1

o Còn lại: Hệ số 1.0

- Tính lương cơ bản theo quy tắc: Hệ số * 350,000

- Tính Bảo hiểm theo quy tắc: LCB * 10%

- Tiền lĩnh tính theo quy tắc: (LCB – Bảo hiểm) * HS Trách nhiệm

80

Page 79: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Hướng dẫn giải:

Để tính Hệ số trách nhiệm, sử dụng hàm IF lồng nhau. Trong điều kiện của hàm IF, chủ yếu so sánh giá trị ô Hệ số trách nhiệm. Để lấy chữ cái đầu của Mã NV, sử dụng hàm LEFT. Các yêu cầu khác, sử dụng các hàm cơ bản của Excel.

Bài 6: Bài toán tính tiền điện thoại

Cho bảng thanh toán cước điện thoại như sau:

Trong bảng tính tiền điện thoại có các thông tin về Thời gian gọi (phút) và nơi gọi đến (Tên tỉnh/TP). Bảng cước điện thoại cho biết giá cước gọi về các tỉnh/TP là bao nhiêu VNĐ/phút.

Yêu cầu:

Từ bảng tính tiền điện thoại, tham chiếu sang bảng giá cước để lấy đơn giá cước/phút dựa vào Nơi gọi đến. Thành tiền tính bằng giá cước nhân với thời gian gọi.

Hướng dẫn giải:

Để giải quyết bài toán này, ta có thể sử dụng hàm VLOOKUP để tham chiếu dữ liệu.

Ví dụ, để tính giá trị ô D5, ta cần tham chiếu giá trị ô C5 ở bên Bảng giá cước. Khoảng tìm kiếm của ta là vùng chứa bảng giá cước F5:G19, cột tìm kiếm là cột 2.

Áp dụng công thức tương tự cho các ô còn lại của cột Thành tiền.

81

Page 80: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

SỬ DỤNG CÁC CÔNG CỤ NÂNG CAO

Bài 1: Lọc dữ liệu

Với bài toán tính tổng con đã xem xét ở trên, hãy thực hiện lọc dữ liệu theo Bộ phận. Mỗi khi chọn 1 Bộ phận, chỉ hiện ra các dữ liệu của Bộ phận đó (Doanh số bán của các nhân viên thuộc bộ phận).

Bài 2: Sắp xếp và tính tổng con

Giả sử danh sách thí sinh đăng ký xét tuyển vào hệ đại học từ xa của Học viện BCVT được lưu trong 1 bảng Excel như hình vẽ dưới. Hãy sử dụng chức năng sắp xếp và tính tổng con để nhóm và tính xem mỗi tỉnh/TP có bao nhiêu thí sinh tham dự xét tuyển.

Bài 3: Sử dụng data tables

Một công ty sản xuất xe đạp có doanh số bán mỗi tháng là khoản 10.000 chiếc xe. Giá sản xuất 1 chiếc xe là 250.000 VNĐ. Giá bán 1 chiếc xe là 400.000 VNĐ. Công ty muốn lập phương án kinh doanh mới. Theo phương án này, sẽ giảm giá bán xe, và qua đó tăng số lượng người mua xe. Giá xe có thể giảm từ 400.000 VNĐ xuống còn 380.000 VNĐ, 360.000 VNĐ, 350.000 VNĐ, 330.000 VNĐ, 300.000VNĐ. Dự kiến số lượng người mua xe sẽ tăng từ 10.000 chiếc/ tháng lên 11.000, 12.000, 13.000, 14.000 chiếc/tháng.

82

Page 81: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Hãy sử dụng bảng dữ liệu 2 tham số để lập phương án kinh doanh theo các số liệu trên. Biết rằng mỗi tháng công ty phải trả chi phí (lương nhân công, máy móc, …) là khoảng 1 tỷ VNĐ.

83

Page 82: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

BÀI TẬP TRẮC NGHIỆM

Câu 1: Chức năng tạo tệp mẫu (template) của Excel dùng để:

□ Tạo các tệp có hình thức đẹp

□ Tạo các tệp có kích thước lớn

□ Tạo các tệp chứa các định dạng, trình bày dữ liệu … dùng để tái sử dụng nhiều lần

□ Tạo các tệp có thể chứa các ký tự đặc biệt

Câu 2: Tệp mẫu trong Excel có phần mở rộng là:

□ xlt

□ xls

□ xlm

□ xla

Câu 3: Thao tác nào phải làm khi tạo 1 tệp mẫu:

□ Ghi lại file vừa tạo dưới dạng 1 tệp mẫu

□ Mở 1 file bảng tính đã có

□ Đặt đường dẫn đúng cho file vừa tạo

□ Trình bày file thật đẹp

Câu 4: Thao tác nào không phải làm khi tạo mới 1 tệp mẫu:

□ Tạo mới 1 file Excel

□ Ghi lại file vừa tạo dưới dạng 1 tệp mẫu

□ Thay đổi các định dạng, trình bày dữ liệu, … như mong muốn

□ Xem các tệp mẫu đã tạo

Câu 5: Để ghi lại 1 file dưới dạng 1 tệp mẫu, thực hiện:

□ Chọn Save As, trong hộp File name gõ template

□ Chọn Save As, trong hộp Save as type chọn Normal

□ Chọn Save As, trong hộp Save as type chọn Tenplate

□ Chọn Save

Câu 6: Mặc định, Excel sẽ ghi các tệp mẫu vào:

□ Vào thư mục Templates

84 □ Vào thư mục Temp

Page 83: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

□ Cửa sổ Desktop

□ Thư mục MS Office

Câu 7: Để sử dụng các tệp mẫu, thực hiện:

□ Chọn File >New, chọn Templates on My Computer, rồi chọn tệp mẫu mong muốn

□ Chọn File > New, chọn Blank workbook

□ Chọn File > New, chọn From existing workbook

□ Chọn File > Save

Câu 8: Sau khi sử dụng các tệp mẫu, thực hiện:

□ Ghi lại dưới 1 file Excel mới

□ Ghi đè lên tệp mẫu cũ

□ Ghi lại dưới dạng tệp mẫu mới

□ Không phải ghi lại

Câu 9: Macro dùng để:

□ Ghi lại các thay đổi mà người dùng đã tạo cho bảng tính

□ Ghi lại các thao tác thực hiện trên bảng tính để sử dụng lại, hoặc thực hiện các lệnh

□ Ghi lại bảng tính với tên mới

□ Thực hiện in ấn

Câu 10: Về bản chất, Macro là:

□ Một tập các lệnh hoặc các thao tác

□ Một ngôn ngữ lập trình

□ Một lệnh duy nhất

□ Là một công cụ trình bày dữ liệu

Câu 11: Macro:

□ Không thể tái sử dụng

□ Chỉ dành cho những chuyên gia về lập trình

□ Có thể tái sử dụng nhiều lần

□ Không phải ghi lại

Câu 12: Để thực hiện tạo 1 Macro đơn giản, chọn:

□ Tools > Macro > Record New Macro

□ File > Macro > Record New Macro

□ Insert > Macro > Record New Macro

□ View > Macro > Record New Macro

85

Page 84: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Câu 13: Công việc cần thiết trong quá trình ghi Macro:

□ Đợi 1 khoảng thời gian nhất định

□ Thực hiện các thao tác cần thiết

□ Thoát khỏi Excel

□ Mở thêm ứng dụng Excel mới

Câu 14: Để ghi lại Macro, chọn:

□ Tools > Macro > Stop Recording

□ File > Macro > Stop Recording

□ Insert > Macro > Stop Recording

□ View > Macro > Stop Recording

Câu 15: Để sử dụng Macro, chọn:

□ Tools > Macro > Macros, chọn Macro từ cửa sổ hiện ra

□ File > Macro > Macros, chọn Macro từ cửa sổ hiện ra

□ Insert > Macro > Macros, chọn Macro từ cửa sổ hiện ra

□ View > Macro > Macros, chọn Macro từ cửa sổ hiện ra

Câu 16: Để gán Macro cho 1 phím nóng, thực hiện:

□ Bấm phím trong quá trình tạo Macro

□ Bấm phím khi chọn ghi Macro

□ Mở cửa sổ Macro, đưa phím nóng vào ô Shortcut key

□ Không thể gán phím nóng cho Macro

Câu 17: Để gán Macro cho 1 nút lệnh, thực hiện:

□ Tạo nút trong khi tạo Macro

□ Tạo nút khi chọn ghi Macro

□ Mở cửa sổ Macro, đưa nút lệnh vào ô Button

□ Mở thanh công cụ Forms, tạo nút lệnh và gán cho Macro

Câu 18: Chức năng tạo chú thích cho dữ liệu dùng để:

□ Giúp trình bày dữ liệu đẹp hơn

□ Bảo vệ dữ liệu

□ Đưa vào các giải thích chi tiết hơn cho dữ liệu

□ Ẩn đi các dữ liệu quan trọng

Câu 19: Để tạo chú thích, chọn:

□ View > Comments

86

Page 85: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

□ Insert > Comments

□ Format > Comments

□ File > Comments

Câu 20: Để xem chú thích, thực hiện:

□ Chọn Insert > Comments

□ Chọn Tools > Comment > Comments, chọn Comment trên cửa sổ hiện ra

□ Di chuột vào ô hoặc chọn View Comments

□ Không xem được chú thích

Câu 21: Chức năng thẩm định dữ liệu nhập dùng để:

□ Che giấu dữ liệu

□ Làm cho dữ liệu rõ ràng hơn

□ Đồng nhất font chữ

□ Kiểm tra xem dữ liệu nhập có thỏa mãn ràng buộc không

Câu 22: Chức năng thẩm định dữ liệu nhập rất hữu ích khi:

□ Khi muốn bảo mật dữ liệu

□ Cần phải làm việc với nhiều dữ liệu quan trọng, cần có độ chính xác cao

□ Làm việc với dữ liệu ký tự

□ Dữ liệu là các số rất lớn

Câu 23: Để thiêt lập chức năng thẩm định dữ liệu nhập, thực hiện:

□ Insert > Data Validation, rồi đưa vào các ràng buộc

□ View > Data Validation, rồi đưa vào các ràng buộc

□ Tools > Data Validation, rồi đưa vào các ràng buộc

□ Data > Validation, rồi đưa vào các ràng buộc

Câu 24: Loại dữ liệu nào không được Excel hỗ trợ sẵn khi thiết lập thẩm định:

□ Số

□ Ngày tháng

□ Tiền tệ

□ Danh sách các giá trị

Câu 25: Toán tử nào không được Excel hỗ trợ sẵn khi thiết lập thẩm định trên dữ liệu:

□ Lớn hơn

□ Bắt đầu bằng

□ Nhỏ hơn

87

□ Nhỏ hơn hoặc bằng

Page 86: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Câu 26: Khi người dùng nhập dữ liệu sai so với quy tắc thẩm định thì:

□ Excel tự động thoát

□ Excel hiện ra thông báo nhắc nhở và yêu cầu nhập lại

□ Excel hiện ra thông báo nhắc nhở và tiếp tục quá trình

□ Excel tự điều chỉnh dữ liệu

Câu 27: Đâu không phải là biện pháp bảo mật trong Excel:

□ Bảo vệ bằng mật khẩu

□ Bảo vệ bảng tính

□ Bảo vệ các ô dữ liệu

□ Bảo vệ các menu trong Excel

Câu 28: Các mức bảo vệ bằng mật khẩu cho bảng tính Excel :

□ Mật khẩu đọc bảng tính, sửa bảng tính, xóa bảng tính

□ Mật khẩu đọc bảng tính, sửa bảng tính

□ Mật khẩu xóa bảng tính, sửa bảng tính

□ Mật khẩu sử dụng bảng tính

Câu 29: Để thiết lập bảo vệ bằng mật khẩu cho bảng tính, thực hiện:

□ Chọn File > Save As, trên cửa sổ hiện ra chọn Tools > General Options và đưa vào mật khẩu

□ Chọn Tools > Protection > Password, đưa vào mật khẩu

□ Chọn File > Protection > Password, đưa vào mật khẩu

□ Chọn Protection > Password, đưa vào mật khẩu

Câu 30: Để thiết lập chức năng bảo vệ bảng tính, thực hiện:

□ Chọn File > Save As, trên cửa sổ hiện ra chọn Tools > Protect Workbook

□ Chọn Tools > Protection > Protect Workbook

□ Chọn File > Protection > Protect Workbook

□ Chọn Protection > Protect Workbook

Câu 31: Để thiết lập chức năng bảo vệ các sheet, thực hiện:

□ Chọn File > Save As, trên cửa sổ hiện ra chọn Tools > Protect Sheet

□ Chọn Tools > Protection > Protect Sheet

□ Chọn File > Protection > Protect Sheet

88 □ Chọn Protection > Protect Sheet

Page 87: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Câu 32: Hàm IF trong Excel dùng để:

□ Thực hiện việc kiểm tra điều kiện logic, trả lại kết quả đúng sai

□ Thực hiện việc kiểm tra dữ liệu nhập

□ Thực hiện việc kiểm tra điều kiện logic, trả lại các kết quả tương ứng.

□ Thực hiện việc kiểm tra điều kiện logic, thông báo kết quả.

Câu 33 Cú pháp của hàm IF:

□ IF(<Biểu thức logic>, <Giá trị trả về nếu đúng>, <Giá trị trả về nếu sai>)

□ IF(<Biểu thức logic>)

□ IF(<Biểu thức logic>, <Giá trị trả về>)

□ IF(<Biểu thức logic>, <Giá trị trả về nếu sai>, <Giá trị trả về nếu đúng>)

Câu 34 Hàm IF nào đúng cú pháp:

□ IF(D4 >10,”Thỏa mãn điều kiện”)

□ IF(Soluong>10, “Thỏa mãn điều kiện” )

□ IF(SUM(D2:D4)>10, “Thỏa mãn điều kiện”, “Không thỏa mãn”)

□ IF Soluong> 10 THEN “Thoả mãn điều kiện”

Câu 35 Hàm IF lồng nhau cho phép:

□ Thực hiện được phép kiểm tra nhiều điều kiện

□ Làm việc với dữ liệu lớn

□ Cho phép kiểm tra và kết quả chia làm nhiều nhánh

□ Thực hiện các phép kiểm tra phức tạp

Câu 36 Câu nào đúng khi sử dụng hàm IF lồng nhau:

□ Kết quả trả về của hàm IF này là 1 hàm IF khác

□ Điều kiện của hàm IF này là kết quả của hàm IF khác

□ Điều kiện của hàm IF này là điều kiện của hàm IF khác

□ Các hàm IF lồng nhau được sử dụng khi so sánh các số.

Câu 37 Hàm COUNTIF dùng để:

□ Đếm các bộ dữ liệu có giá trị 0

□ Đếm các bộ dữ liệu có giá trị rỗng

□ Đếm các bộ dữ liệu thỏa mãn 1 điều kiện nào đó

□ Đếm tất cả các bộ dữ liệu

Câu 38 Cú pháp hàm COUNTIF:

□ COUNTIF(<Vùng tìm kiếm>, <Giá trị so sánh>)

89□ COUNTIF(<Vùng tìm kiếm>, <Vùng so sánh>)

Page 88: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

□ COUNTIF(<Vùng tìm kiếm>, <Giá trị trả về>)

□ COUNTIF(<Vùng tìm kiếm>, <Giá trị trả về nếu đúng>)

Câu 39 Hàm COUNTIF nào đúng cú pháp:

□ COUNTIF(D2:D10)

□ COUNTIF(D2:D10, D5=0)

□ COUNTIF(D2:D10, D2=D10)

□ COUNTIF(D2:D10, 10)

Câu 40 Hàm MAX nào sai cú pháp:

□ MAX (D2, D7)

□ MAX (D2:D7)

□ MAX (D2 - D7)

□ MAX (D2:D7, D15, 9)

Câu 41 Hàm AVERAGE dùng để:

□ Tính giá trị nhỏ nhất của vùng dữ liệu

□ Tính giá trị nằm ngoài vùng dữ liệu

□ Tính tổng con

□ Tính giá trị trung bình của vùng dữ liệu

Câu 42 Hàm VLOOKUP (HLOOKUP) dùng để:

□ Tìm kiếm và tham chiếu dữ liệu

□ Lấy giá trị trong từ điển

□ Tham chiếu và so sánh dữ liệu

□ So sánh dữ liệu

Câu 43 Cú pháp hàm VLOOKUP

□ VLOOKUP(<giá trị>,<vùng từ điển>)

□ VLOOKUP(<giá trị>,<bảng tìm kiếm>)

□ VLOOKUP(<giá trị>,<bảng tìm kiếm>,<cột tìm kiếm>,<cách tìm kiếm>)

□ VLOOKUP(<giá trị>,<bảng tìm kiếm>,<cách tìm kiếm>,<vùng từ điển>)

Câu 44 Chức năng lọc dữ liệu cho phép

□ Lọc những dữ liệu bị lỗi

□ Lọc ra các hàng dữ liệu theo 1 điều kiện nào đó

□ Lọc ra các cột dữ liệu theo 1 điều kiện nào đó

□ Lọc các ô dữ liệu

90

Page 89: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

Câu 45 Để lọc dữ liệu thực hiện:

□ View > Data > Filter

□ Data > Filter

□ Insert > Filter

□ Tools > Data Filter

Câu 46 Trong các toán tử lọc dữ liệu, Excel không hỗ trợ sẵn toán tử:

□ Lớn hơn

□ Bắt đầu bằng

□ Nhỏ hơn hoặc bằng

□ Trong danh sách

Câu 47 Chức năng tính tổng con (subtotal) cho phép:

□ Tính các tổng bé

□ Tính tổng của số ít dữ liệu

□ Tính tổng theo các nhóm

□ Tính tổng của các tổng

Câu 48 Để thực hiện tính tổng con, trước hết phải:

□ Sắp xếp dữ liệu

□ Chuẩn hóa dữ liệu

□ Sửa lỗi dữ liệu

□ Thẩm định dữ liệu nhập

Câu 49 Chức năng Goal Seek dùng để:

□ Tìm kiếm các dữ liệu đúng đắn

□ Tìm dữ liệu đầu vào đúng đắn để có kết quả đầu ra mong đợi

□ Tìm các đầu ra đúng đắn đối với các kết quả đầu vào cho trước

□ Tìm các quá trình xử lý dũ liệu đúng đắn

Câu 50 Chức năng Data tables cho phép:

□ Lập các bảng

□ Tính toán và so sánh các kết quả đầu ra của các giá trị đầu vào khác nhau

□ Tính toán và so sánh các kết quả đầu vào khác nhau

□ Tính toán và so sánh quá trình xử lý dữ liệu

Câu 51 Để sử dụng chức năng Data table, thực hiện:

□ Tools > Data Table

91

Page 90: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 1: Sử dụng Excel trong quản lý

□ Insert > Data > Table

□ Data > Table

□ Table > Data

Câu 52 Có thể hiểu ý nghĩa của chức năng Solver là:

□ Cho phép giải quyết các bài toán có nhiều dữ liệu

□ Cho phép đưa ra các giải pháp tối ưu cho 1 bài toán có nhiều ràng buộc

□ Cho phép đưa ra các giải pháp tạm thời nhưng nhanh chóng cho 1 bài toán

□ Cho phép tính toán ngược

Câu 53 Khái niệm Adjustable Cell trong Solver:

□ Là các ô có thể thay đổi giá trị để tìm ra giải pháp

□ Là các ô được điều chỉnh lên giá trị tối đa

□ Là các ô được điều chỉnh lên giá trị tối thiểu

□ Là các ô điều chỉnh ở mức trung bình

Câu 54 Khái niệm bảng Pivot:

□ Là bảng được tạo ra từ các dữ liệu sẵn có, dùng để thống kê, tổng kết, phân tích số liệu

□ Là bảng chứa các dữ liệu đầu ra của các bộ dữ liệu đầu vào khác nhau với mục đích so sánh.

□ Là bảng chứa các dữ liệu đầu ra của các bộ dữ liệu đầu vào khác nhau với mục đích lưu trữ.

□ Là bảng dữ liệu chứa các dữ liệu gốc.

Câu 55 Khi sử dụng bảng Pivot:

□ Dữ liệu mới thay thế dữ liệu gốc.

□ Dữ liệu gốc được giữ nguyên.

□ Dữ liệu gốc lẫn với kết quả phân tích.

□ Dữ liệu gốc được điều chỉnh theo kết quả phân tích.

92

Page 91: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

PHẦN 2

SỬ DỤNG ACCESS TRONG QUẢN LÝ

GIỚI THIỆU

Như đã nói ở trên, Excel là một công cụ rất mạnh của Microsoft trong việc giải quyết các bài toán quản lý, cần đến các khả năng tính toán đa dạng. Tuy nhiên, nhược điểm của Excel là không giải quyết được các bài toán cần phải quản lý nhiều dữ liệu và cần đến khả năng lập trình mạnh. Để giải quyết vấn đề này, Microsoft cung cấp một công cụ là Access, giúp cho việc quản trị các hệ cơ sở dữ liệu được thực hiện dễ dàng và nhanh chóng.

Phần 2 giới thiệu với bạn đọc việc sử dụng Access trong công tác quản lý. Cụ thể hơn, đó là việc sử dụng Access để quản lý các cơ sở dữ liệu, bao gồm các công việc như tạo các bảng dữ liệu, thiết lập quan hệ giữa các bảng, tạo các truy vấn, các form nhập liệu, và cuối cùng là tạo các báo cáo thống kê. Thực chất, Access không phải là một hệ quản trị CSDL quy mô lớn, nhưng cũng khá mạnh, cả về khía cạnh lập trình và quản lý dữ liệu. Việc sử dụng hết các tính năng của Access có thể cho phép tạo ra các ứng dụng tin học chuyên nghiệp thực sự. Ngoài ra, Access cũng là một công cụ được ưa thích của các lập trình viên chuyên nghiệp vì tính tiện lợi, dễ sử dụng. Tuy nhiên, cuốn tài liệu được biên soạn chủ yếu dành cho cán bộ, sinh viên không phải chuyên ngành tin học, do vậy chủ yếu chú trọng vào việc sử dụng các công cụ tạo sẵn của Access để tạo các ứng dụng quản trị dữ liệu không quá phức tạp. Tài liệu cũng không tập trung sâu vào khía cạnh lập trình (tuy nhiên vẫn giới thiệu một số lệnh cơ bản và quan trọng nhất về lập trình VBA và DAO), và không đề cập đến các bài toán có mối quan hệ dữ liệu phức tạp, vì để giải quyết các bài toán này, bạn đọc phải có kiến thức về phân tích thiết kế hệ thống.

Sau khi giới thiệu về các công cụ tạo và quản lý dữ liệu trong Access, phần 2 cũng hướng dẫn bạn đọc thực hiện 2 ví dụ về quản lý dữ liệu, đó là bài toán quản lý nhân sự và quản lý bán hàng (ở mức đơn giản). Trong 2 ví dụ này, ví dụ thứ 2 được coi như 1 bài tập lớn dành cho bạn đọc, với các gợi ý và hướng dẫn ở mức sơ lược.

Mục tiêu

Kết thúc phần này, sinh viên cần: - Nắm được các khái niệm về dữ liệu và CSDL - Nắm được cách tạo 1 CSDL, tạo các bảng dữ liệu, tạo các liên kết dữ liệu, tạo các truy

vấn, form nhập liệu, và các báo cáo thống kê. - Nắm được tổng quan về lập trình VBA và lập trình CSDL sử dụng DAO. - Hiểu và xây dựng được bài toán quản lý nhân sự (mức đơn giản), có khả năng mở rộng

chức năng của bài toán trên. - Thực hiện được bài toán quản lý bán hàng với các yêu cầu như trong tài liệu đã nêu.

93

Page 92: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Cách trình bày của phần này

Phần này được trình bày theo dạng giới thiệu, hướng dẫn sử dụng và minh họa bằng một ví dụ thực tế, cụ thể. Trong phần hướng dẫn thực hiện ví dụ, bài toán được phân tích từ đầu, và các bước để xây dựng 1 ứng dụng quản lý dữ liệu được hướng dẫn thực hiện cụ thể cho tới khi hoàn thành 1 ứng dụng hoàn chỉnh. Ví dụ thứ 2 được hướng dẫn và gợi ý sơ lược các chức năng, phương pháp thực hiện v.v. qua đó bạn đọc có thể tự hoàn chỉnh ví dụ này.

Phần cuối là tóm tắt nội dung chương và các bài tập ôn tập dưới dạng câu hỏi trắc nghiệm hoặc bài tập tự giải.

Phương pháp học

Để học phần này một cách hiệu quả, sinh viên nên học theo cách sau: - Đọc kỹ và hiểu cách giải thích của phần lý thuyết hoặc hướng dẫn. Tìm hiểu ý nghĩa của

phần giải thích lý thuyết này. Cố gắng nắm được các ví dụ minh họa. - Suy nghĩ, tìm cách mở rộng các ví dụ minh họa. Nghĩ ra các ví dụ tương tự để thực hiện. - Phần hướng dẫn thực hiện ví dụ, theo các bước hướng dẫn, đọc kỹ, hiểu và thực hiện trên

máy cho tới bước cuối cùng. Hoàn thành và nghiên cứu việc mở rộng ví dụ. - Đối với bài tập tự giải, đọc gợi ý, hướng dẫn, đồng thời tham khảo phần các phần trên để

hoàn thành ví dụ. - Đọc phần tóm tắt để tổng hợp kiến thức. Làm các bài tập ôn tập, đọc lại, nghiên cứu lại

những phần kiến thức chưa nắm vững.

Yêu cầu của phần này

Để hiểu được các kiến thức trong phần này, bạn đọc cần có kiến thức cơ sở về tin học, một số kiến thức về sử dụng Access căn bản. Ngoài ra, cần có các kiến thức cơ sở về lập trình và quản lý dữ liệu, có kỹ năng phân tích bài toán.

94

Page 93: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

CHƯƠNG 4: CÁC KIẾN THỨC CƠ BẢN VỀ ACCESS

Về bản chất, Access là một hệ quản trị cơ sở dữ liệu (DBMS - Database Management System). Cũng giống như các sản phẩm khác thuộc lĩnh vực này, Access có thể lưu trữ và lấy ra thông tin (thường được gọi là dữ liệu - Data), trình bày các thông tin được yêu cầu và tự động lặp lại các thao tác khác. Với Access, ta có thể lưu trữ thông tin theo định dạng mong muốn, dễ dàng tạo ra các mẫu nhập liệu (input form), đồng thời còn có thể dễ dàng lấy và hiển thị thông tin theo bất kỳ kiểu gì mong muốn thông qua các báo cáo.

Access được coi là một ứng dụng cơ sở dữ liệu cá nhân rất mạnh trong hệ điều hành Windows, thậm chí nó còn được coi là ứng dụng cơ sở dữ liệu cá nhân mạnh nhất từ trước đến nay. Điều này có được là bởi vì Access và Windows đều là sản phẩm của Microsoft, do đó nó được thừa hưởng và kế thừa rất nhiều tính năng của Windows như: Dễ dàng chép và dán (copy and paste) dữ liệu từ bất kỳ nơi đâu trong Access, từ Windows sang Access và ngược lại. Access có rất nhiều phiên bản, tương ứng với mọi phiên bản của Windows, từ Windows98, Windows ME, Windows XP đến dòng WindowsNT (2000, 2003).

4.1 MỞ ĐẦU

4.1.1 Khởi động và cài đặt Access

Để bắt đầu làm việc với MS Access, chúng ta phải khởi động chương trình Access. Trong các phiên bản gần đây, Microsoft ghép Access vào như một thành phần của bộ Microsoft Office. Vì vậy, khi cài đặt Office, nếu đã lựa chọn cài đặt rồi thì một cách ngầm định Access sẽ được cài vào cùng thư mục đã cài MS Office. Nếu chưa cài đặt Access trong lần cài đặt Office trước đó, có thể sử dụng công cụ Add/Remove Programs của Windows trong cửa sổ Control Panel.

95

Page 94: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Để cài thêm Access, chọn chương trình Microsoft Office và chọn nút lệnh Change. Khi đó Windows sẽ hỏi ta muốn làm gì với bộ chương trình Office đã cài đặt:

Trong cửa sổ trên, có 3 lựa chọn là: Add or Remove Features (Thêm hoặc gỡ bỏ các thành phần), Reinstall or Repair (Cài lại hoặc sửa chữa) và Uninstall (Gỡ toàn bộ chương trình). Ở đây, chọn lựa chọn thứ nhất và bấm Next để tiếp tục.

Windows sẽ mở ra một cửa sổ, liệt kê tất cả các thành phần có trong bộ Office. Tùy từng

phiên bản mà Office sẽ có nhiều hoặc ít thành phần. Tài liệu này trình bày về sử dụng bộ Office 2003. Nếu bạn đọc sử dụng bộ Office phiên bản khác, có thể một số giao diện sẽ khác trong tài liệu này đôi chút. Tuy nhiên các bước cơ bản cũng như các ứng dụng cơ bản của bộ Office như Word, Excel, PowerPoint, Outlook và Access thì không thể thiếu.

Khi Access chưa được cài đặt, cần chọn cài thêm Access bằng cách chọn ô Access trong cửa sổ lựa chọn và nhấn nút Update. Khi đó, Windows sẽ tiến hành cài đặt thêm Access.

96

Page 95: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Thực hiện theo các chỉ dẫn của Windows đến khi việc cài đặt được hoàn tất. Lúc này, ta có thể bắt đầu sử dụng Access để tạo ra ứng dụng của mình.

4.1.2 Tạo 1 cơ sở dữ liệu trống

Như đã nói ở trên, Access là một thành phần của MS Office nên có thể được khởi động giống như khởi động Word, Excel. Từ Start menu, chọn Programs > Microsoft Office > Microsof Access.

Khi đó Windows sẽ khởi động Access. Một cửa sổ Access “trống” được mở ra để người dùng có thể bắt đầu công việc của mình. Tại đây, có thể mở ứng dụng sẵn có hay tạo một ứng dụng hoàn toàn mới.

Có nhiều cách để tạo một cơ sở dữ liệu mới trong Access. Cách thông thường nhất là từ menu chính của chương trình, chọn File > New. Cách thứ 2 là click chuột vào biểu tượng “New” - đây là biểu tượng hình 1 trang văn bản trống nằm ngay dưới menu File. Dù chọn cách nào thì Access cũng đưa ra một loạt các lựa chọn để cho phép người dùng chọn cách tạo một cơ sở dữ liệu mới. Cụ thể, Access sẽ đưa ra các lựa chọn như trong hình sau:

Click chuột vào lựa chọn “Blank database” (cơ sở dữ liệu trống) để yêu cầu Access tạo ra một cơ sở dữ liệu mới hoàn toàn.

97

Page 96: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Gõ tên file và nơi muốn lưu trữ file cơ sở dữ liệu và bấm nút lệnh “Create”. Khi đó, Access sẽ tạo ra một tệp cơ sở dữ liệu trống để người dùng có thể bắt đầu làm việc.

Cũng tương tự như các dạng tệp khác của Word, Excel hay các tệp trên MS DOS mà có thể đã rất quen thuộc với bạn đọc, Access cũng tạo ra một tệp để lưu trữ cơ sở dữ liệu. Tuy nhiên đây là một tệp đặc biệt, nó chứa các đối tượng như bảng, truy vấn, mẫu nhập, các báo cáo và các đoạn mã chương trình. Tệp cơ sở dữ liệu khi được tạo ra thường có độ lớn khoảng 92 Kb và được tăng dần theo số lượng dữ liệu được đưa vào.

4.1.3 Các khái niệm cơ bản trước khi bắt đầu với Access.

Như vậy, chúng ta đã tạo được một cơ sở dữ liệu trống và có thể bắt đầu việc lập một ứng dụng với Access. Trước khi bắt đầu, chúng ta sẽ xem xét một số khái niệm rất cơ bản của một hệ quản trị cơ sở dữ liệu.

Trước tiên là khái niệm Bảng - Table. Có thể nói, bảng là một tập hợp các dòng và các cột chứa dữ liệu, trong đó, mỗi cột là một thuộc tính của bảng, mỗi dòng chứa một bộ dữ liệu của bảng. Ví dụ, chúng ta có một danh sách học sinh gồm 50 học sinh. Các thông tin về mỗi học sinh bao gồm: Số thứ tự, Họ và tên, Ngày sinh, Giới tính. Như vậy, có thể tạo ra một bảng gồm có 4 cột và 50 dòng (không tính dòng chứa tiêu đề của mỗi cột). Cụ thể bảng đó sẽ như sau:

STT Họ và tên Ngày sinh Giới tính

1 Nguyễn Văn An 10/10/1987 Nam

2 Lê Thị Bình 15/02/1987 Nữ

… … … …

50 Vũ Thị Xuân 17/09/1987 Nữ

Từ ví dụ trên, có thể thấy một điều là: Mọi dữ liệu cần lưu trữ trong thực tế đều có thể được biểu diễn và lưu trữ dưới dạng bảng. Và với cấu trúc bảng như thế, việc tìm kiếm dữ liệu cũng như xử lý dữ liệu để kết xuất các báo cáo sẽ được thực hiện rất dễ dàng và nhanh gọn. Trong Access, bảng là một đối tượng được tạo ra từ các dòng và cột như đã nói ở trên với mục đích chính là lưu trữ dữ liệu phục vụ cho ứng dụng.

Khái niệm thứ 2 mà chúng ta cần tìm hiểu là các khái niệm khóa (key) và khóa chính (primery key).

Trong các hệ quản trị cơ sở dữ liệu quan hệ, khóa là một khái niệm chỉ một hoặc nhiều cột trong bảng mà từ các cột đó, có thể xác định được các cột khác trong bảng. Để hiểu rõ hơn về điều này, trở lại với ví dụ về bảng “Danh sách học sinh” ở trên. Bảng này gồm có 4 trường (cột) là Số thứ tự, Họ và Tên, Ngày sinh và Giới tính. Chúng ta có thể thấy, trong một lớp học, chỉ cần biết tên của một học sinh, có thể tìm ra được các thông tin còn lại như ngày sinh, giới tính của học sinh đó. Và như vậy, họ tên của học sinh có thể được coi là khóa vì nó có thể được dùng để xác định các thuộc tính còn lại.

Tuy nhiên, nếu trong lớp học có 2 hoặc nhiều học sinh có tên trùng nhau thì việc xác định các thuộc tính khác của một học sinh dựa vào tên sẽ không đúng. Khi đó, người ta đưa ra một khái

98

Page 97: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

niệm “Khóa chính”. Khóa chính của một bảng là một trường mà giá trị của nó là duy nhất trong toàn bộ bảng (không thể có giá trị 2 giá trị giống nhau trên 2 dòng khác nhau của một bảng) và thuộc tính này có tính chất của khóa (nghĩa là có thể được sử dụng để xác định các thuộc tính còn lại của bảng). Trở lại ví dụ trên, chúng ta không thể sử dụng “Họ và tên” để làm khóa chính của bảng vì nó có thể trùng nhau, do vậy ta thêm vào một trường (cột) nữa gọi là “Mã học sinh”. Mã này là duy nhất cho mỗi học sinh và như vậy, nó có thể được sử dụng làm khóa chính của bảng.

Tiếp theo, chúng ta sẽ tìm hiểu khái niệm “Liên kết” trong cơ sở dữ liệu quan hệ nói chung và trong Access nói riêng. Liên kết là một kỹ thuật trong cơ sở dữ liệu quan hệ dùng để “nối” 2 hay nhiều bảng dữ liệu với nhau theo một thiết kế cho trước để đảm bảo được tính lưu trữ cũng như việc truy vấn (tìm kiếm) dữ liệu sau này. Trong Access, có hai kiểu liên kết là 1-1 và 1-n. Ý nghĩa của các kiểu liên kết trên như sau:

- Liên kết 1-1: Với kiểu liên kết này, ở 2 bảng tham gia vào liên kết sẽ có một trường giống nhau. Trong đó, ở 1 bảng, trường giống nhau đóng vai trò là khóa chính và ở bảng còn lại, trường giống nhau được thêm vào để tạo liên kết. Với liên kết kiểu này, mỗi bản ghi trong một bảng sẽ có 1 và chỉ 1 bản ghi tương ứng được tìm thấy trong bảng bên kia bằng cách so sánh giá trị ở 2 cột giống nhau trong 2 bảng. Ví dụ, ta có 2 bảng “Điểm” và “Phách” với liên kết 1-1 như sau:

Và dữ liệu được lưu trữ trong hai bảng như sau:

Rõ ràng, ta thấy mỗi dòng dữ liệu (1 bản ghi) trong bảng Phách tương ứng với 1 và chỉ 1

dòng dữ liệu trên bảng Điểm và ngược lại.

99

Page 98: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Liên kết 1-n: Là liên kết mà ở đó, một bản ghi trong 1 bảng (gọi là bảng phía 1) có thể liên kết với 1 hoặc nhiều bản ghi ở bảng kia (gọi là bảng phía n). Ngược lại, một bản ghi trong bảng phía n chỉ có thể liên kết với 1 và chỉ 1 bản ghi trong bảng phía 1.

Ví dụ có 2 bảng Phòng và Nhân viên với liên kết 1-n như sau:

Và dữ liệu trong 2 bảng:

Ở đây, có thể dễ dàng nhận thấy, một phòng có thể có nhiều nhân viên nhưng mỗi nhân viên chỉ

có thể thuộc về 1 phòng duy nhất. Do đó, liên kết giữa hai bảng Phòng và Nhân viên là liên kết 1-n.

4.2 LẬP BẢNG DỮ LIỆU (TABLE)

Ở phần trên chúng ta đã tìm hiểu cách tạo một cơ sở dữ liệu trống và lưu trữ nó trong ổ đĩa cứng của máy tính. Bây giờ chúng ta bắt đầu tiến hành việc tạo các đối tượng trong cơ sở dữ liệu. Trước hết là việc tạo các bảng để lưu trữ dữ liệu.

Trước khi bắt tay vào việc tạo một cơ sở dữ liệu và các đối tượng trong đó, người dùng nhất thiết phải trải qua bước phân tích và thiết kế cơ sở dữ liệu của mình trên giấy. Điều này có nghĩa là, người dùng phải dự tính trước được các đối tượng (ở đây là bảng), các trường dữ liệu trong từng bảng, các mối quan hệ giữa các bảng, kiểu dữ liệu v.v. Sau đó mới tiến hành tạo cơ sở dữ liệu trên Access.

Để giúp các bạn tiện theo dõi, chúng ta xem xét một ví dụ cụ thể, thường gặp trong thực tế như sau: Giả sử chúng ta cần tạo một cơ sở dữ liệu quản lý việc tuyển sinh của một trường đại học. Cơ sở dữ liệu này phải đáp ứng được các nghiệp vụ cơ bản của một qui trình tuyển sinh thực sự. Nghĩa là phải quản lý được danh sách thí sinh, điểm của thí sinh, và đặc biệt, đảm bảo bí mật giữa điểm của thí sinh và tên.

Từ các yêu cầu nghiệp vụ cơ bản như trên, chúng ta tiến hành việc thiết kế cơ sở dữ liệu. Trước tiên, phải xác định xem những “đối tượng” nào cần được lưu trữ thông tin trong cơ sở dữ liệu. Ở đây, chỉ có một đối tượng duy nhất là “Thí sinh”. Do đó, ta sẽ tạo một bảng để lưu trữ thông tin về thí sinh. Bảng này có số trường bằng chính số “thông tin” về thí sinh mà ta dự định quản lý, bao gồm: Họ tên, ngày sinh, giới tính, quê quán. Đến đây sẽ có một câu hỏi: Làm sao để lưu trữ điểm thi của từng thí sinh? Chúng ta hoàn toàn có thể đưa thêm vào 3 trường dữ liệu để

100

Page 99: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

lưu trữ 3 điểm thi của từng thí sinh. Tuy nhiên như vậy cơ sở dữ liệu không đáp ứng được yêu cầu nghiệp vụ của bài toán là đảm bảo tính bí mật giữa họ tên và điểm thi. Vì vậy, chúng ta phải tìm cách nào đó để xử lý được yêu cầu này.

Để ý đến nghiệp vụ thực tế, chúng ta thấy trong mỗi bài thi của thí sinh có một nơi gọi là “Số phách”. Số phách chính là một số duy nhất mà cán bộ lập phách tạo ra giữa 2 phần của 1 bài thi để khi chấm thi người chấm không biết được thông tin gì về thí sinh ngoài số phách. Sau đó, cán bộ phụ trách tuyển sinh sẽ lắp ghép lại 2 phần của bài thi theo số phách đã tạo trước đó để có được điểm thi cho từng thí sinh. Ở đây, trong cơ sở dữ liệu của mình, chúng ta cũng làm theo cách đó bằng cách thêm vào bảng “Thí sinh” một trường dữ liệu là “Số phách”. Trường này sẽ là khóa chính của bảng. Tiếp theo, ta tạo ra một bảng để lưu giữ điểm và số phách của thí sinh. Ta gọi đó là bảng “Phách - Điểm”. Bảng này chỉ gồm 4 trường là số phách và điểm 3 môn của thí sinh, trong đó số phách cũng là khóa chính của bảng mới.

Như vậy ta đã hoàn thành bước thiết kế cơ sở dữ liệu. Bước tiếp theo sẽ là tạo các bảng trong cơ sở dữ liệu trống đã được tạo ra ở bước trước.

Trở lại với phần tạo cơ sở dữ liệu ở trên, chúng ta đã có một cơ sở dữ liệu có tên là “My_First_DB”. Công việc của chúng ta bây giờ là tiến hành tạo các đối tượng cho cơ sở dữ liệu. Nhìn vào hình dưới đây, có thể thấy trong một cơ sở dữ liệu, Access hỗ trợ các đối tượng sau:

- Các bảng (tables)

- Các truy vấn (Queries)

- Các mẫu nhập liệu (Forms)

- Các báo cáo (Reports)

- Các trang (pages)

101

Page 100: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Macros

- Các modules.

Để tạo một bảng dữ liệu, ở phần các đối tượng (Objects), chọn Tables. Khi đó ở cửa sổ bên phải, Access sẽ liệt kê ra các lựa chọn giúp ta có thể bắt đầu tạo bảng. Thông thường, nên chọn lựa chọn “Create table in design view”.

Khi kích đúp chuột vào lựa chọn “Create table in design view”, cửa sổ table sẽ mở ra, cho phép ta bắt đầu tạo bảng. Trong cửa sổ này có 2 phần cần lưu ý:

- Phần thứ nhất là phần cho phép chúng ta khai báo các trường dữ liệu trong bảng. Các thông tin cần khai báo bao gồm Field Name (tên trường), Data type (Kiểu dữ liệu) và Description (mô tả của trường - đây là tùy chọn nhằm giúp ta nhanh chóng nhìn ra ý nghĩa của trường dữ liệu trong trường hợp cơ sở dữ liệu rất lớn hoặc cho người khác xem cơ sở dữ liệu có thể hiểu được ý nghĩa của trường dữ liệu đó).

- Phần thứ hai là phần thuộc tính của từng trường (Field Properties). Phần này cho phép người dùng định nghĩa cụ thể và chi tiết hơn về kiểu dữ liệu, các ràng buộc cũng như một số thuộc tính khác của trường dữ liệu mà chúng ta sẽ xem xét cụ thể ở phần sau.

Trong ví dụ đang xét, chúng ta dự định tạo 2 bảng. Bảng thứ nhất là bảng “Thí sinh”, gồm có các trường dữ liệu: Số báo danh, Họ và tên, ngày sinh, Giới tính và Quê quán. Do đó, ta tạo các trường dữ liệu cho bảng Thí sinh như sau:

102

Page 101: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Trước tiên, chúng ta điền vào các trường dữ liệu mà ta đã thiết kế cho bảng “Thí sinh”. Ở phía cột “Kiểu dữ liệu” (Data type), ta cứ để Access chọn ngầm định là kiểu dữ liệu chữ (Text). Sau khi đã điền được đầy đủ các trường, chúng ta sẽ quay lại để thiết lập kiểu dữ liệu cho từng trường.

- Với trường “Số báo danh”, có thể tùy ý chọn kiểu dữ liệu cho trường này. Ở đây giả sử “Số báo danh” là chữ và độ dài không quá 10 ký tự. Như vậy, thiết lập “Data type” là “Text” và trên cửa sổ “Field properties”, thiết lập giá trị “Field size” (kích thước trường) là 10.

- Tương tự như “Số báo danh”, các trường “Họ và Tên”, “Quê quán”, tiến hành thiết lập kiểu dữ liệu là Text và độ dài của từng trường là tùy chọn. Như vậy, chỉ còn 2 trường là Ngày sinh và Giới tính chưa được thiết lập kiểu dữ liệu.

103

Page 102: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Với trường Ngày sinh, Access hỗ trợ kiểu dữ liệu là Date/Time. Sau khi chọn kiểu dữ liệu Date/Time cho Ngày sinh, thiết lập các thuộc tính của kiểu dữ liệu này bằng cách chọn “Format” trong vùng “Field properties”. Access sẽ liệt kê các kiểu dữ liệu “Date/Time” để lựa chọn tùy theo nhu cầu.

- Trường cuối cùng là trường Giới tính. Có rất nhiều cách để biểu diễn dữ liệu kiểu này. Ví

dụ, có thể trực tiếp sử dụng kiểu dữ liệu chữ với giới tính là: Nam và Nữ. Tuy nhiên, trong quản lý dữ liệu, việc làm sao để giảm bớt được độ lớn của dữ liệu là rất quan trọng. Do đó, thông thường người ta không dùng chữ để biểu diễn những trường dữ liệu kiểu này mà có thể dùng kiểu lôgic với giá trị đúng (True) biểu diễn giới tính Nam và sai (False) để biểu diễn giới tính Nữ. Ngoài ra, còn có thể sử dụng số nguyên 1 cho giới tính Nam, 0 cho giới tính Nữ.

Tóm lại, Access hỗ trợ các kiểu dữ liệu được mô tả trong bảng sau:

STT Kiểu dữ liệu Độ lớn Dữ liệu thường lưu trữ 1 Number (Kiểu số) Tùy thuộc vào từng

loại số cụ thể Số nguyên (ngắn, dài, nhỏ), số thực

2 Autonumber (Số tự động tăng theo mỗi bản ghi)

4 bytes Thường dùng cho các cột cần lưu trữ số thứ tự tăng dần

3 Text (Kiểu chữ) Tùy thuộc độ dài của xâu chữ

Xâu ký tự

4 Yes/No 1 byte Lưu trữ các giá trị logic (các giá trị chỉ có thể là đúng hoặc sai

5 Date/Time 8 bytes Lưu trữ dữ liệu ngày, giờ. Có nhiều cách hiển thị khác nhau.

6 Currency Ký tự Lưu trữ dữ liệu kiểu tiền tệ với ký hiệu của tiền tệ (ví dụ $)

7 Memo Tùy thuộc dữ liệu Lưu trữ dữ liệu có độ lớn tùy ý, thường là các dữ liệu thuộc kiểu ghi nhớ

8 Hyperlink (Siêu liên kết) Tùy thuộc độ dài xâu Lưu trữ dữ liệu là các siêu liên kết 9 OLE Tùy thuộc đối tượng Lưu trữ các đối tượng như văn bản,

hình ảnh, âm thanh … 104

Page 103: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Sau khi đã tạo đầy đủ các trường và thiết lập kiểu dữ liệu cho các trường xong, có thể thiết lập khóa chính cho bảng bằng cách chọn trường dữ liệu dự định chọn làm khóa chính rồi bấm vào biểu tượng có hình chìa khóa ở trên thanh công cụ

Và khi đó, biểu tượng chìa khóa sẽ được Access đặt vào bên cạnh trường dữ liệu được chọn.

Đến đây ta đã hoàn thành việc tạo bảng dữ liệu Thí sinh. Để ghi lại, bấm vào biểu tượng “Save” trên thanh công cụ hoặc chọn menu File > Save. Thực hiện các bước tương tự, ta có thể dễ dàng tạo nốt bảng Phách - Điểm cho cơ sở dữ liệu tuyển sinh.

4.3 LẬP CÁC TRUY VẤN DỮ LIỆU (QUERY)

Ở phần trước của tài liệu, chúng ta đã nghiên cứu cách để tạo ra các bảng để lưu trữ dữ liệu. Phần này, chúng ta sẽ tiếp tục tìm hiểu các kỹ thuật truy vấn dữ liệu. Truy vấn dữ liệu là một kỹ thuật mà người sử dụng thao tác trên cơ sở dữ liệu để lấy ra các thông tin mà mình mong muốn. Cũng như mọi hệ quản trị cơ sở dữ liệu khác, Access hỗ trợ hầu hết các kiểu truy vấn dữ liệu như lọc - trích - hiển thị, tổng hợp - thống kê, thêm - xóa - sửa dữ liệu v.v. Vì vậy có nhiều loại truy vấn tồn tại để xử lý các yêu cầu trên. Access cung cấp cho người dùng 7 loại truy vấn. Đó là:

- Select query.

- Total query.

- Crosstab query.

- Append query.

- Delete query.

- Update query.

- Create table query.

Về bản chất, truy vấn là một câu lệnh SQL (Structured Query Language - Ngôn ngữ truy vấn có cấu trúc), một ngôn ngữ được sử dụng ở hầu hết các hệ quản trị cơ sở dữ liệu hiện tại. Sau đây chúng ta sẽ xem xét một số truy vấn điển hình.

105

Page 104: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

4.3.1 Select query

Về bản chất, select query là một câu lệnh có cấu trúc như sau:

SELECT <Danh sách cột>

FROM <Danh sách bảng>

WHERE <Điều kiện>

[GROUP BY <Danh sách cột>]

[ORDER BY <Danh sách cột>] ;

Câu lệnh trên có thể hiểu như sau: Chọn ra các cột mong muốn từ các bảng dữ liệu với điều kiện thỏa mãn điều kiện chọn. Nếu từ khóa tùy chọn GROUP BY được đưa vào thì dữ liệu đầu ra sẽ được nhóm theo danh sách các cột đứng sau từ khóa GROUP BY. Nếu từ khóa tùy chọn ORDER BY được đưa vào thì dữ liệu trả về sẽ được sắp xếp theo các cột đứng sau từ khóa ORDER BY. Có hai kiểu sắp xếp là tăng dần (Ascending) và giảm dần (Descending).

Tiếp theo, chúng ta sẽ xem xét cụ thể các thành phần trong câu lệnh SQL:

- <Danh sách cột> là tất cả các cột dữ liệu trong một hay nhiều bảng mà ta muốn Access lấy ra. Mỗi cột được viết cách nhau bởi dấu phẩy “,”. Nếu hai bảng có trường dữ liệu cùng tên thì phải chỉ rõ tên cột của bảng nào bằng cách viết <tên bảng>.<tên cột>.

- <Danh sách bảng> là tất cả các bảng mà ta muốn lấy dữ liệu ra. Mỗi bảng được viết cách nhau bởi một dấu phẩy “,”. Ngoài ra, ta còn có thể đặt lại tên bảng trong câu lệnh để việc truy xuất đến các trường trong từng bảng được dễ hơn bằng cách viết <tên bảng> <tên mới> (Chú ý dấu cách ở giữa).

- <Điều kiện> thường là các phép toán so sánh (>,<,=>,<=, =, <>), các phép toán logic (và - AND, hoặc - OR) hay các phép toán tập hợp (thuộc - IN, nằm giữa - BETWEEN) v.v.

Như vậy, đến đây chúng ta đã có thể hiểu được cấu trúc cũng như cách tạo ra một truy vấn dạng lựa chọn (select query). Để hiểu rõ hơn về truy vấn này, chúng ta sẽ xem xét ví dụ cụ thể sau:

Có một cơ sở dữ liệu quản lý nhân sự của một đơn vị gồm 2 bảng dữ liệu. Bảng thứ nhất là bảng “Phòng”, bao gồm các trường: Mã Phòng, Tên Phòng. Bảng thứ hai là bảng Nhân Viên, bao gồm các trường: Mã nhân viên, Tên nhân viên, Giới tính, Ngày sinh và Mã Phòng.

Yêu cầu của bài toán như sau:

- Lấy ra các thông tin về Tên nhân viên, tên phòng của tất cả các nhân viên trong công ty có giới tính là Nam.

- Lấy ra các thông tin về Tên nhân viên, tên phòng của tất cả các nhân viên trong phòng Tổng hợp có ngày sinh từ 1/1/1950 đến 31/12/1970.

Ta tiến hành tạo các truy vấn như sau:

Giả sử đã có cơ sở dữ liệu như trên và trong các bảng đã có dữ liệu. Khởi động Access và mở cơ sở dữ liệu đó ra.

106

Page 105: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ở phía bên trái màn hình, trong hộp chọn đối tượng, chọn Query. Có 2 cách để có thể tạo mới một truy vấn. Cách thứ nhất, nhấp đúp chuột vào lựa chọn “Create query in Design view” và cách thứ 2 là bấm nút lệnh New. Khi đó, Access sẽ mở một cửa sổ cho phép bắt đầu tạo mới một truy vấn theo cách nào:

Chọn Design view và bấm OK. Khi đó, Access sẽ mở một cửa sổ “Show table” để lựa chọn các bảng muốn lấy dữ liệu ra (tùy thuộc vào từng bài toán). Trở lại với yêu cầu thứ nhất của bài toán, ta thấy yêu cầu là “Lấy ra tất cả thông tin về Tên nhân viên, tên phòng của các nhân viên trong công ty có giới tính là Nam”. Rõ ràng với yêu cầu như thế, chúng ta phải lấy dữ liệu từ cả hai bảng Nhân viên và Phòng (vì Tên phòng chỉ xuất hiện trong bảng Phòng chứ không có trong bảng Nhân viên). Vì vậy, trong hộp thoại “Show table”, chọn cả 2 bảng bằng cách giữ phím Shift và click chuột lên cả 2 bảng rồi bấm nút lệnh Add.

107

Page 106: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Khi đó, Access sẽ mở một cửa sổ cho phép thiết kế truy vấn:

Ở yêu cầu thứ nhất của ví dụ, chúng ta muốn lấy ra các trường: Tên nhân viên và tên phòng.

Do đó, ở bảng Nhân viên, chọn trường TenNhanVien. Ở bảng Phòng, chọn TenPhong. Ngoài ra, bài toán còn có yêu cầu là chỉ lấy ra thông tin về tên nhân viên và tên phòng của nhân viên có giới tính là Nam. Do đó, ta cũng chọn thêm trường GioiTinh ở trong bảng NhanVien. Khi đó truy vấn của ta được Access làm giúp như sau:

108

Page 107: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Đến đây, nếu ta dừng lại và “chạy” truy vấn bằng cách click chuột vào nút lệnh “Run”

trên thanh công cụ thì ta sẽ nhận được kết quả như sau:

Rõ ràng, đây là một kết quả đúng về mặt tính toán nhưng lại không đúng theo yêu cầu đặt ra. Đó là ta không muốn hiển thị cột Giới tính và những nhân viên có giới tính là nữ. Vì vậy, để sửa lại truy vấn cho đúng với yêu cầu của bài toán, có thể làm như sau:

Từ menu hệ thống, chọn View Design view. Khi đó Access sẽ mở lại cửa sổ thiết kế truy vấn như ở trên:

Như đã phân tích, truy vấn hiện tại trả về kết quả thừa một cột là cột giới tính. Do đó, để bỏ cột này đi (không hiển thị ở kết quả đầu ra), ta cần bỏ dấu đánh dấu ở cột Giới tính trên dòng “Show” bằng cách nhấp chuột vào ô chọn đó. Ý nghĩa của dòng “Show” được hiểu như sau: Nếu được chọn thì cột tương ứng sẽ được hiển thị ở kết quả đầu ra của truy vấn. Trong ví dụ này ta chỉ chọn 2 cột là Tên nhân viên và Tên phòng.

Điều thứ 2 mà truy vấn chưa đáp ứng được là chưa lọc được những nhân viên có giới tính là Nam. Do vậy, ta phải tiếp tục sửa lại truy vấn. Để ý hàng “Criteria” (tiêu chuẩn). Đây là điều kiện lọc mà Access cho phép người dùng đưa vào các điều kiện lọc dữ liệu. Ở ví dụ này ta muốn giới tính là “Nam”, do đó ở cột Giới tính, hàng Criteria ta thêm vào biểu thức = “Nam” để Access hiểu rằng chỉ chọn những bản ghi có giới tính là Nam. Khi đó, truy vấn của ta sẽ như sau:

109

Page 108: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Sau khi sửa lại và chạy truy vấn này, ta sẽ được kết quả mới như sau:

Rõ ràng kết quả này là tập con của kết quả trong câu truy vấn ban đầu. Nó chỉ chứa các bản

ghi với giới tính của nhân viên là “Nam” và không hiển thị cột Giới tính. Như vậy kết quả là đúng với yêu cầu của bài toán.

Như đã trình bày ở phần đầu của mục này, truy vấn thực chất là một câu lệnh SQL có cấu trúc. Để xem truy vấn ta vừa tạo được viết dưới dạng câu lệnh SQL như thế nào, từ menu View, chọn SQL view. Khi đó, ta sẽ thấy câu lệnh SQL của truy vấn trên như sau:

SELECT NhanVien.TenNhanVien, Phong.TenPhong

FROM Phong INNER JOIN NhanVien ON Phong.MaPhong = NhanVien.MaPhong

WHERE (((NhanVien.GioiTinh)="Nam"));

Để ghi lại truy vấn vừa tạo, bấm vào biểu tượng “Save” trên thanh công cụ hoặc chọn menu File > Save. Như vậy truy vấn đã được lưu trữ trong cơ sở dữ liệu và có thể được tái sử dụng.

Với yêu cầu thứ 2 của bài toán là “Lấy ra tất cả các thông tin về Tên nhân viên, tên phòng của các nhân viên trong phòng Tổng hợp có ngày sinh từ 1/1/1950 đến 31/12/1970”, chúng ta sẽ có query như sau:

110

Page 109: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Trong ví dụ này, chúng ta sử dụng toán tử tập hợp “BETWEEN” để tìm những người có ngày sinh nằm giữa 1/1/1950 và 31/12/1970. Để ý rằng chúng ta sử dụng kiểu dữ liệu ngày tháng theo chuẩn tháng/ngày/năm.

Ngoài ra, nếu không biết chính xác tên phòng, chúng ta có thể sử dụng toán tử so sánh LIKE (gần giống) và các ký tự đại diện ?, *, % để so sánh tên phòng trong ví dụ này và so sánh xâu ký tự nói chung trong truy vấn.

4.3.2 Total query

Về bản chất, một Total query (truy vấn tổng) là một select query có sử dụng từ khóa lựa chọn GROUP BY. Vì vậy, trong giao diện của cửa sổ thiết kế truy vấn, Access đưa thêm vào một dòng Total. Để có được dòng này, từ cửa sổ thiết kế của select query, bấm vào biểu tượng tổng

trên thanh công cụ và Access sẽ chèn thêm dòng Total vào cửa sổ thiết kế truy vấn:

Giả sử với cơ sở dữ liệu quản lý như trên, người lãnh đạo muốn biết về tình hình nhân sự

của từng phòng (cụ thể là mỗi phòng có bao nhiêu nhân viên). Khi đó, ta cần tạo một truy vấn như sau để giải bài toán này:

Ở đây, ta mong muốn có thông tin về số lượng nhân viên theo từng phòng. Do đó ở dòng

Total, cột Tên nhân viên, ta chọn biểu thức Count (đếm) số lượng nhân viên và ở cột tên phòng ta chọn Group by. Như vậy, ta đã tạo ra 1 truy vấn tổng về số lượng nhân viên các phòng.

4.3.3 Make table query

Ở phần trên, chúng ta đã xem xét 2 kiểu truy vấn mà kết quả trả về là các bộ dữ liệu được hiển thị trên một cửa sổ của Access. Tuy nhiên, nhiều khi chúng ta muốn lưu trữ những bộ giá trị đó vào

111

Page 110: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

một bảng để tiện cho việc sử dụng về sau. Khi đó Access cung cấp một công cụ là truy vấn tạo bảng (make table query). Make table query thực chất là một truy vấn select hay một truy vấn total mà ta đã xét ở trên. Tuy nhiên thay vì hiển thị dữ liệu ra màn hình, make table query ghi toàn bộ dữ liệu mà Access tìm thấy vào một bảng mới. Để làm được điều này, từ một truy vấn select hay total có sẵn, ta mở nó ở dạng design view rồi từ thực đơn Queries ta chọn Make Table query

Khi đó, Access sẽ mở ra một hộp thoại cho phép điền vào tên bảng mà muốn sử dụng để lưu

trữ dữ liệu. Có thể chọn lựa lưu trữ dữ liệu vào chính cơ sở dữ liệu hiện tại hoặc cơ sở dữ liệu mới bằng cách chọn Current database hoặc Another database.

Lưu ý: Nếu tên bảng nhập vào chưa tồn tại trong cơ sở dữ liệu hiện tại thì một bảng mới sẽ

được tạo ra. Ngược lại, nếu tên bảng trùng với một bảng có trước thì toàn bộ cấu trúc cũng như dữ liệu của bảng cũ sẽ bị ghi đè lên. Vì vậy khi nhập tên cho bảng, cần phải chú ý đến sự trùng tên nếu không muốn mất dữ liệu.

Việc thực thi (chạy) một truy vấn tạo bảng cũng được tiến hành tương tự như các truy vấn khác. Tuy nhiên, khi thực thi truy vấn dạng này, Access sẽ hỏi về việc sẽ có sự thay đổi trong cơ sở dữ liệu khi thực thi truy vấn. Nếu đã chắc chắn là thực hiện thì bấm OK để tiếp tục, ngược lại bấm Cancel để hủy bỏ và kiểm tra lại.

Về bản chất, make table query là một câu lệnh SQL có cấu trúc dạng:

SELECT <Danh sách cột> INTO <Tên bảng>

FROM <Danh sách bảng>

WHERE <Điều kiện> 112

Page 111: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

4.3.4 Delete Query

Delete query hay truy vấn xóa dữ liệu là một truy vấn hành động (Action query) được sử dụng khi người dùng muốn xóa đi các bản ghi trong bảng nào đó của cơ sở dữ liệu thỏa mãn điều kiện xóa.

Để tạo một delete query, trước tiên ta cũng tạo một query như bình thường (ngầm định là select query). Chọn bảng muốn query sẽ làm việc trên đó và từ thực đơn Query ta chọn Delete Query.

Ví dụ, để xóa đi các bản ghi trong bảng nhân viên thỏa mãn điều kiện ngày sinh trước ngày 31/12/1950, ta thực hiện các bước sau:

Bước 1: Tạo một query mới bằng cách chọn New > Design view. Chọn bảng Nhân viên.

Bước 2: Từ menu Query chọn Delete Query.

Bước 3: Nhấn đúp chuột vào trường Ngày sinh trên bảng Nhân viên. Khi đó, cửa sổ thiết kế Delete query sẽ như sau:

Bước 4: Theo yêu cầu của bài toán, ta sẽ xóa những nhân viên có ngày sinh trước ngày

31/12/1950. Do đó, ta đưa vào tiêu chuẩn (Criterial) để xóa như sau:

113

Page 112: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Lưu ý: Access sẽ tự động đưa vào các ký hiệu # đứng trước và sau xâu: 12/31/1950 mà ta điền vào. Tuy nhiên, cũng có thể tự điền vào các dấu # này.

Khi thực thi truy vấn này, Access cũng sẽ hỏi xem có chắc chắn muốn thực thi không vì delete query có thể sẽ làm thay đổi dữ liệu trong cơ sở dữ liệu.

Nếu chắc chắn xóa, bấm Yes để tiếp tục. Ngược lại bấm No để hủy bỏ.

Nếu chọn Yes, Access sẽ thực hiện việc tìm kiếm trên bảng Nhân viên những bản ghi thỏa mãn điều kiện là ngày sinh trước ngày 31/12/1950 và thông báo cho biết số lượng bản ghi nó sẽ xóa. Nếu vẫn chắc chắn xóa, bấm OK để Access bắt đầu xóa dữ liệu:

Về bản chất, Delete query là một câu lệnh SQL có cấu trúc dạng:

DELETE

FROM <Tên bảng>

WHERE <Điều kiện>

4.3.5 Update Query

Trong nhiều trường hợp, chúng ta muốn sửa đổi nội dung của một trường nào đó của một bản ghi trong cơ sở dữ liệu. Ví dụ, khi một nhân viên chuyển từ phòng này sang phòng khác, chúng ta phải cập nhật lại mã phòng của họ. Khi đó, Access cung cấp một công cụ gọi là update query (truy vấn cập nhật), cho phép thực hiện các thao tác sửa đổi dữ liệu trong cơ sở dữ liệu.

Cũng giống như delete query, update query cũng là một action query (truy vấn hành động), vì nó có thể làm thay đổi dữ liệu trong cơ sở dữ liệu.

Việc tạo một update query cũng giống như với delete query. Trước tiên chúng ta cũng tạo một query có chứa bảng cần sửa đổi dữ liệu. Sau đó, từ menu Query, chọn Update Query.

Ví dụ, nhân viên có tên Nguyễn Văn A trước đây thuộc phòng Tổng hợp (có mã số 01) nay chuyển sang phòng Kế hoạch (có mã số 02). Khi đó, tạo một update query để thay đổi mã phòng của nhân viên này như sau:

114

Page 113: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Bước 1: Tạo một query có chứa bảng nhân viên, chuyển sang dạng update query như đã trình bày ở trên.

Bước 2: Thiết lập các tham số cho update query như sau:

Vì cùng là các action query nên khi thực thi, Access cũng hỏi xem có chắc chắn muốn thay

đổi dữ liệu trên cơ sở dữ liệu hay không.

Về bản chất, update query là một câu lệnh SQL có cấu trúc dạng:

UPDATE <Tên bảng>

SET <Danh sách cột > = <Danh sách giá trị mới>

WHERE <Điều kiện>

Lưu ý: Trong câu lệnh này, <Giá trị mới> phải có cùng kiểu dữ liệu với kiểu của cột định thay đổi.

Nếu có nhiều cột muốn thay đổi thì viết các cột cách nhau bởi dấu phẩy “,”. Khi đó danh sách các giá trị mới sẽ có thứ tự tương ứng với thứ tự các cột trong <danh sách cột>.

4.4 LẬP CÁC FORM NHẬP DỮ LIỆU

4.4.1 Khái niệm Form

Trong các ứng dụng máy tính, các giao diện chương trình thực hiện nhiệm vụ tương tác giữa người dùng và hệ thống bao gồm các giao diện nhập liệu, các cửa sổ (Windows), các hộp thoại (Dialog box) đều được gọi với một tên là Form. Với người dùng cuối, Form là phương tiện để họ làm việc (tương tác) với chương trình.

Trong MS Access, để tạo 1 form có 2 cách:

- Dùng Form Wizard: Đây là một công cụ rất tiện lợi, phù hợp với những người dùng mới làm quen với Access và trong trường hợp cần tạo nhanh một Form đơn giản. Tuy nhiên, cách này lại có hạn chế là các form tạo ra thường phải theo một khuôn mẫu mà Access hỗ trợ.

- Dùng Form Design View: Đây là một công cụ rất hiệu quả và hoàn chỉnh giúp người dùng có thể tạo ra được hầu hết tất cả các form từ đơn giản đếp phức tạp. Tuy nhiên, việc dùng Form Design View đòi hỏi người dùng có kiến thức sâu hơn về Access.

115

Page 114: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

4.4.2 Sử dụng Form wizard

Để minh họa cho quá trình tạo form sử dụng Form Wizard, chúng ta tiến hành tạo một form nhập liệu đơn giản cho cơ sở dữ liệu đã xét ở phần trên của tài liệu. Form này sẽ cho phép người dùng nhập dữ liệu vào bảng Nhân viên.

Để tạo được form nhập liệu như trên bằng Form Wizard, chúng ta tiến hành các bước sau:

- Từ cửa sổ chính của cơ sở dữ liệu, chọn Form trong cửa sổ chọn đối tượng. Khi đó, bên phía phải màn hình sẽ hiển thị 2 lựa chọn là “Create form in Design view” và “Create form by using Wizard”. Nhấp đúp chuột vào lựa chọn thứ 2 hoặc click chuột vào nút lệnh “New” và chọn tiếp “Form Wizard” để bắt đầu.

- Bấm OK để bắt đầu sử dụng Form Wizard. Tiếp theo, chọn các thông tin cần đưa lên form. Đây là bước quan trọng, vì vậy phải xác định rõ thông tin nào (trường nào) và đối tượng nào (bảng nào, truy vấn nào) sẽ được đưa lên form.

116

Page 115: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Ở ví dụ này, chúng ta dự định tạo một Form để nhập dữ liệu cho bảng Nhân viên, vì vậy ở mục Tables/Queries, click chuột vào hộp chọn và chọn bảng Nhân viên. Chọn tất cả các trường có trong bảng nhân viên (Ở vùng Avalable Fields) bằng cách click chuột vào nút “chọn tất cả” có hình >>. Khi đó, trong vùng “Selected fields” sẽ xuất hiện các cột vừa chọn. Bấm Next để tiếp tục.

- Tiếp theo, Access sẽ mở một hộp thoại cho phép lựa chọn cách bố trí các trường trên form (layout). Có thể xem trước từng kiểu bố trí dữ liệu trên form bằng cách lựa chọn các layout có sẵn của Access. Bấm Next để tiếp tục.

117

Page 116: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Tiếp theo, Access sẽ cho phép lựa chọn kiểu dáng (style) cho form. Cũng giống như layout, Access cung cấp một loạt các style để thử và lựa chọn. Sau khi đã chọn xong kiểu dáng form ưa thích, bấm Next để tiếp tục.

- Đến đây, có thể bấm Finish để kết thúc hoặc bấm Next để Access giúp ta hoàn tất các công việc phụ còn lại. Nếu bấm Next, Access sẽ hỏi thêm về tiêu đề cho Form. Nếu bấm Finish, Access sẽ tự động điền tiêu đề cho form chính là tên bảng được lựa chọn ở trên. Sau khi bấm Finish, một form được tạo bởi form Wizard sẽ được mở ra với kết quả như sau:

118

Page 117: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Với form này, chúng ta có thể xem dữ liệu hiện có trong bảng hoặc thêm mới dữ liệu vào

bảng bằng cách sử dụng các nút lệnh trên thanh điều khiển như sau:

- Mỗi lần mở form, một cách mặc định Access cho hiển thị bản ghi đầu tiên trong bảng. Số lượng bản ghi hiện có trong bảng cũng được Access tính toán và hiển thị trên cửa sổ này (ở ví dụ này ta có 6 bản ghi).

- Để xem thông tin về bản ghi tiếp theo và trước đó ta sử dụng các nút lệnh và .

- Để di chuyển đến bản ghi cuối cùng và bản ghi đầu tiên, sử dụng các nút lệnh và .

- Để thêm mới một bản ghi, sử dụng nút lệnh . Khi đó, Access sẽ tạo thêm một bản ghi mới trong cơ sở dữ liệu và ta chỉ việc điền thông tin vào các trường trong form:

- Sau khi điền đầy đủ thông tin hợp lệ vào các trường, bấm bất kỳ nút lệnh nào, Access sẽ

lưu bộ giá trị mới vào cơ sở dữ liệu.

Lưu ý: Đây là một form nhập đơn giản nhất, chưa có một ràng buộc cũng như xử lý nào. Vì vậy, nếu dữ liệu được nhập vào không đúng qui cách, Access sẽ báo lỗi không thể thêm dữ liệu vào bảng. Chúng ta sẽ xem xét các cách bắt lỗi ở phần bài tập ở cuối tài liệu này.

4.4.3 Sử dụng Form design view

Như đã trình bày ở trên và thông qua ví dụ cụ thể vừa xét, chúng ta có thể thấy rõ được sự tiện lợi nhưng có nhiều hạn chế của Form Wizard trong việc thiết kế các form. Để khắc phục vấn

119

Page 118: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

đề này, Access cung cấp một công cụ mạnh và chuyên nghiệp hơn cho người sử dụng với mục đích giúp họ có thể tạo được các form một cách chuyên nghiệp và mềm dẻo hơn. Đó chính là công cụ Form design view. Cũng giống như ở phần sử dụng Form Wizard, chúng ta cũng tiến hành tạo một form nhập liệu đơn giản để nhập dữ liệu cho bảng Nhân viên ở ví dụ trên bằng cách tiến hành theo các bước như sau:

- Chọn New > Design view từ thanh công cụ hoặc chọn ngay Create Form in Design view. Khi đó, Access sẽ mở một cửa sổ cho phép người dùng thiết kế form. Cửa sổ thiết kế form thường có 3 vùng rất quan trọng và cần thiết, đó là:

(1) Vùng để thiết kế form: Đây là vùng cho phép người dùng đặt các điều khiển. Vùng này gồm có 3 phần là Tiêu đề đầu form (Header), thân form (Detail) và tiêu đề cuối (Footer)

(2) Hộp công cụ (Tool box): Hộp công cụ chứa các đối tượng để người dùng sử dụng trong form như: Text box, label, command button v.v.

(3) Vùng cửa sổ thuộc tính: Vùng này cho phép người dùng thiết lập các thuộc tính cho form cũng như cho các đối tượng lấy ra từ tool box đưa vào form.

Lưu ý: Nếu không thấy 2 cửa sổ (2) và (3) xuất hiện, có thể vào menu View, sau đó chọn Toolbox và Properties để Access hiển thị 2 cửa sổ này như trong màn hình trên.

Form mà chúng ta đang dự định tạo ra là form dùng để nhập dữ liệu vào bảng Nhân viên. Do đó, cần thiết lập thuộc tính nguồn dữ liệu cho form bằng cách chọn lựa chọn Form trên hộp thoại thuộc tính (3).

120

Page 119: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Sau khi chọn xong, cửa sổ thuộc tính sẽ có dạng:

- Để thiết lập thuộc tính nguồn dữ liệu cho form nhập, chọn tab Data để mở các thuộc tính liên quan đến dữ liệu (hoặc có thể chọn All). Sau đó, ở dòng Record source, click chuột vào để mở danh sách các đối tượng có trong cơ sở dữ liệu và chọn bảng dự định nhập dữ liệu là bảng Nhân viên:

121

Page 120: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Chọn xong bảng Nhân viên, Access sẽ mở một cửa sổ Field list để liệt kê tất cả các trường có trong bảng Nhân viên để người dùng lựa chọn các trường sẽ bố trí trên form nhập liệu:

- Bước tiếp theo là việc lựa chọn và bố trí các trường dữ liệu trên form (Giống như 2 bước chọn trường và bố trí bố cục - layout trong Form Wizard). Muốn chọn trường nào, click chuột vào tên trường đó và kéo sang vùng thiết kế form (1) và thả chuột vào từng vị trí mong muốn trên form. Ở form này, chúng ta cần sử dụng tất cả các trường trong bảng, dó đó kéo và thả toàn bộ các trường sang. Mỗi lần kéo và thả, Access sẽ tạo ra một đối tượng gắn với trường dữ liệu tương ứng. Đối tượng này có thể là các hộp textbox, các combo box v.v. và đồng thời là các label (nhãn) ghi chú cho trường dữ liệu tương ứng.

- Một cách ngầm định, các nhãn ghi chú cho từng trường dữ liệu được lấy tên chính là tên của trường dữ liệu. Người dùng có thể sửa đổi nhãn này bằng cách chọn nhãn, mở cửa sổ Properties của nhãn đó và chọn Format > Caption rồi gõ lại tên mình mong muốn như sau:

122

Page 121: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Ngoài tên của label, có thể thay đổi tất cả các thuộc tính khác của tất cả các đối tượng trên

form như thay đổi kiểu chữ, kích thước của đối tượng (size), kiểu đối tượng (ví dụ từ textbox sang combo box) bằng cách click chuột phải lên đối tượng rồi chọn Properties.

Đến đây, chúng ta đã gần hoàn chỉnh một form nhập. Tuy nhiên, vấn đề là làm sao để form này có thể giúp người dùng thêm vào bảng Nhân viên một nhân viên mới với thông tin được nhập vào form? Access hỗ trợ việc này bằng cách cho phép người dùng tạo các nút lệnh. Mỗi khi nút lệnh được thực thi, Access sẽ thực hiện một thao tác nào đó. Ở ví dụ này, ta chỉ xét thao tác thêm 1 dòng dữ liệu vào bảng Nhân viên. Để làm được điều này, click chuột lên biểu tượng command button ở hộp công cụ, sau đó click chuột vào vùng muốn đặt nút lệnh trên form. Khi đó ta được một form mới như sau:

123

Page 122: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Để ý cửa sổ ở trên, khi click tạo một nút lệnh ở phần thiết kế form, Access sẽ mở một hộp thoại “Command Button Wizard” để cho phép người dùng định nghĩa “hành động” (action) mà Access sẽ thực hiện khi nút lệnh đó được bấm. Ở ví dụ này, chúng ta cần yêu cầu Access thêm mới một bản ghi vào bảng dữ liệu nên ở phần “Categories”, chọn “Record operation” (các thao tác với bản ghi). Tiếp theo, bên phần “Action”, chọn “Add New Record” và bấm Next. Khi đó Access sẽ cho phép định nghĩa kiểu dáng của nút lệnh. Có thể chọn nút lệnh với chữ hoặc nút lệnh với hình ảnh bằng cách lựa chọn Text hay Picture. Ở đây ta chọn Text và nhãn của nút lệnh là “Thêm mới”

- Đến đây, có thể chọn Finish để kết thúc hoặc bấm Next để đặt tên cho nút lệnh và Finish để kết thúc. Như vậy ta có một form hoàn chỉnh như sau:

- Để ghi lại form, chọn biểu tượng “Save” từ thanh công cụ hoặc từ menu File > Save.

124

Page 123: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Để kích hoạt form để bắt đầu nhập dữ liệu, chọn biểu tượng “View” từ thanh công cụ hoặc từ menu View > Form view. Khi đó form sẽ được kích hoạt và chạy như sau:

Với form dạng này, có thể nhập số liệu ngay lập tức bằng cách sửa các thông tin hiện thời

của bản ghi đầu tiên (Access ngầm định hiển thị bản ghi này mỗi khi form được kích hoạt) và click nút lệnh “Thêm mới” để thêm một bản ghi vào cơ sở dữ liệu mà không ảnh hưởng gì đến bản ghi hiện tại.

Cũng giống như với form wizard, chúng ta chưa xét gì đến các ràng buộc dữ liệu do đó nếu nhập dữ liệu không đúng, Access sẽ báo lỗi và phải nhập lại. Chi tiết về các ràng buộc, chúng ta sẽ xem xét cụ thể ở bài tập áp dụng ở phần cuối của tài liệu này.

4.5 LẬP CÁC BÁO CÁO (REPORT)

Trong các ứng dụng trên Windows, report là một công cụ rất mạnh cho phép người dùng tạo ra các báo cáo tổng hợp dữ liệu. Ngoài việc phục vụ cho các nghiệp vụ báo cáo, thống kê, report còn hỗ trợ rất tốt các thao tác in ấn để có được các báo cáo, tài liệu thống kê trên giấy.

Trong Access, một report thường bao gồm 5 phần: tiêu đề đầu report (report header), tiêu đề đầu trang (page header), thân report (detail), tiêu đề cuối report (report footer) và tiêu đề cuối của trang (page footer).

Về môi trường làm việc, report gần giống với form. Sự khác nhau chính giữa report và form là form có thể hiển thị, tra cứu, cập nhật và điều khiển dữ liệu từ cơ sở dữ liệu trong khi report chỉ hiển thị các thông tin từ cơ sở dữ liệu một cách chuyên nghiệp hơn (mang tính chất thống kê), và không có khả năng làm thay đổi cơ sở dữ liệu. Cũng giống như môi trường làm việc với Form, chúng ta có 2 cách để tạo report đó là Report Wizard và Report Design view. Sau đây chúng ta sẽ tìm hiểu từng cách tạo report.

4.5.1 Report Wizard

Cũng giống như form wizard, report wizard là một công cụ đơn giản giúp người dùng có thể nhanh chóng tạo ra được một báo cáo. Chúng ta sẽ xem xét ví dụ sử dụng report wizard để tạo ra một báo cáo về tình hình nhân sự của công ty.

125

Page 124: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Bước 1: Từ cửa sổ chính, chọn đối tượng Report. Tiếp theo, chọn Create report by using wizard ở vùng bên phải, hoặc chọn nút New, sau đó chọn Report wizard.

Bước 2: Chọn bảng và các cột dữ liệu cần hiển thị trên báo cáo (tương tự như trong Form, chúng ta sẽ không đề cập chi tiết nữa). Bấm Next để tiếp tục.

Bước 3: Access sẽ hỏi có muốn tạo thành các nhóm trên báo cáo hay không. Điều này có nghĩa, nếu chọn có tạo nhóm (giả sử nhóm theo mã phòng) thì toàn bộ nhân viên trong 1 phòng sẽ được nhóm lại và liệt kê ở một vùng của báo cáo.

Bước 4: Sắp xếp các trường dữ liệu trên báo cáo. Có thể tùy ý sắp xếp vị trí của từng trường trên báo cáo theo sở thích của mình.

126

Page 125: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Bước 5: Lựa chọn cách trình bày dữ liệu (layout) của report. Có thể thử xem các mẫu layout có sẵn của Access để lựa chọn layout phù hợp bằng cách chọn 1 trong các lựa chọn trên danh sách các mẫu và xem layout tương ứng ở vùng bên trái.

Bước 6: Chọn kiểu dáng cho báo cáo (report style) bằng cách lựa chọn 1 trong các lựa chọn mà Access cung cấp sẵn.

127

Page 126: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Bước 7: Chọn tiêu đề cho báo cáo và chọn Finish để kết thúc.

Đến đây ta sẽ nhận được một báo cáo về tình hình nhân sự như sau:

128

Page 127: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

4.5.2 Report design view.

Như đã nói ở trên, report wizard là một công cụ rất hữu hiệu để người dùng có thể nhanh chóng tạo ra một báo cáo đơn giản. Tuy nhiên trong thực tế, nhu cầu của người dùng là mong muốn có được một báo cáo phức tạp hơn. Để làm được điều này, có thể sử dụng công cụ Report Design view của Access.

Chúng ta sẽ xem xét việc sử dụng report design view để tạo một báo cáo về tình hình nhân sự như ở phần trước. Các bước tiến hành các bước sau:

Bước 1: Từ cửa sổ chính của Access, chọn Report trong cửa sổ chọn đối tượng. Tiếp theo, chọn New, sau đó chọn Design view hoặc chọn “Create report by using design view” trong vùng bên phải. Access sẽ mở một cửa sổ cho phép người dùng thiết kế báo cáo cho mình. Cũng giống như trong môi trường thiết kế form, cửa sổ thiết kế báo cáo cũng gồm 3 thành phần chính là:

(1) Vùng soạn thảo báo cáo.

(2) Hộp thoại công cụ - chứa các đối tượng được sử dụng trong báo cáo.

(3) Hộp thoại thuộc tính - cho phép người dùng thiết lập các thuộc tính cho báo cáo và các đối tượng trên báo cáo.

129

Page 128: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Bước 2: Thiết lập nguồn dữ liệu cho báo cáo: Như đã trình bày ở trên, báo cáo là một công cụ lấy dữ liệu từ các bảng, các truy vấn để hiển thị cho người dùng xem, in ấn. Do đó ta phải thiết lập nguồn dữ liệu cho báo cáo (lựa chọn bảng, truy vấn để báo cáo lấy dữ liệu ra). Để làm được điều này, trên cửa sổ thuộc tính, chọn Report trong danh sách đẩy xuống và chọn tab “Data”.

Trên dòng thuộc tính Record Source, ta có thể chọn nguồn dữ liệu từ danh sách các đối tượng có sẵn của Access (các bảng, các truy vấn) bằng cách click chuột vào nút mũi tên để

130

Page 129: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Access liệt kê các đối tượng hoặc click chuột vào biểu tượng để xây dựng một truy vấn mới làm nguồn dữ liệu cho báo cáo. Thông thường, người dùng hay chọn phương án thứ 2 để có thể xây dựng 1 nguồn dữ liệu như mong muốn. Khi đó Access sẽ mở một môi trường để người dùng xây dựng một truy vấn mới cho báo cáo. Cũng giống như qui trình tạo truy vấn đã đề cập đến ở phần trên, chúng ta sẽ chọn các bảng có liên quan để lấy dữ liệu ra cho báo cáo. Giả sử ta có truy vấn như sau:

Sau khi tạo xong truy vấn, đóng cửa sổ soạn thảo truy vấn lại. Khi đó, Access sẽ hỏi có ghi lại sự thay đổi không. Bấm Yes để xác nhận sự thay đổi:

Đến đây, thuộc tính Record source của báo cáo đã được Access xây dựng. Nếu ta để ý thì đó chính là một câu lệnh SQL.

Bước 3: Trình bày dữ liệu lên báo cáo. Đây là bước người dùng tự định nghĩa khuôn dạng và kiểu dáng của báo cáo mà mình mong muốn. Có một số lưu ý sau:

- Report header là phần chứa tiêu đề của cả Report. Ví dụ chúng ta đặt tên cho báo cáo là “Danh sách nhân viên” thì tiêu đề này được đặt trong report header.

- Page header là phần chứa tiêu đề của các cột trong báo cáo. Tiêu đề này được lặp lại nếu độ dài của report dài quá 1 trang.

Sử dụng các đối tượng trên thanh công cụ Toolbox để xây dựng báo cáo (giả sử ta muốn tạo một báo cáo có khuôn dạng như sau):

131

Page 130: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ở đây chúng ta có một số lưu ý sau:

- Ở phần Page header, ta sử dụng tất cả các nhãn (Label) để đặt tên cho các cột dữ liệu. Ở đây ta muốn có một báo cáo gồm các cột: STT, Họ và tên nhân viên, Phòng mà nhân viên làm việc và Giới tính của nhân viên. Các nhãn này sẽ được hiển thị ở đầu của tất cả các trang.

- Ở phần Detail, cột STT ta đưa vào một textbox và thiết lập các thuộc tính Control Source = 1, Running sum là Over group (Đánh số thư tự). Các cột còn lại ta đưa vào các textbox và thiết lập các thuộc tính Control source của từng textbox là các tên trường tương ứng trong truy vấn vừa tạo ra ở trên.

- Ở dưới phần Report footer ta thêm vào một dòng để đếm tổng số nhân viên trong công ty. Để làm được điều này ta thêm vào một nhãn để ghi dòng chữ “Tổng cộng” và một textbox để tính tổng số nhân viên. Ta thiết lập thuộc tính Control source cho textbox bằng biểu thức =Sum(TenNhanvien).

132

Page 131: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Đến đây ta đã tạo được một báo cáo đơn giản về tình hình nhân sự của công ty bằng công cụ report design view. Bước cuối cùng là ghi lại báo cáo đã tạo. Báo cáo khi chạy sẽ như sau:

Trên đây chỉ là một ví dụ đơn giản để minh họa cho bạn đọc về cách tạo một báo cáo. Trong

thực tế, Access còn cho phép tạo ra nhiều ứng dụng phức tạp và mạnh hơn rất nhiều. Để bạn đọc có thể nghiên cứu và tự mình tạo ra được các ứng dụng với MS Access, chúng ta sẽ thực hành 2 bài tập cụ thể ở cuối phần. Trong chương tiếp theo, chúng ta sẽ xem xét sâu hơn về khía cạnh lập trình của Access, đó là lập trình ứng dụng VBA và lập trình CSDL.

133

Page 132: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

CHƯƠNG 5: TỔNG QUAN VỀ LẬP TRÌNH ỨNG DỤNG VBA VÀ DAO

VBA - Visual Basic for Application là một công cụ rất quen thuộc đối với người dùng bộ sản phẩm MS Office. Nhiều khi, trong Access, chúng ta muốn ứng dụng thực hiện các hành động mà bản thân Access không thể đáp ứng được. Khi đó, Visual basic là một công cụ rất hữu ích để chúng ta có thể thực hiện được các yêu cầu này.

Lập trình ứng dụng VBA thực chất là việc người phát triển ứng dụng Access “lập trình” để tạo ra các đoạn mã nguồn của riêng mình bằng ngôn ngữ lập trình Visual basic. Với các “chương trình” được tạo ra bởi VBA, ứng dụng được phát triển bằng Access sẽ có được các ưu điểm như sau:

- Ứng dụng dễ bảo trì hơn: Như đã trình bày ở trên, một ứng dụng được phát triển bằng Access có thể chứa đựng rất nhiều Macro để đáp ứng các tình huống trên form và report và như vậy, ứng dụng của chúng ta sẽ rất khó bảo trì và sửa chữa. Ngược lại, nếu được phát triển bằng các đoạn mã lệnh Visual basic thì các đoạn mã lệnh đó sẽ có thể được di chuyển một cách dễ dàng sang ứng dụng khác.

- Tạo được các thư viện hàm riêng: Bên cạnh các hàm được xây dựng sẵn (built in function), được sử dụng để thực hiện các tính toán cơ bản, lập trình VBA còn có thể cho phép chúng ta tự tạo ra các hàm riêng cho mình để thực hiện các phép tính toán phức tạp và có thể tái sử dụng trong các ứng dụng về sau.

- Xử lý lỗi: Khi có một lỗi không mong đợi xảy ra đối với ứng dụng, Access sẽ hiển thị một thông báo lỗi - một thông báo lỗi mà người dùng thường khó có thể hiểu được. Với VBA, chúng ta có thể “bắt” các lỗi này và hiển thị các thông báo lỗi của chính mình hay xử lý lỗi theo cách của mình.

- Tạo và thao tác với các đối tượng: Trong hầu hết các trường hợp, chúng ta thường tìm cách dễ nhất để tạo và sửa một đối tượng trong cửa sổ Design view của nó. Tuy nhiên, trong một số trường hợp, bạn có thể muốn thao tác, định nghĩa một đối tượng bằng mã chương trình. Dùng Visual basic chúng ta có thể thao tác trên tất cả đối tượng trong cơ sở dữ liệu, bao gồm cả chính nó.

- Thực hiện các hành động ở cấp độ hệ thống: Từ một ứng dụng Access, chúng ta có thể dùng “hành động” - action trên RunApp trong một macro để thi hành một ứng dụng Windows based (ứng dụng chạy trên Windows) nhưng những macro đó không thể thực hiện được những điều ở ngoài Access. Visual basic cho phép chúng ta thực hiện được những điều mà macro không thể làm được như: kiểm tra sự tồn tại của file, gọi các hàm trong các thư viện liên kết động (DLL) của Windows v.v.

- Thao tác với từng bản ghi - record: Với Visual basic, chúng ta có thể “duyệt” lần lượt từng bản ghi trong một tập các bản ghi và thực hiện các thao tác mong muốn trên bản ghi cụ thể nào đó. Với macro, chúng ta chỉ có thể làm việc một lúc với toàn bộ các record.

134

Page 133: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Truyền các đối số tới mã nguồn: Đối số là một giá trị cung cấp thêm thông tin theo yêu cầu của một số hoạt động (hàm, thủ tục). Chúng ta có thể đặt các đối số cho các hành động trong cửa sổ macro khi tạo một macro nhưng không thể thay đổi chúng khi macro đang thi hành. Tuy nhiên, với Visual basic, chúng ta có thể truyền các đối số đến mã nguồn tại thời điểm nó đang thi hành. Ngoài ra, chúng ta còn có thể sử dụng biến cho các đối số - điều này không thể thực hiện được trong macro. Đây chính là một sự linh động rất lớn trong việc điều khiển mã nguồn sẽ thi hành như thế nào.

5.1 CÁC KIỂU DỮ LIỆU VÀ KHAI BÁO

Cũng giống như tất cả các ngôn ngữ lập trình khác, VBA cung cấp một loạt các kiểu dữ liệu cơ bản sau:

- Kiểu dữ liệu Variant: Kiểu dữ liệu này có thể cất giữ nhiều loại dữ liệu. Giống như một text box trên một form, một biến variant có khả năng cất giữ các số, chuỗi, ngày tháng hay giá trị null. Bạn không cần phải chuyển đổi kiểu dữ liệu khi gán chúng vào một biến variant. Visual basic sẽ tự động thực hiện các chuyển đổi cần thiết.

- Các kiểu dữ liệu số: Byte, Integer, Long, Single, Double. Các kiểu dữ liệu này cho phép lưu trữ các giá trị số với độ lớn tối đã khác nhau.

- Kiểu dữ liệu xâu ký tự - String: Là kiểu ký tự dùng để lưu trữ các giá trị là một chuỗi xâu ký tự.

- Kiểu dữ liệu logic - Boolen: Là kiểu dữ liệu chỉ có 2 giá trị Đúng và Sai.

- Kiểu dữ liệu ngày tháng - Date: Lưu trữ giá trị ngày tháng và thời gian.

- Dữ liệu kiểu đối tượng - Object: Các kiểu dữ liệu đối tượng được cất giữ trong các địa chỉ 32 bit để tham chiếu tới các đối tượng trong một ứng dụng hay trong các ứng dụng khác. Một biến khai báo là Object có thể được gán (bằng các phát biểu Set) để tham chiếu tới bất cứ đối tượng đã được nhận biết bởi ứng dụng.

- Kiểu dữ liệu tiền tệ - Currency: Bản chất là kiểu số có độ lớn 8 byte. Kiểu dữ liệu tiền tệ luôn luôn có ký hiệu tiền tệ đi kèm.

5.2 BIẾN VÀ KHAI BÁO BIẾN

Biến (variable) là một đối tượng được sử dụng để cất giữ các giá trị trong khi thi hành mã nguồn Visual basic. Cú pháp khai báo 1 biến như sau:

Dim/Public <tên biến> [As Kiểu]

Trong đó:

- Dim/Public: là từ khoá của Visual basic để chỉ ra rằng đây là câu lệnh khai báo biến. Chúng ta sẽ chỉ sử dụng 1 trong 2 từ khoá Dim hay Public tuỳ theo từng ngữ cảnh cụ thể. Khi nào sử dụng từ khoá nào sẽ được đề cập ở phần phạm vi của biến dưới đây.

- <tên biến>: là tên mà người dùng đặt cho biến (theo qui tắc đặt tên biến của ngôn ngữ lập trình). Trong mã chương trình ta sẽ không sử dụng dấu < và >.

- As: Từ khoá của Visual basic chỉ ra kiểu của biến.

- Kiểu: Kiểu của biến

135

Page 134: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Cặp dấu [] chỉ ra rằng phần nằm bên trong nó là tuỳ chọn. Người dùng có thể chỉ ra một cách tường minh kiểu của biến hoặc không (nếu không, Visual basic ngầm hiểu kiểu của biến là variant).

Trong Visual basic, khác với một số ngôn ngữ lập trình khác (như Pascal hay C), chúng ta có thể không nhất thiết phải khai báo biến trước khi sử dụng nó. Đây chính là cách “không khai báo biến tường minh”. Tuy nhiên, để chương trình dễ “đọc” và dễ quản lý, chúng ta có thể khai báo tường minh các biến trước khi sử dụng nó.

Ví dụ:

Dim strName as string

strName = ‘Nguyễn Văn An”

Ở đây biến strName được sử dụng sau khi đã khai báo. Do đó nó được coi là khai báo tường minh. Ngược lại, nếu trước đó ta chưa khai báo bằng câu lệnh Dim ở trên thì biến strName được sử dụng theo kiểu không khai báo tường minh.

Khi được khai báo, một biến sẽ được sinh ra trong Visual basic và sẽ tồn tại trong một phạm vi nào đó, tức là nó sẽ có giá trị trong một vùng nào đó đã được xác định trước. Ngoài phạm vi đó, biến sẽ không còn có tác dụng. Trong Visual basic, chúng ta có 2 phạm vi cho biến đó là:

- Biến cục bộ: Là biến được khai báo bởi từ khoá Dim. Biến này chỉ tồn tại trong phạm vi khai báo nó - trong 1 hàm, một thủ tục hay một module nhất định.

- Biến toàn cục: Là biến được khai báo bởi từ khoá Public. Biến này có ảnh hưởng đến toàn bộ chương trình, do đó trong 1 chương trình không thể có 2 biến toàn cục có cùng tên. Tuy nhiên, chúng ta có thể khai báo biến cục bộ trùng tên với biến toàn cục. Khi đó Visual basic sẽ ưu tiên sử dụng biến cục bộ trong phạm vi của nó.

Ngoài ra, Visual basic còn hỗ trợ việc khai báo các hằng số. Hằng số là các giá trị cố định, không bị thay đổi trong chương trình. Việc sử dụng hằng số rất tiện lợi khi trong chương trình ta cần sử dụng lặp đi lặp lại một giá trị nào đó. Để khai báo hằng số, ta sử dụng cú pháp sau:

Const <tên hằng> = <Giá trị>

Ví dụ: Const name = “Nguyễn Văn Nam” - Khai báo hằng có giá trị kiểu chữ

Const dob = #09/17/1980# - Khai báo hằng có giá trị kiểu ngày tháng.

Tương tự như biến, hằng cũng có phạm vi ảnh hưởng của nó. Khi được khai báo trong hàm, thủ tục hay module nào thì hằng sẽ có ảnh hưởng đến hàm, thủ tục hay module đó. Để có hằng có phạm vi toàn cục, ta phải khai báo hằng bằng từ khoá Public Const ngay trong phần khai báo của module.

5.3 CÁC CẤU TRÚC ĐIỀU KHIỂN

Các cấu trúc điều khiển cho phép chúng ta điều khiển thứ tự thi hành của các câu lệnh trong một chương trình. Thông thường, nếu bỏ qua các cấu trúc điều khiển thì thứ tự thi thành của các câu lệnh trong một đoạn mã sẽ là tuần tự từ trên xuống dưới, bắt đầu với câu lệnh đầu tiên và kết thúc bởi câu lệnh cuối cùng. Cũng giống như các ngôn ngữ lập trình khác, Visual basic cung cấp đầy đủ các cấu trúc điều khiển cho phép chúng ta thay đổi thứ tự thực thi của các câu lệnh một cách linh hoạt và hiệu quả.

136

Page 135: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

5.3.1 Cấu trúc lệnh rẽ nhánh

Cấu trúc rẽ nhánh cho phép chúng ta kiểm tra các điều kiện rồi thực hiện các hành động khác nhau tuỳ thuộc vào kết quả được kiểm tra. Các cấu trúc lựa chọn của Visual basic bao gồm:

If … Then

If .. Then … Else

Select Case.

Cấu trúc If .. Then dùng để thi hành một hay nhiều câu lệnh khi một điều kiện kiểm tra được thoả mãn. Cấu trúc chung của If … Then như sau:

If < điều kiện> Then

<một hoặc nhiều lệnh>

End If.

Với đoạn mã trên, nếu <điều kiện> - thường là một biểu thức logic - là đúng thì chương trình sẽ thực hiện <một hoặc nhiều lệnh>. Ngược lại, chương trình sẽ không thực hiện gì.

Cấu trúc If …Then … Else là sự phát triển của cấu trúc If … Then. Ở trên, nếu biểu thức là đúng thì một hoặc nhiều lệnh trong khối được thực hiện, ngược lại chương trình không thực hiện gì. Tuy nhiên, trong cấu trúc này, nếu điều kiện kiểm tra là sai thì chương trình sẽ thực hiện các lệnh nằm trong phần Else:

If <điều kiện> Then

<một hoặc nhiều lệnh>

Else

<một hoặc nhiều lệnh khác>

End If

Select Case lại là phần mở rộng hơn của If … Then … Else. Trong cấu trúc If … Then … Else, chúng ta chỉ có thể xử lý được một trong 2 tình huống là <điều kiện> đúng hoặc sai. Tuy nhiên, trong thực tế có rất nhiều trường hợp <điều kiện> của chúng ta lại trả về nhiều hơn 2 giá trị. Do đó biểu thức Select Case được sử dụng để giải quyết các tình huống đó. Cú pháp của biểu thức này như sau:

Select Case <tên biến>

Case <giá trị 1>

<tập lệnh 1>

Case <giá trị 2>

<tập lệnh 2>

….

Case <giá trị n>

<tập lệnh n> 137

Page 136: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Case Else

<tập lệnh n+1>

End Select

Ý nghĩa của biểu thức này như sau: Chương trình sẽ kiểm tra <tên biến>. Ứng với mỗi giá trị của <tên biến>, tập lệnh tương ứng sẽ được thực hiện. Ngược lại, nếu không có giá trị nào trong các giá trị trên thoả mãn thì tập lệnh thứ n+1 nằm sau Case Else sẽ được thực hiện.

Với cấu trúc này, nếu 1 biến có nhiều hơn 1 giá trị thì cũng chỉ tập lệnh đầu tiên ứng với giá trị đầu tiên được thực hiện và chương trình sẽ tự động thoát ra khỏi cấu trúc Select.

5.3.2 Cấu trúc lặp

Trong lập trình cũng như trong đời sống, chúng ta có thể muốn lặp đi lặp lại một số thao tác nào đó một số lần nhất định, cho tới khi đạt đến một đích cho trước hay cho tới khi một điều kiện nào đó được thỏa mãn. Trong lập trình, trường hợp đầu được gọi là một vòng lặp xác định trước số lần lặp và trường hợp sau gọi là vòng lặp không xác định trước số lần lặp. Với Visual basic, chúng ta có các cấu trúc lặp như sau:

Do … Loop: Đây là cấu trúc lặp với số vòng lặp không xác định trước. Cú pháp của cấu trúc này như sau:

Do While <điều kiện>

<các lệnh>

Loop

Với cấu trúc này, nếu <điều kiện> còn đúng thì <các lệnh> sẽ còn được thực hiện. Chỉ khi nào <điều kiện> là sai thì vòng lặp mới kết thúc. Đây là cấu trúc lặp mà ngay từ lần thực hiện đầu tiên chương trình đã kiểm tra <điều kiện>. Điều này có nghĩa là có thể vòng lặp sẽ không được thực hiện lần nào nếu <điều kiện> sai ngay lần thử đầu tiên. Để cải tiến, ta có thể sử dụng cấu trúc này theo cách sau:

Do

<các lệnh>

Loop While <điều kiện>

Để đảm bảo ít nhất vòng lặp được thực hiện một lần.

Ngoài ra, chúng ta cũng có thể sử dụng cấu trúc lặp này với từ khoá Until thay vì từ khóa While. Điều khác biệt ở đây là, với từ khoá While, vòng lặp sẽ dừng lại khi <điều kiện> là sai, còn với từ khoá Until, vòng lặp sẽ dừng lại khi điều kiện là đúng.

For … Next: Vòng lặp Do …Loop ở trên hoạt động rất tốt trong trường hợp chúng ta chưa biết chính xác số lượng vòng lặp cần thực hiện. Tuy nhiên, trong nhiều trường hợp, khi chúng ta đã biết chính xác được số lượng vòng lặp rồi thì cấu trúc For … Next là một lựa chọn tốt hơn. Cú pháp của cấu trúc này như sau:

For <biến đếm> = <bắt đầu> To <kết thúc> [Step <giá trị tăng>]

<các lệnh>

Next 138

Page 137: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ý nghĩa của cấu trúc này như sau: Chương trình sẽ thực hiện <các lệnh> với số lượng là <kết thúc> - <bắt đầu> + 1 lần. Ở đây, biến đếm, bắt đầu và kết thúc thường là các số nguyên. Đầu tiên, chương trình thiết lập <biến đếm> bằng với <bắt đầu> và ngầm định giá trị tăng là 1 và thực hiện <các lệnh>. Sau mỗi vòng, chương trình tăng <biến đếm> lên 1 giá trị và so sánh nó với <kết thúc>. Nếu <biến đếm> còn nhỏ hơn <kết thúc> thì thực hiện tiếp <các lệnh>, ngược lại thì thoát khỏi vòng lặp. Ở đây, Step được ngầm định hiểu là giá trị 1 nếu ta không viết ra tường minh.

Ví dụ, chúng ta muốn in ra màn hình các chữ số từ 1 đến 10. Do đã biết được số vòng lặp là 10 nên ta có thể sử dụng cấu trúc For … Next như sau:

For i = 1 To 10

Debug.Print i

Next i

Nếu muốn in ngược lại từ 10 đến 1, ta sử dụng Step = -1 như sau:

For i = 10 to 1 Step -1

Debug.Print i

Next i

For Each … Next: Là cấu trúc tương tự như For … Next nhưng nó lặp lại một nhóm các câu lệnh cho từng phần tử trong một tập hợp hay trong một mảng (array) thay vì lặp các câu lệnh một số lần chỉ định. Điều này đặc biệt có ích nếu chúng ta không biết có bao nhiêu phân tử trong tập hợp.

Cú pháp của cấu trúc này như sau:

For Each <phần tử> In <tập hợp>

<các lệnh>

Next <phần tử>

5.3.3 Các cấu trúc điều khiển lồng nhau.

Chúng ta hoàn toàn có thể đặt các cấu trúc điều khiển bên trong một cấu trúc điều khiển khác (ví dụ một khối If…Then nằm trong một vòng lặp For …Next). Một cấu trúc điều khiển đặt bên trong một cấu trúc điều khiển khác được gọi là lồng nhau. Nếu muốn, chúng ta cũng có thể tổ chức các cấu trúc điều khiển trong Visual basic thành nhiều cấp.

Qui luật về các cấu trúc điều khiển lồng nhau là rất đơn giản. Khi đó, cấu trúc bên trong phải được hoàn thành trước khi trở thành điều kiện kiểm tra cho cấu trúc bên ngoài trực tiếp chứa nó. Một kỹ thuật lập trình mà chúng ta nên tham khảo và áp dụng, đó là khi viết các cấu trúc điều khiển lồng nhau, chúng ta nên căn lề cho từng cấu trúc để đoạn mã chương trình rõ ràng và dễ gỡ rối khi có lỗi xảy ra.

5.3.4 Thoát khỏi một cấu trúc điều khiển lặp

Như đã trình bày ở trên, các vòng lặp For và Do được lặp đi lặp lại với số lượng lần biết trước hay không biết trước. Tuy nhiên, trong nhiều ứng dụng, nếu chúng ta đã thực hiện được mục tiêu thì chúng ta cần thoát ngay ra khỏi vòng lặp. Khi đó, câu lệnh Exit có thể được sử dụng để

139

Page 138: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

chương trình ngay lập tức thoát ra khỏi vòng lặp. Cú pháp của câu lệnh này rất đơn giản, từ khoá exit được sử dụng cùng với từ khoá của vòng lặp For hay Do

Ví dụ: Exit For sẽ thoát ngay ra khỏi vòng lặp For.

5.4 SỬ DỤNG LỆNH DOCMD

Trong nhiều trường hợp, mã lệnh của Visual basic không thể giúp chúng ta thực hiện được một số hành động - chẳng hạn như đóng hay mở một form, report. Khi đó, lệnh DoCmd của Access là một công cụ hữu ích giúp chúng ta thực hiện các hành động kiểu này.

DoCmd có cú pháp như sau:

DoCmd.<hành động> <danh sách các tham số>

Ở đây, hành động là các hành động mà Access hỗ trợ như đóng (close), mở (open) form hay report, thực thi câu lệnh SQL (RunSQL).

<danh sách các tham số> là các tham số mà mỗi <hành động> ở trên hỗ trợ, mỗi tham số được viết cách nhau bởi 1 dấu phẩy “,”.

Ví dụ, chúng ta có 1 form được đặt tên là frmUser. Để mở form này, chúng ta có thể thực hiện câu lệnh DoCmd như sau:

DoCmd.OpenForm “frmUser”, acNormal - Mở form ở chế độ thi hành.

Với các hành động mở Form và mở Report, chúng ta thường có các tham số như sau:

[ViewMode], [FilterName], [WhereCondition], [DataMode], [WindowsMode]

Trong đó:

- ViewMode - chế độ mở. Cụ thể:

o acDesign: Mở Report ra chế độ thiết kế

o acNormal: Mở Report ra để thi hành

- FilterName - Đặt lọc

- WhereCondition - Giới hạn các bản ghi trong nguồn dữ liệu

- DataMode - thiết lập chế độ dữ liệu trên Report

- WindowsMode - thiết lập kiểu cửa sổ Report là:

o acDialog: Kiểu hộp thoại

o acWindowsNormal: Kiểu cửa sổ bình thường

Ngoài ra, lệnh DoCmd.RunSQL <câu lệnh SQL> sẽ thực thi một câu lệnh SQL giống như nó được viết ra trong một truy vấn.

5.5 CHƯƠNG TRÌNH CON - THỦ TỤC VÀ HÀM

Cũng giống như trong tất cả các ngôn ngữ lập trình khác, Visual basic cũng hỗ trợ người lập trình tạo ra các chương trình con dưới dạng thủ tục hay hàm. Một chương trình con, về mặt cấu trúc có thể được coi như một chương trình hoàn chỉnh được viết để làm một số việc nhất định nào

140

Page 139: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

đó. Thông thường, nhiều khi người lập trình muốn sử dụng lặp đi, lặp lại một đoạn mã lệnh nào đó. Khi đó, đoạn mã lệnh đó có thể được viết dưới dạng một chương trình con để người lập trình có thể tái sử dụng nó một cách hiệu quả mà không cần phải viết lại toàn bộ đoạn mã.

Có hai loại chương trình con, đó là Thủ tục (Sub) và Hàm (Function). Sự khác biệt cơ bản giữa thủ tục và hàm là ở chỗ: Thủ tục là một chương trình con được viết để thực hiện một hoặc một vài thao tác nhưng không trả về một giá trị nào và không được sử dụng trong một biểu thức, trong khi đó, hàm là một chương trình con được viết để tính toán và trả về một giá trị nào đó và có thể được sử dụng trong một biểu thức. Cả hàm và thủ tục đều có thể nhận các đối số.

Cách khai báo thủ tục:

[Private|Public] [Static] Sub <Tên thủ tục>(<Danh sách các đối số>)

<các lệnh>

End Sub.

Trong đó

- Private|Public là các từ khoá khai báo phạm vi của thủ tục là toàn cục hay cục bộ. Nếu không được chỉ rõ, Visual basic sẽ tự coi thủ tục nó là Private.

- [Static] là từ khoá chỉ ra thủ tục đó là tĩnh.

- Sub và End Sub: Là các từ khoá bắt buộc có trong khai báo thủ tục.

- <Tên thủ tục>: Là tên của thủ tục mà người dùng muốn đặt.

- <Danh sách các đối số>: Là danh sách các đối truyền vào thủ tục. Nếu có nhiều đối số thì mỗi đối số được phân cách bởi dấu phẩy. Mỗi đối số giống như một khai báo biến và hoạt động giống như một biến trong thủ tục. Cú pháp khai báo đối số là:

[optional] [byval] <tên biến> as <kiểu>.

Cú pháp khai báo một hàm như sau:

[Private|Public] [Static] Function <tên hàm> (<danh sách các đối số> as <kiểu>)

<các lệnh>

End Function

Ở đây mọi thứ đều giống như trong khai báo thủ tục, điều khác biệt duy nhất là vì hàm trả về giá trị, cho nên trong khai báo hàm ta có thêm khai báo kiểu giá trị trả về của hàm bằng chỉ thị: as <kiểu>.

Vì hàm trả về một giá trị cho nên trước khi kết thúc một hàm (trước câu lệnh End Function), chúng ta luôn phải gán giá trị trả về vào hàm bằng câu lệnh gán như sau:

<tên hàm> = <giá trị trả về>.

Ở đây <tên hàm> chính là tên hàm mà ta định nghĩa ở trên còn <giá trị trả về> có thể là giá trị nào đó hoặc một biểu thức nào đó.

141

Page 140: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ví dụ 1:

Ta cần một thủ tục đổi giá trị của 2 số nguyên cho nhau. Mỗi lần thủ tục được gọi với 2 biến số nguyên bất kỳ thì giá trị của chúng sẽ được hoán đổi cho nhau. Thủ tục sẽ được viết như sau:

Private Sub Hoanvi(so_thu_nhat as Integer, so_thu_hai as Integer)

Dim so_tam_thoi as Integer

so_tham_thoi = so_thu_nhat

so_thu_nhat = so_thu_hai

so_thu_hai = so_tam_thoi

End Sub.

Ở thủ tục này, công việc của ta rất đơn giản, ta sử dụng một biến trung gian là so_tam_thoi (Số tạm thời) để lưu trữ giá trị cho số thứ nhất, sau đó gắn giá trị của số thứ 2 vào số thứ nhất. Như vậy số thứ nhất đã có giá trị của số thứ 2. Cuối cùng, ta lấy giá trị của số tạm thời (thực chất là giá trị của số thứ nhất) để gán cho số thứ 2. Như vậy, sau thủ tục này, giá trị của 2 số nguyên đã được hoán đổi cho nhau.

Tiếp theo ta sẽ lấy ví dụ về cách tạo hàm. Giả sử ta cần một hàm số tính giai thừa của một số nguyên. Biến đầu vào là một số nguyên và giá trị trả về là giai thừa của số đó. Ta sẽ viết hàm như sau:

Ví dụ 2: Tính giai thừa của số nguyên n

Private Function giaithua(songuyen as Integer) as Long

Dim i as Integer

Dim tam as Long

tam = 1

For i = 1 to songuyen

tam = tam * i

Next

giaithua = tam

End Function

Lưu ý: Công thức tính giai thừa của số nguyên N: N! = 1x2x3x...xN

Ví dụ 3:

Hàm chuẩn hóa 1 xâu ký tự (Các từ cách nhau 1 dấu cách, chữ cái đầu từ viết hoa, các chữ còn lại viết thường).

Public Function Chuanhoa(ByVal ST As String)

Dim i As Integer

ST = Trim(ST)

142

Page 141: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Do While InStr(1, ST, " ") > 0

ST = Replace(ST, " ", " ")

Loop

ST = LCase(ST)

ST = " " & ST

For i = 1 To Len(ST) - 1

If Mid(ST, i, 1) = " " Then

ST = Mid(ST, 1, i) & Replace(ST, Mid(ST, i + 1, 1), UCase(Mid(ST, i + 1, 1)), i + 1, 1)

End If

Next

Chuanhoa = Trim(ST)

End Function

Lưu ý: Cách sử dụng các hàm Trim(), Mid(), Replace(), Len(), UCase() v.v. xem hướng dẫn sử dụng chi tiết trong trợ giúp của Access.

5.6 LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI DAO

DAO (Data Access Objects) là một lớp thư viện các đối tượng được cung cấp bởi Microsoft dùng cho việc truy nhập và quản lý CSDL.

Để sử dụng DAO, trước hết cần kiểm tra xem thư viện này đã được nạp vào ứng dụng chưa. Từ cửa sổ Microsoft Visual Basic, chọn menu Tools -> References. Trong cửa sổ hiện ra, nếu hộp chọn Microsoft DAO chưa được chọn thì có nghĩa DAO chưa được nạp. Click chọn hộp chọn này, sau đó click OK để nạp DAO.

143

Page 142: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Các đối tượng chính trong thư viện DAO bao gồm:

Databases

Recordsets

Querydef

Tabledef

5.6.1 Đối tượng Database

Database là đối tượng dùng để làm việc với một cơ sở dữ liệu. Với Access, một cơ sở dữ liệu được coi như một file .MDB trong ổ đĩa của máy tính.

Khai báo đối tượng database như sau:

Dim objDB as DAO.Database - Khai báo biến objDB có kiểu đối tượng database

Sau khi đã khai báo biến objDB, muốn mở một cơ sở dữ liệu Access trong ổ cứng và gắn biến objDB vào cơ sở dữ liệu đó, ta dùng chỉ thị:

Set objDB = OpenDatabase(“C:\THQL\Test.MDB”)

Ngoài ra, nếu có một cơ sở dữ liệu đang được mở (hiện tại đang được sử dụng) thì chúng ta có thể gán biến objDB vào cơ sở dữ liệu hiện tại như sau:

Set objDB = CurrentDB

Mỗi lần mở một biến đối tượng database, hệ thống cần một vùng bộ nhớ nhất định để lưu trữ nó. Do đó, khi không sử dụng biến đó nữa hoặc trước khi thoát khỏi chương trình, người lập trình nên giải phóng bộ nhớ bằng cách đóng biến database đó lại. Cú pháp như sau:

objDB.Close

5.6.2 Đối tượng Recordset

Recordset là đối tượng được dùng để lưu trữ tập hợp tất cả các bản ghi của một bảng, một truy vấn nào đó. Để khai báo và khởi tạo một recordset, ta làm như sau:

Dim rs as DAO.Recordset

Set rs = objDB.OpenRecordset (<nguồn dữ liệu>)

Ở đây, dòng 1 ta khai báo một biến rs có kiểu là đối tượng recordset. Dòng 2, ta thực hiện việc gắn recordset đó vào một bảng, một tập giá trị trả về nào đó - phụ thuộc vào <nguồn dữ liệu> trong đối tượng database objDB đã được mở ở trên. <nguồn dữ liệu> là một xâu ký tự chỉ ra nguồn dữ liệu sẽ trả về cho Recordset. Xâu này có thể là tên 1 bảng trong cơ sở dữ liệu hoặc một câu lệnh SQL hay một truy vấn trong cơ sở dữ liệu.

Ví dụ, ta có một file Nhansu.MDB lưu trữ trong ổ đĩa C của máy tính. Yêu cầu của chúng ta là mở cơ sở dữ liệu đó, lấy ra thông tin về tất cả các nhân viên trong bảng “Nhanvien” và gắn nó vào một Recordset, chúng ta làm như sau:

144

Page 143: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Dim objDB as DAO.Database

Dim rs as DAO.Recordset

Set objDB = OpenDatabase(“C:\Nhansu.MDB”)

Set rs = objDB.OpenRecordset(“Nhanvien”)

Rs.Close

objDB.Close

Đối tượng Recordset có một số thuộc tính và phương thức đáng quan tâm sau:

- Thuộc tính AbsolutePosition: Cho biết vị trí của bản ghi hiện tại tính từ giá trị đầu tiên (có vị trí là 0). Nếu recordset không có bản ghi nào hoặc đang ở bản ghi cuối cùng (EOF – End Of File) thì thuộc tính này sẽ không thể lấy ra được do đó khi lấy thuộc tính này, người dùng phải kiểm tra xem Recordset đã có bản ghi nào chưa bằng thuộc tính RecordCount

- Thuộc tính RecordCount: Trả về số lượng bản ghi chứa trong một Recordset.

- Thuộc tính EOF/BOF: Kiểm tra xem bản ghi hiện tại có là bản ghi cuối cùng hay bản ghi đầu tiên hay không.

- Thuộc tính Fields: Dùng để tham chiếu tới các trường trên các bản ghi mà Recordset lưu trữ. Fields có đối số là một số nguyên chỉ vị trí của cột thứ mấy trong cấu trúc recordset (tính từ vị trí 0) hoặc là một xâu chỉ tên của trường. Ví dụ, chúng ta có 1 recordset chứa thông tin về nhân sự như sau:

STT Họ tên Tuổi

1 Nguyễn Văn A 19

2 Phạm Văn B 20

… …. …

Khi đó, nếu ta lấy rs.Fields(1) hay rs.Fields(“Họ tên”) thì ta sẽ được cùng 1 giá trị là trường Họ tên trong rs. Tùy vào vị trí của bản ghi hiện tại, giá trị trường Họ tên của bản ghi đó sẽ được trả về. Ví dụ, nếu bản ghi hiện tại là bản ghi đầu tiên, rs.Fields(1) = “Nguyễn Văn A”.

- Phương thức Close: Được dùng để đóng lại một Recordset đang mở khi thôi không làm việc với recordset này nữa.

- Phương thức MoveFirst: Di chuyển bản ghi hiện thời về bản ghi đầu tiên trong Recordset.

- Phương thức MoveLast: Di chuyển bản ghi hiện thời về bản ghi cuối cùng trong Recordset.

- Phương thức MoveNext: Di chuyển bản ghi hiện thời đến bản ghi kề sau.

145

Page 144: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Phương thức AddNew: Thêm một bản ghi trắng vào vị trí cuối cùng trong recordset. Phương thức này luôn luôn phải đi cùng phương thức Update sẽ được trình bày ở dưới.

- Phương thức Edit: Sửa một bản ghi trong recordset bằng cách thay đổi giá trị của các trường trong nó rồi sử dụng phương thức Update để cập nhật sự thay đổi.

- Phương thức Update: Cập nhật dữ liệu được thêm vào bởi phương thức AddNew hoặc Edit.

- Phương thức Delete: Xoá bản ghi hiện tại trong recordset.

Ví dụ 1: Xét recordset ở ví dụ trên (bảng NhanVien), nếu muốn thêm 1 bản ghi mới vào bảng và sửa đổi tuổi của nhân viên ở vị trí đầu tiên thành 50 (ví dụ đơn giản và ở đây trường STT là tự tăng) ta làm như sau:

(Khai báo và mở cơ sở dữ liệu, mở recordset như đã trình bày ở trên)

//Thêm bản ghi mới

Rs.AddNew

Rs.Fields(“Họ Tên”) = “Nguyễn Văn C”

Rs.Fields(“Tuổi”) = 30

Rs.Update

//Sửa bản ghi đầu tiên

//Di chuyển về bản ghi đầu tiên để tiến hành sửa đổi

Rs.MoveFirst

Rs.Edit

Rs.Fields(“Tuổi”) = 50

Rs.Update

(Đóng recordset và cơ sở dữ liệu như đá trình bày ở trên.)

Ví dụ 2: Vẫn recordset ở ví dụ trên (bảng NhanVien), giả sử ta muốn kiểm tra xem trong bảng Nhân viên đã có nhân viên nào với 1 mã số cho trước chưa, ta làm như sau:

(Khai báo và mở cơ sở dữ liệu, mở recordset như đã trình bày ở trên)

Dim maso as Integer

Dim timthay as Boolean

maso=<mã số cho trước>

timthay=False

//Di chuyển về bản ghi đầu tiên

Rs.MoveFirst

Do While not Rs.EOF

146

Page 145: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

If Rs.Fields(0)=maso Then

timthay=true

Exit Do

End If

Rs.MoveNext

Loop

(Đóng recordset và cơ sở dữ liệu như đá trình bày ở trên.)

Như vậy, sau khi thực hiện đoạn mã, kiểm tra biến timthay sẽ biết nhân viên với mã số trên đã có trong bảng Nhân viên chưa.

5.6.3 Đối tượng Querydef

Đối tượng Querydef là đối tượng được sử dụng để tham chiếu tới các truy vấn có sẵn trong cơ sở dữ liệu hoặc cũng có thể cho phép người lập trình tạo ra các truy vấn từ các câu lệnh SQL. Khi cần sử dụng một đối tượng querydef, ta làm như sau:

(Khai báo một đối tượng database và mở nó như đã trình bày ở trên.)

Dim objQR as DAO.QueryDef

//Tạo một truy vấn rỗng

Set objQR = objDB.CreateQueryDef(<Tên truy vấn>)

//Gắn câu lệnh SQL vào truy vấn

objQR.SQL = <Câu lệnh SQL>

//Thực thi truy vấn.

objQR.Execute

//Đóng và giải phóng truy vấn.

objQR.Close

Với kiểu thực thi truy vấn như thế này, điều tiện lợi là hệ thống không cần tạo ra một truy vấn thực sự như ta vẫn làm và lưu trữ nó trong cơ sở dữ liệu. Ở đây, truy vấn chỉ được tạo ra trong bộ nhớ và sau khi đã thực thi xong nó sẽ được giải phóng, do đó ta sẽ không cần thiết phải lưu trữ những truy vấn này.

Ví dụ: Tạo truy vấn xoá các nhân viên có tuổi > 50 trong bảng Nhanvien ở cơ sở dữ liệu trong ví dụ trên:

Dim objDB as DAO.Database

Dim objQR as DAO.QueryDef

Set objDB = OpenDatabase(“C:\Test.MDB”)

Set objQR = objDB.CreateQueryDef(“”)

147

Page 146: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

objQR.SQL = “DELETE FROM Nhanvien WHERE Tuoi >50”

objQR.Execute

objQR.Close

objDB.Close

5.6.4 Đối tượng Tabledef

Như đã biết, bảng là một thành phần quan trọng và chủ yếu của một cơ sở dữ liệu, là nơi dữ liệu được lưu trữ. Bảng thường được tạo ra khi người lập trình thiết kế và cài đặt cơ sở dữ liệu. Bên cạnh đó, VBA cho phép người lập trình tạo ra các bảng, sửa chữa và thay đổi cấu trúc bảng trong lúc chương trình chạy (Run-Time) giống như ta sử dụng các chức năng Design view.

Tabledef có các thuộc tính quan trọng sau:

- Thuộc tính name: Cho ta biết tên bảng được gán vào đối tượng kiểu Tabledef.

- Thuộc tính RecordCount: Cho biết tổng số bản ghi hiện có trên bảng được gán vào đối tượng kiểu Tabledef.

- Thuộc tính DateCreated: Cho biết thời gian tạo ra bảng được gán vào đối tượng kiểu Tabledef.

- Thuộc tính Fields: Được sử dụng để tham chiếu tới các trường (cột) của bảng. Đây là thuộc tính hay được sử dụng nhất trong Tabledef.

Bên cạnh các thuộc tính trên, Tabledef còn có các phương thức như sau:

- Phương thức CreateTabledef: Được dùng để tạo một bảng mới.

Cú pháp tạo 1 bảng bằng cách dùng CreateTabledef:

(Giả sử có biến objDB có kiểu database đã được khởi tạo và gắn vào 1 cơ sở dữ liệu.)

Dim tbl as TableDef

Set tbl = objDB.CreateTabledef(<tên bảng cần tạo>)

tbl.Fields.Append tbl.CreateField(<tên cột thứ nhất>,<kiểu của cột thứ nhất>)

tbl.Fields.Append tbl.CreateField(<tên cột thứ hai>,<kiểu của cột thứ hai>)

….

tbl.Fields.Append tbl.CreateField(<tên cột thứ n>,<kiểu của cột thứ n>)

objDB.Tabledefs.Append tbl

Ý nghĩa của các dòng lệnh như sau: Dòng thứ nhất là câu lệnh khai báo 1 biến tên tbl có kiểu là Tabledef. Dòng thứ hai, ta tiến hành tạo một bảng với tên là <tên bảng cần tạo> trong cơ sở dữ liệu được gắn với biến objDB. Các dòng tiếp theo đến trước dòng cuối cùng là các lệnh tạo các trường (field) cho bảng mới và kiểu dữ liệu cho các cột. Kiểu dữ liệu được khai báo theo qui tắc db<tên kiểu>. Ví dụ ta muốn tạo một trường có kiểu dữ liệu Integer thì ta khai báo là dbinteger, kiểu Text thì ta khai báo là dbText v.v. Ngoài ra, ta còn có thể định nghĩa cả độ lớn của kiểu dữ liệu nếu cần.

148

Page 147: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ví dụ: Tạo một bảng mới có tên My_Table trong cơ sở dữ liệu hiện tại. Bảng My_Table có 3 trường là ID có kiểu Integer, Name có kiểu Text với độ lớn 30 và Age có kiểu Integer. Ta viết mã lệnh như sau:

Dim objDB As DAO.Database

Dim objtbl As DAO.TableDef

Set objDB = CurrentDb

Set objtbl = objDB.CreateTableDef("My_Table")

objtbl.Fields.Append objtbl.CreateField("ID", dbInteger)

objtbl.Fields.Append objtbl.CreateField("Name", dbText, 30)

objtbl.Fields.Append objtbl.CreateField("Age", dbInteger)

objDB.TableDefs.Append objtbl

Khi đoạn mã trên được thực thi, một bảng với tên “My_Table” sẽ được tạo ra nếu nó chưa tồn tại. Ngược lại, Access sẽ thông báo lỗi bảng đã tồn tại.

149

Page 148: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

CHƯƠNG 6: BÀI TẬP ỨNG DỤNG

6.1 CHƯƠNG TRÌNH QUẢN LÝ NHÂN SỰ ĐƠN GIẢN

Để phát triển một phần mềm ứng dụng, dù lớn hay nhỏ, công việc đầu tiên mà người lập trình cần làm đó là tìm hiểu các yêu cầu và nghiệp vụ của người sử dụng. Ở bài toán này, chúng ta giả sử người dùng muốn có một chương trình quản lý nhân sự với các tính năng rất đơn giản như sau:

- Lưu trữ dữ liệu về nhân sự của công ty.

- Cập nhật thông tin về nhân sự: Thêm mới, sửa chữa thông tin cá nhân, xóa nhân viên khỏi cơ sở dữ liệu.

- Báo cáo về tình hình nhân sự của công ty theo các phòng ban.

Với các yêu cầu nghiệp vụ như trên, bước đầu tiên trong quá trình xây dựng bài toán quản lý nhân sự là tiến hành phân tích và thiết kế cơ sở dữ liệu.

6.1.1 Thiết kế và xây dựng CSDL quản lý nhân sự

Rõ ràng, với các yêu cầu này, ta cần có các thực thể sau để lưu trữ dữ liệu:

- Thực thể nhân viên với các thuộc tính: Họ tên, ngày sinh, giới tính và phòng ban

- Thực thể Phòng ban với các thuộc tính: Tên phòng ban

Từ hai thực thể được xác định ở trên, chúng ta tiến hành thiết lập các bảng dữ liệu cho cơ sở dữ liệu. Rõ ràng, hai thực thể này có mối quan hệ dạng 1-n với nhau. Theo đó, một phòng ban có thể có nhiều nhân viên nhưng ngược lại, một nhân viên chỉ có thể thuộc một phòng ban nhất định. Từ đó chúng ta tiến hành xây dựng 2 bảng Nhân viên và phòng ban với các thuộc tính như sau (Thuộc tính khóa được biểu diễn bởi tên thuộc tính có gạch chân):

Nhanvien(Mã nhân viên, Họ và tên, Ngày sinh,Giới tính)

Phong(Mã phòng, Tên phòng)

Để liên kết hai bảng này theo kiểu liên kết 1-n, chúng ta cần đưa khóa chính của bảng phía 1 (ở đây là bảng Phòng) sang làm khóa ngoài ở phía bảng n (ở đây là bảng Nhân viên). Như vậy ta có cấu trúc 2 bảng mới như sau:

Nhanvien(Mã nhân viên, Mã phòng, Họ và tên, Ngày sinh,Giới tính)

Phong(Mã phòng, Tên phòng)

Đến đây chúng ta tiến hành xác định kiểu dữ liệu và độ lớn của dữ liệu cho từng thuộc tính:

Với bảng Nhân viên, thuộc tính Mã nhân viên ta có thể để là text với độ dài 5 ký tự là đủ để đánh mã cho đơn vị (giả sử đơn vị có dưới 1000 nhân viên và mã nhân viên được ghi theo qui tắc NVxxx trong đó xxx là các con số từ 001 đến 999).

150

Page 149: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Thuộc tính Mã phòng có kiểu Text với độ lớn là 3 ký tự được đánh theo qui tắc Pxx với xx là các con số từ 01 đến 09 (Giả sử trong đơn vị có dưới 10 phòng ban).

Thuộc tính Họ và tên có kiểu Text với độ lớn là 30 ký tự

Ngày sinh có kiểu date/time theo format short date (dữ liệu được ghi kiểu tháng/ngày/năm).

Thuộc tính giới tính kiểu text, độ dài 3 ký tự (Nam/Nữ).

Khóa chính của bảng Nhân viên là thuộc tính Mã nhân viên.

Với bảng Phòng, mã phòng có kiểu text, độ lớn 3 ký tự. Tên phòng kiểu text, độ lớn 20 ký tự. Khóa chính là thuộc tính mã phòng.

Như vậy ta đã thiết kế xong cơ sở dữ liệu cho bài toán này. Bước tiếp theo là tiến hành xây dựng cơ sở dữ liệu trên Access.

Áp dụng những phần đã trình bày ở trên, bạn đọc tự tạo mới một cơ sở dữ liệu và xây dựng 2 bảng đặt tên là Nhanvien và Phong. Lưu ý, không nên gõ tiếng Việt có dấu cho các đối tượng cũng như tên trường trong bảng vì nhiều khi Access không nhận biết được một cách chính xác các ký tự tiếng Việt có dấu và khi đó có thể chương trình sẽ chạy không chuẩn.

6.1.2 Xây dựng Form nhập dữ liệu

Sau khi đã có được cơ sở dữ liệu, chúng ta tiến hành xây dựng các form phục vụ cho nghiệp vụ của bài toán. Như đã đề cập ở trên, bài toán yêu cầu xây dựng một chương trình quản lý cho phép chúng ta lưu trữ, cập nhật dữ liệu về nhân sự. Do đó, cần xây dựng các form để thêm/sửa và xóa dữ liệu trong bảng Nhân viên và bảng Phòng ban (trong trường hợp có thêm phòng ban mới hoặc thay một phòng ban nào đó bị giải thể).

Trước hết ta xây dựng form nhập dữ liệu cho bảng Nhân viên để thêm mới một nhân viên với công cụ Form design view. Áp dụng các bước tạo form đã trình bày ở trên, tạo một form nhập liệu cho bảng nhân viên như sau:

Trong form này, chúng ta sử dụng 3 text box để nhập dữ liệu cho 3 trường Mã nhân viên,

Tên nhân viên và Ngày sinh, 2 combo box để chọn tên phòng và giới tính cho nhân viên. Như chúng ta đã biết, giới tính chỉ có thể là 1 trong 2 giá trị “Nam” và “Nữ” nên ta tạo một combo box

151

Page 150: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

chỉ chứa 2 giá trị trên. Để tạo được combo box như trên, từ thanh công cụ toolbox, chọn đối tượng combo box, sau đó click chuột vào vùng muốn đặt nó trên form. Khi đó access sẽ hỏi cách thức đưa dữ liệu vào combo box. Có 2 lựa chọn là lấy dữ liệu từ bảng hoặc truy vấn hoặc tự nhập vào. Trong trường hợp này chúng ta lựa chọn phương án thứ 2 “I will type in the values that I want”.

Bấm Next để bắt đầu nhập dữ liệu vào. Chúng ta nhập vào 2 giá trị là Nam và Nữ.

Bấm Finish để kết thúc. Tiếp theo tạo thêm một combo box để chọn tên phòng ban cho nhân viên mới được nhập vào. Theo thiết kế, trong bảng nhân viên, chúng ta không lưu trữ tên phòng ban mà nhân viên đó làm việc, ngược lại chúng ta chỉ lưu trữ mã của phòng ban đó. Ví dụ nếu nhân viên làm việc ở phòng Tổng hợp thì mã của phòng đó là P01. Vì vậy, combo box của chúng ta sẽ liệt kê tất cả các tên phòng ban có trong đơn vị để cho người dùng lựa chọn. Khi người dùng lựa chọn tên một phòng ban, chương trình sẽ tìm ra mã phòng ban tương ứng để đưa

152

Page 151: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

vào bảng Nhân viên. Cụ thể, xây dựng combo box để liệt kê các phòng ban như sau: Cũng giống như cách tạo combo cho nhân viên, tuy nhiên ở phần lựa chọn cách đưa dữ liệu vào combo, chọn lựa chọn thứ nhất “I want the combo to look up the values in a table or query”.

Bấm Next để tiếp tục. Đến đây Access sẽ mở một hộp thoại cho phép chọn nguồn dữ liệu là các bảng hay các truy vấn. Ở ví dụ này, chúng ta cần lấy tên phòng ban và mã phòng ban từ bảng Phòng ban, do đó chọn lựa chọn Tables và chọn bảng Phòng như hình sau:

Bấm Next để Access tiến hành xây dựng combo box:

153

Page 152: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ở đây, Access sẽ liệt kê tất cả các trường dữ liệu trong bảng Phòng để chúng ta lựa chọn.

Trong bài toán này, cần lựa chọn cả 2 trường ở bên Available Fields và bấm nút >> để chọn cả 2. Sau đó bấm Next để tiếp tục. Tiếp đó Access sẽ mở một hộp thoại cho phép người dùng sắp xếp dữ liệu hiển thị trên combo box. Bước này là bước tùy chọn, do đó có thể lựa chọn sắp xếp hoặc không. Giả sử ta chọn sắp xếp tên phòng theo chiều tăng dần sau đó bấm Next để tiếp tục và bấm Finish để kết thúc việc xây dựng combo box.

Ngoài 2 combo box trên, chúng ta xây dựng 3 text box bằng cách kéo và thả các đối tượng text box từ toolbox vào form và đặt lại tên cho các label đi kèm các text box. Tiếp theo chúng ta tạo 2 nút lệnh (Command button). Một nút lệnh để thực thi việc thêm dữ liệu. Một nút lệnh để thoát khỏi form nhập. Đặt nhãn cho 2 nút lệnh là: Thêm và Thoát. Với nút lệnh Thoát, khi kéo nó vào form ta chọn Categories cho nó là Form Operations và Actions chọn là Close Form

154

Page 153: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Với nút lệnh Thêm, ta sẽ cần phải viết mã lệnh cho nó để thực hiện việc thêm dữ liệu, do đó khi kéo nút lệnh vào form, ta bấm Cancel để hủy việc lựa chọn hành động cho nút lệnh và sau đó viết mã lệnh sau.

Bây giờ ta thực hiện việc định dạng cho các trường dữ liệu. Trên form, chúng ta có trường ngày sinh. Đây là trường dữ liệu cần có định dạng chính xác, do đó cần thiết lập định dạng cho ô textbox này để đảm bảo dữ liệu do người dùng nhập vào sẽ được Access kiểm tra định dạng trước. Để làm được điều này, thực hiện các bước sau: Lựa chọn textbox nhập ngày sinh, trên cửa sổ properties, chọn tab Data, ở hàng Input mask, click chuột vào biểu tượng …, Access sẽ mở một hộp thoại cho phép chọn kiểu mặt nạ cho dữ liệu nhập vào. Lựa chọn kiểu Short date và bấm Finish

155

Page 154: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Khi đó trên dòng Input mask của cửa sổ Properties của Text box này sẽ như sau:

Như vậy chúng ta đã hoàn thành các bước ban đầu để có được form nhập liệu. Bây giờ ta sẽ

thực hiện bước cuối cùng và quan trọng nhất đó là xây dựng mã lệnh cho nút lệnh “Thêm”. Để xây dựng mã cho nút lệnh, chọn nút lệnh đó và trên cửa sổ Properites, chọn Tab Event. Khi đó, Access sẽ liệt kê một loạt các sự kiện (Event) mà chúng ta có thể xây dựng cho nút lệnh. Ở bài toán này, chúng ta muốn mỗi khi click chuột vào nút lệnh thì Access sẽ thực hiện việc thêm bộ dữ liệu trên form vào bảng Nhân viên. Do đó chọn xây dựng sự kiện “On Click” bằng cách click chuột vào biểu tượng … trên hàng sự kiện On Click.

Khi đó Access sẽ hỏi lựa chọn xây dựng mã lệnh, macro hay biểu thức. Lựa chọn xây dựng

mã lênh - Code builder

156

Page 155: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ở đây, chúng ta sẽ xây dựng mã lệnh cho nút “Thêm” bằng cách xây dựng một hàm bằng ngôn ngữ Visual basic.

Khi ta đặt tên cho nút lệnh Thêm là cmdThem thì khi chọn viết sự kiện On Click cho nút lệnh này, Access sẽ tự động mở ra cửa sổ soạn thảo mã lệnh như sau:

Đặt con trỏ chuột vào giữa 2 dòng Private Sub cmdThem_Click và End Sub, sau đó ta thêm

vào các dòng lệnh sau:

Set db = CurrentDb()

Set rs = db.OpenRecordset("NhanVien")

With rs

.AddNew

!MaNhanVien = Me.txtMaNhanVien

!TenNhanVien = Me.txtTenNhanVien

!NgaySinh = Me.txtNgaySinh

!MaPhong = Me.cbPhong.Value

!GioiTinh = Me.cbGioiTinh.Value

.Update

End With

MsgBox "Nhan vien moi da duoc them!", vbInformation + vbOKOnly, "Chuc mung" 157

Page 156: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Ta sẽ xem xét từng câu lệnh trong đoạn mã trên:

- Thứ nhất, câu lệnh Set db = CurrentDB() nhằm khai báo với Access rằng ta muốn làm việc với cơ sở dữ liệu hiện tại.

- Thứ hai, câu lệnh Set rs = db.OpenRecordset("NhanVien") nhằm yêu cầu Access mở bảng NhanVien, lấy dữ liệu và trả về kết quả là một record set được lưu trữ trong biến rs.

- Tiếp theo, ta thêm vào record set trên một dòng (bản ghi mới). Bản ghi đó là một bản ghi trắng. Và ta tiến hành thêm dữ liệu vào bản ghi này.

- Câu lệnh With rs là một chỉ thị khai báo để Access biết rằng trong đoạn lệnh With và End with là các lệnh làm việc với record set và ta không cần phải chỉ ra tên biến rs nữa. Trong đoạn đó ta thực hiện các lệnh sau:

.AddNew - câu lệnh tường minh của nó là rs.AddNew, tuy nhiên vì chúng ta đã thực hiện câu lệnh With rs ở trên, do đó ta có thể bỏ qua tên biến rs. Câu lệnh này yêu cầu Access tạo thêm một bản ghi trắng.

Các dòng lệnh tiếp theo (đến trước dòng .Update) là các dòng gán dữ liệu từ form vào các trường trong bản ghi. Cụ thể ta lấy các giá trị của các điều khiển trên form như txtTenNhanVien, txtMaNhanVien, txtNgaySinh để gán cho các trường TenNhanVien, MaNhanVien, NgaySinh của bản ghi. Với 2 trường GioiTinh và MaPhong, ta lấy dữ liệu từ 2 combo box là cbGioiTinh và cbPhong. Tuy nhiên, khác với các textbox, ta chỉ lấy chính tên textbox là được giá trị, ở đây ta phải chỉ ra đối tượng và giá trị của nó: ví dụ cbGioiTinh.Value.

Cuối cùng, thực thi câu lệnh Update để cập nhật những giá trị trên vào bản ghi mới.

- Dòng cuối là một thông báo thành công cho người dùng biết là hành động thêm người dùng đã thành công.

Như vậy chúng ta đã hoàn thành việc xây dựng mã lệnh cho nút lệnh để thêm một bản ghi mới vào bảng Nhân viên.

Tiếp theo, xây dựng form để xóa một nhân viên từ bảng Nhân viên. Form này đơn giản hơn form nhập vì chúng ta sẽ không cần xây dựng mã lệnh mà chỉ việc sử dụng các công cụ có sẵn của Access. Cụ thể, xây dựng form này theo các bước như sau:

- Khởi động form design view, lựa chọn nguồn dữ liệu cho form là bảng NhanVien:

158

Page 157: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Kéo tất cả các trường dữ liệu trong bảng vào form và thêm vào 2 nút lệnh để xóa và thoát khỏi form. Với nút xóa ta chọn Categories là Record Operations và Actions ta chọn Delete Record.

- Bấm Next và đặt nhãn cho nút lệnh xóa là “Xóa nhân viên” và bấm Finish để kết thúc tạo nút lệnh này.

159

Page 158: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Tương tự như ở trên, tạo nút lệnh Thoát để thoát khỏi Form. Khi đó ta được form xóa

nhân viên như sau:

- Với form này, sử dụng các nút lệnh Nagivation ở cuối của Form để di chuyển đến bản ghi

mong muốn và bấm nút “Xóa nhân viên” để xóa nhân viên đó. Khi đó Access sẽ hỏi có thực sự muốn xóa dữ liệu không. Bấm Yes để khẳng định thao tác xóa và Access sẽ tiến hành xóa bản ghi đó khỏi cơ sở dữ liệu:

160

Page 159: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Như vậy chúng ta đã hoàn thành việc tạo 2 form xóa và thêm. Tiếp theo là form sửa dữ liệu cho một nhân viên nào đó. Form này cũng tương tự như form xóa, chỉ có 1 sự khác biệt duy nhất đó là nút lệnh Sửa được thay cho nút lệnh Xóa và hành động của nút lệnh mới sẽ là “Save Record” thay vì “Delete Record” như form trên.

Chú ý: Chúng ta có thể nhanh chóng tạo ra được form sửa dữ liệu bằng cách mở form xóa

đã tạo ra ở trên và chọn File > Save as. Lưu lại form mới với tên SuaNhanVien và xóa bỏ nút lệnh Xóa và thay bằng nút lênh “Sửa” như đã nói ở trên. Như vậy ta đã có được 3 form là Thêm, Xóa và Sửa dữ liệu về nhân viên.

Thực hiện các bước như trên, ta có thể xây dựng các form quản lý danh sách Phòng ban một cách tương tự.

6.1.3 Tạo các báo cáo về tình hình nhân sự

Công việc tiếp theo là tạo các báo cáo. Với bài tập này, chúng ta cần xây dựng các báo cáo về tình hình nhân sự hiện tại của công ty. Báo cáo sẽ được lập theo phòng ban hoặc theo toàn bộ công ty.

Trước hết, xây dựng một báo cáo tổng hợp về tình hình nhân sự của toàn bộ công ty như sau:

161

Page 160: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Để xây dựng được báo cáo về tình hình nhân sự của toàn bộ công ty, chúng ta áp dụng các kiến thức đã trình bày ở phần “Tạo báo cáo với công cụ report design view” ở trên. Chúng ta sẽ không nhắc lại ở phần này mà chỉ tìm hiểu về cách tạo các báo cáo về nhân sự theo phòng ban. Giả sử ta có 1 form như sau:

Khi người dùng muốn lập danh sách nhân sự của một phòng nào đó, người ta sẽ chọn phòng từ combo box và bấm nút lệnh “Xem danh sách”. Khi đó một báo cáo về tình hình nhân sự của phòng đó sẽ được hiển thị. Để tạo được báo cáo như vậy, thực hiện các bước sau:

- Đầu tiên, tạo một form cho phép người dùng lựa chọn như ở trên. Trên form có 2 đối tượng là một combo box và một nút lệnh. Combo box lấy dữ liệu từ bảng Phong (đã trình bày ở trên) và ta đặt tên cho combo box là cbPhongban (có thể đặt lại tên cho combobox bằng cách chọn properties và chọn tab All, chọn hàng Name để đặt lại tên cho combo box). Đối tượng thứ 2 là một nút lệnh. Nút lệnh này thực hiện việc hiển thị một báo cáo. Tuy nhiên do chúng ta chưa tạo báo cáo nên ta sẽ quay trở lại với form này để tạo nút lệnh sau. Đến đây ta ghi lại form với tên là BaoCaoNhanVienTheoPhong.

- Tiếp theo, tạo một câu truy vấn để lấy thông tin từ bảng Nhân viên ra. Trở lại với kiến thức đã trình bày ở trên về truy vấn, ta khởi động tạo truy vấn và chuyển sang chế độ SQL View rồi gõ vào đoạn mã sau:

SELECT NhanVien.MaNhanVien, NhanVien.TenNhanVien, Phong.TenPhong, NhanVien.GioiTinh, NhanVien.NgaySinh

FROM Phong INNER JOIN NhanVien ON Phong.MaPhong=NhanVien.MaPhong

WHERE (((Phong.MaPhong)=Forms!BaoCaoNhanVienTheoPhong!cbPhongBan));

Ý nghĩa của đoạn mã SQL cho truy vấn này như sau: Lấy ra Mã nhân viên, tên nhân viên, tên phòng, giới tính và ngày sinh của các nhân viên từ 2 bảng Phòng và Nhân viên theo điều kiện là Mã phòng của nhân viên bằng đúng với giá trị được chọn trong hộp chọn cbPhongBan của form BaoCaoNhanVienTheoPhong đã được tạo ở bước 1. Ghi lại truy vấn này với tên: TruyVanNhanVienTheoPhong

- Tiếp theo, tạo một báo cáo. Báo cáo này có nguồn dữ liệu (Record Source) là truy vấn có tên TruyVanNhanVienTheoPhong vừa được tạo ra. Ghi lại báo cáo này với tên DanhSachNhanVienTheoPhong.

162

Page 161: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Tiếp theo, trở lại với Form vừa được tạo ra ở Bước 1. Tiến hành thêm vào 1 nút lệnh.

Chọn Categories cho nó là Report Operations, Actions là Preview Report và Report Name là tên báo cáo vừa đuợc tạo ra: DanhSachNhanVienTheoPhong. Như vậy ta đã hoàn thành việc tạo một form cho phép người dùng lựa chọn phòng ban để xem danh sách nhân viên của phòng ban đó.

Đến đây chúng ta đã có được các form và báo cáo theo yêu cầu của bài toán. Vấn đề đặt ra bây giờ là bố trí các form và báo cáo này như thế nào để tạo thành một chương trình quản lý nhân sự theo đúng nghĩa của nó. Để làm được điều này, tạo một form chương trình chính (main form). Form này sẽ được gọi mỗi khi ta mở chương trình, và từ đây, người dùng có thể lựa chọn từng công việc mà họ muốn. Tiến hành tạo một main form như sau:

Ở đây, để đơn giản chúng ta tạo ra một form, đặt tên cho nó là Main và tạo 5 nút lệnh để gọi

5 nghiệp vụ của chương trình. Trong đó các nút lệnh “Thêm nhân viên”, “Xóa nhân viên”, “Cập nhật nhân viên” và “Báo cáo nhân sự theo phòng” là các nút lệnh có cùng Categories là Form Operations và Actions là Open Form (Với mỗi nút lệnh cụ thể ta mở các form tương ứng). Riêng nút lệnh “Báo cáo nhân sự” ta sử dụng Categories là Report Operations và Action là Preview report. Sau khi đã có form main, ta thiết lập thuộc tính start up cho form này. Điều này có nghĩa form main sẽ được mở mỗi khi ta mở cơ sở dữ liệu quản lý nhân sự này. Để làm được điều này, từ menu hệ thống, chọn Tools > Startup:

163

Page 162: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

Lựa chọn tiêu đề cho ứng dụng là “Quản lý nhân sự” và Display Form/Page là Main, ta sẽ

có một chương trình quản lý nhân sự đơn giản theo yêu cầu đặt ra.

6.1.4 Mở rộng bài toán

Các hướng mở rộng của bài toán trên:

- Thêm thông tin về nhân viên để có thể quản lý chi tiết hơn. Ví dụ thêm trường địa chỉ, số điện thọai, trình độ, chuyên ngành, ngạch, bậc lương v.v.

- Thêm các bảng dữ liệu để có thể quản lý nhân sự đầy đủ hơn: Ví dụ thêm các bảng Quê quán chứa tên tỉnh/TP của cán bộ, bảng Trình độ nhằm quản lý trình độ nhân viên theo mã.

- Trong phần nhập liệu, có thể sử dụng kiến thức về lập trình VBA và DAO để thực hiện các thao tác kiểm tra dữ liệu nhập trước khi thêm hoặc sửa nhân viên. Ví dụ kiểm tra mã nhân viên đã có (sử dụng đoạn mã ví dụ đã trình bày ở phần VBA và DAO), chuẩn hóa tên, kiểm tra ngày sinh hợp lệ, kiểm tra số điện thoại hợp lệ .v.v

6.2 CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG

Trong ví dụ thứ nhất, chúng ta đã nghiên cứu việc xây dựng 1 ứng dụng quản lý nhân sự đơn giản, bao gồm các thao tác nhập sửa dữ liệu, và in ra các báo cáo thống kê có điều kiện. Trong ví dụ tiếp theo, chúng ta sẽ xem xét 1 ứng dụng có nghiệp vụ khác so với quản lý nhân sự, đó là quản lý bán hàng. Với ví dụ này, bạn đọc hãy coi như đó là 1 bài tập lớn, giúp các bạn thực hành, hệ thống lại các kiến thức đã thu được từ đầu. Tuy nhiên, cũng sẽ có những gợi ý và hướng dẫn để giúp các bạn có một định hướng đúng và có được sự trợ giúp trong quá trình thực hiện ví dụ này.

6.2.1 Bài toán Quản lý bán hàng

Xét một bài toán quản lý bán hàng có yêu cầu nghiệp vụ như sau:

- Quản lý danh mục hàng hóa mà đơn vị kinh doanh.

- Quản lý danh sách hàng hóa được nhập về, tạo các báo cáo, thống kê về việc nhập hàng

- Quản lý danh sách hàng hóa được xuất, tạo các báo cáo, thống kê về việc xuất hàng 164

Page 163: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

- Quản lý danh sách hàng tồn kho, dựa trên danh sách hàng nhập và danh sách hàng xuất đi. Lập báo cáo tồn kho.

6.2.2 Gợi ý & hướng dẫn

Phân tích bài toán trên, ta thấy rằng đối tượng dữ liệu đầu tiên cần quản lý là danh mục hàng hóa của đơn vị. Danh mục này bao gồm danh sách các hàng hóa mà đơn vị thường kinh doanh, với các thuộc tính như mã hàng, tên hàng, chủng loại, nhà cung cấp .v.v

Đối tượng tiếp theo là danh sách hàng hóa được nhập về. Mỗi lần hàng được nhập về, thông tin cần quản lý là thông tin về hàng hóa, số lượng, đơn giá nhập, ngày nhập .v.v

Tương tự như vậy, danh sách hàng xuất cũng là đối tượng cần quản lý với các thông tin hàng xuất là hàng gì, số lượng bao nhiêu, đơn giá xuất, ngày xuất .v.v

Chú ý rằng, có thể với cùng 1 loại hàng hóa, nhưng đơn giá nhập có thể khác nhau trong các lần nhập khác nhau. Tương tự như vậy đối với hàng xuất. Đối tượng hàng tồn kho là đối tượng không cần quản lý trong cơ sở dữ liệu, vì hàng tồn kho có thể tính toán được từ hàng nhập và hàng xuất.

Như vậy, ta có thể thấy các đối tượng dữ liệu cần quản lý của bài toán là:

- HangHoa(Mã hàng, Tên hàng, Chủng loại)

- HangNhap(STT, Mã hàng, Đơn giá nhập, Số lượng, Ngày nhập)

- HangXuat(STT, Mã hàng, Đơn giá xuất, Số lượng, Ngày xuất)

Chú ý rằng Mã hàng không thể dùng làm khóa trong đối tượng HangNhap và HangXuat, vì một loại hàng có thể được nhập hoặc xuất nhiều lần. Mã hàng được đưa và 2 bảng này chủ yếu là để liên kết sang bảng HangHoa để lấy thông tin về hàng.

Sau khi phân tích bài toán và xây dựng cơ sở dữ liệu, bước tiếp theo là xây dựng các form nhập liệu. Trước hết cần xây dựng form nhập liệu cho danh mục hàng hóa. Form này sẽ cho phép người dùng thêm, xóa, sửa các loại hàng trong bảng danh mục.

Tiếp theo, cần xây dựng 1 form cho phép cập nhập danh sách hàng nhập. Mỗi lẫn nhập hàng về, người sử dụng sẽ dùng form này để cập nhập các hàng hóa vừa nhập vào hệ thống. Form này cần tham chiếu đến bảng HangHoa để cho phép người dùng chọn loại hàng từ danh mục. Các thông tin về hàng nhập như số lượng, đơn giá, ngày nhập .v.v sẽ được cập nhật vào hệ thống.

Cuối cùng một form cập nhập danh sách hàng xuất cũng cần được xây dựng, tương tự như form nhập hàng ở trên. Sử dụng các kiến thức lập trình VBA và DAO để xây dựng các hàm và các thủ tục kiểm định dữ liệu nhập hợp lệ.

Về các báo cáo thống kê, cần xây dựng 1 báo cáo về danh sách hàng nhập. Báo cáo cần được xây dựng với giới hạn hàng nhập trong 1 khoảng thời gian nào đó. Ví dụ theo tháng hoặc quý, năm .v.v danh sách các hàng nhập cần được liệt kê. Ngoài ra có thể thống kê theo chủng loại hoặc loại hàng. Tương tự với danh sách hàng xuất.

Báo cáo thống kê tồn kho có thể tính được bằng tổng số hàng nhập trừ tổng số hàng xuất. Lượng tiền tồn kho có thể tính bằng số lượng hàng tồn nhân với đơn giá nhập mới nhất hoặc trung bình các đơn giá nhập.

165

Page 164: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

TÓM TẮT PHẦN 2

Các kiến thức cần nhớ trong chương 2:

Các khái niệm về dữ liệu và cơ sở dữ liệu:

- Các khái niệm về dữ liệu và cơ sở dữ liệu.

- Cơ sở dữ liệu quan hệ và hệ quản trị cơ sở dữ liệu quan hệ.

- Khái niệm bảng dữ liệu, khóa chính.

- Mối quan hệ dữ liệu giữa các bảng, các loại quan hệ (1-1, 1-n), khóa ngoại

Bảng dữ liệu trong Access:

- Khái niệm các trường dữ liệu, kiểu dữ liệu.

- Các kiểu dữ liệu trong Access.

- Các tạo và sử dụng các bảng dữ liệu trong Access.

- Thiết lập trường khóa cho bảng dữ liệu.

Truy vấn trong Access:

- Khái niệm truy vấn, các loại truy vấn.

- Cách tạo và sử dụng các loại truy vấn

Form nhập liệu trong Access:

- Khái niệm form nhập liệu, ý nghĩa, tầm quan trọng.

- Hai cách tạo form.

- Tạo form sử dụng Wizard và Design View

Báo cáo thống kê trong Access:

- Khái niệm report, ý nghĩa sử dụng.

- Hai cách tạo report.

- Tạo report sử dụng Wizard và Design View

Lập trình ứng dụng VBA và DAO:

- Các kiểu dữ liệu, biến, các cấu trúc lệnh, chương trình con, hàm và thủ tục

- Các đối tượng CSDL trong DAO, kết nối, cập nhật và truy xuất dữ liệu với DAO.

Các bài tập thực hành:

- Nghiên cứu, thực hiện các bài thực hành về quản lý nhân sự và quản lý bán hàng.

166

Page 165: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

BÀI TẬP TRẮC NGHIỆM

Câu 1: Trong một bảng dữ liệu, thuộc tính của dữ liệu được biểu thị bởi:

□ Hàng của bảng

□ Cột của bảng

□ Ô của bảng

□ Toàn bộ bảng

Câu 2: Trong một bảng dữ liệu, 1 đối tượng dữ liệu cụ thể được biểu thị bởi:

□ Hàng của bảng

□ Cột của bảng

□ Ô của bảng

□ Toàn bộ bảng

Câu 3: Khóa chính của bảng là:

□ Một thuộc tính có thể được xác đinh từ các thuộc tính khác

□ Một thuộc tính bất kỳ

□ Một thuộc tính có thể xác đinh được tất cả các thuộc tính khác

□ Thuộc tính đầu tiên

Câu 4: Về bản chất, khóa chính là:

□ 1 Hàng của bảng

□ 1 Cột của bảng

□ 1 Ô của bảng

□ Toàn bộ bảng

Câu 5: Trong bảng dữ liệu CanBo(Số CMND, Họ tên, Ngày sinh), đâu là khóa chính:

□ Số CMND

□ Họ tên

□ Ngày sinh

□ Không có khóa

Câu 6: Trong liên kết 1-1:

□ 1 bản ghi bên này tương ứng với 1 vài bản ghi bên kia

167□ 1 bản ghi bên này tương ứng với 1 cột bên kia

Page 166: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

□ 1 bản ghi bên này tương ứng với 1 ô bên kia

□ 1 bản ghi bên này tương ứng với 1 bản ghi bên kia

Câu 7: Trong liên kết 1-n:

□ 1 bản ghi bên này tương ứng với 1 vài bản ghi bên kia

□ 1 bản ghi bên này tương ứng với 1 cột bên kia

□ 1 bản ghi bên này tương ứng với 1 ô bên kia

□ 1 bản ghi bên này tương ứng với 1 bản ghi bên kia

Câu 8: Liên kết giữa bảng dữ liệu CanBo(Số CMND, Họ tên, Ngày sinh) và bảng Luong(Số CMND, Luong) là liên kết:

□ 1-1

□ 1-n

□ n-n

□ Không có liên kết

Câu 9: Liên kết giữa bảng dữ liệu CanBo(Số CMND, Họ tên, Ngày sinh, MaPhong) và bảng Phong(MaPhong, TenPhong) là liên kết:

□ 1-1

□ 1-n

□ n-n

□ Không có liên kết

Câu 10: Trong liên kết giữa bảng dữ liệu CanBo(Số CMND, Họ tên, Ngày sinh, MaPhong) và bảng Phong(MaPhong, TenPhong), trường MaPhong trong bảng CanBo là:

□ Khóa chính

□ Khóa ngoại

□ Khóa phụ

□ Khóa nội

Câu 11: Khi tạo bảng dữ liệu, chủ yếu phải tạo:

□ Các cột và kiểu dữ liệu cho từng cột

□ Các hàng và kiểu dữ liệu cho từng hàng

□ Tạo các ô dữ liệu

□ Tạo tên bảng

Câu 12: SELECT Query dùng để:

□ Lấy ra tất cả các hàng dữ liệu

□ Lấy ra các hàng dữ liệu thỏa mãn điều kiện nào đó, theo cách nào đó

168

□ Lấy ra các cột dữ liệu

Page 167: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

□ Chèn dữ liệu vào bảng

Câu 13: Total Query là:

□ 1 truy vấn giống như Select

□ 1 truy vấn tổng quát

□ 1 truy vấn giống như Select có thêm dòng cộng tổng

□ 1 truy vấn xóa toàn bộ

Câu 14: Make Table Query là:

□ 1 truy vấn giống như Select

□ 1 truy vấn tạo bảng mới thay cho lệnh tạo bảng

□ 1 truy vấn copy và sao chép 1 bảng sang 1 bảng mới

□ 1 truy vấn giống như Select, nhưng kết quả được đưa vào 1 bảng mới

Câu 15: Delete Query dùng để:

□ Xóa tất cả dữ liệu trong bảng

□ Xóa các dữ liệu trống trong bảng

□ Xóa các dữ liệu thỏa mãn điều kiện nào đó

□ Xóa một số cột trong bảng

Câu 16: Update Query là:

□ Một dạng truy vấn mới nhất được Microsoft cung cấp

□ Là loại truy vấn được cập nhật thường xuyên

□ Là 1 truy vấn chỉnh sửa dữ liệu của tất cả các hàng trong bảng

□ Là 1 truy vấn chỉnh sửa dữ liệu của 1 số hàng trong bảng

Câu 17: Form nhập liệu dùng để:

□ Hiển thị dữ liệu dưới dạng danh sách

□ Lấy dữ liệu từ cơ sở dữ liệu

□ Cho phép người dùng cập nhật dữ liệu vào bảng

□ Lấy dữ liệu từ cơ sở dữ liệu thỏa mãn điều kiện nào đó

Câu 18: Sử dụng Form Wizard cho phép:

□ Tạo các form chuyên nghiệp

□ Nhanh chóng và dễ dàng tạo các form, nhưng có 1 số hạn chế

□ Hướng dẫn cách tạo form

□ Chạy các form đã tạo

Câu 19: Sử dụng Form Design View cho phép:

□ Tạo các form chuyên nghiệp

169

Page 168: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Phần 2: Sử dụng Access trong quản lý

□ Nhanh chóng và dễ dàng tạo các form, nhưng có 1 số hạn chế

□ Hướng dẫn cách tạo form

□ Chạy các form đã tạo

Câu 20: Các ô textbox trên form dùng để:

□ Cho phép người dùng gõ các dữ liệu sẽ đưa vào bảng

□ Cho phép người dùng lựa chọn các dữ liệu sẽ đưa vào bảng

□ Dùng để hiển thị thông tin

□ Dùng để thực hiện các hành động nào đó

Câu 21: Các nhãn (label) trên form dùng để:

□ Cho phép người dùng gõ các dữ liệu sẽ đưa vào bảng

□ Cho phép người dùng lựa chọn các dữ liệu sẽ đưa vào bảng

□ Dùng để hiển thị thông tin ghi chú

□ Dùng để thực hiện các hành động nào đó

Câu 22: Các combobox trên form dùng để:

□ Cho phép người dùng gõ các dữ liệu sẽ đưa vào bảng

□ Cho phép người dùng lựa chọn các dữ liệu sẽ đưa vào bảng

□ Dùng để hiển thị thông tin ghi chú

□ Dùng để thực hiện các hành động nào đó

Câu 23: Các nút lệnh (button) trên form dùng để:

□ Cho phép người dùng gõ các dữ liệu sẽ đưa vào bảng

□ Cho phép người dùng lựa chọn các dữ liệu sẽ đưa vào bảng

□ Dùng để hiển thị thông tin ghi chú

□ Dùng để thực hiện các hành động nào đó

Câu 24: Báo cáo (report) dùng để:

□ Cập nhật dữ liệu vào bảng

□ Hiển thị thông tin dưới dạng danh sách liệt kê

□ Hiển thị từng hàng dữ liệu

□ Hiển thị từng cột dữ liệu

Câu 25: Báo cáo (report) dùng để:

□ Cập nhật dữ liệu vào bảng

□ Hiển thị thông tin dưới dạng danh sách liệt kê

□ Hiển thị từng hàng dữ liệu

□ Hiển thị từng cột dữ liệu

170

Page 169: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Tài liệu tham khảo

TÀI LIỆU THAM KHẢO

1. Advanced Excel Training Manual, Cheltenham Computer Training, 2001

2. Access 2000 Bible, Cary N. Prague và Michael R. Irwin, Hungry Minds, 2001

3. Microsoft Access 2000 with VBA - Advanced; Al Napier, Phil Judd, H.Albert Napier, Philip J. Judd; Pulished by Kris Oxford, 2000.

4. Giáo trình Access 2000, Nguyễn Sơn Hải, Trung tâm Tin học, Bộ GD và ĐT, 2005

171

Page 170: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Mục lục

MỤC LỤC

PHẦN 1 SỬ DỤNG EXCEL TRONG QUẢN LÝ

GIỚI THIỆU .....................................................................................................................................5

Mục tiêu ............................................................................................................................................5

Cách trình bày ...................................................................................................................................5

Phương pháp học ...............................................................................................................................6

Yêu cầu kiến thức trước khi học phần này ........................................................................................6

CHƯƠNG 1 SỬ DỤNG CÁC CHỨC NĂNG NÂNG CAO

1.1 TẠO VÀ SỬ DỤNG CÁC TỆP MẪU (TEMPLATE) .......................................................7

1.1.1 Tạo 1 tệp mẫu ......................................................................................................................7

1.1.2 Sử dụng tệp mẫu ..................................................................................................................9

1.2 MACRO.............................................................................................................................10

1.2.1 Khái niệm macro................................................................................................................10

1.2.2 Tạo macro ..........................................................................................................................11

1.2.3 Sử dụng macro ...................................................................................................................12

1.3 CÁC CHỨC NĂNG BẢO MẬT VÀ KIỂM SOÁT .........................................................14

1.3.1 Sử dụng chú thích cho dữ liệu trong Excel .....................................................................14 1.3.2 Thẩm định dữ liệu nhập .................................................................................................15 1.3.3 Bảo mật trong Excel ......................................................................................................18

CHƯƠNG 2 SỬ DỤNG CÁC HÀM NÂNG CAO

2.1 CÁC HÀM LOGIC VÀ THỐNG KÊ THÔNG DỤNG ....................................................23

2.1.1 Sử dụng hàm IF .............................................................................................................23 2.1.2 Hàm IF lồng nhau. .........................................................................................................24 2.1.3 Hàm COUNTIF .............................................................................................................26 2.1.4 Hàm MAX.....................................................................................................................27 2.1.5 Hàm MIN ......................................................................................................................29 2.1.6 Hàm AVARAGE...........................................................................................................29

2.2 CÁC HÀM TÌM KIẾM VÀ THAM CHIẾU DỮ LIỆU THÔNG DỤNG ........................29

2.2.1 Hàm VLOOKUP ...........................................................................................................29

172

Page 171: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Mục lục

2.2.2 Hàm HLOOKUP. ..........................................................................................................33

2.3 CÁC HÀM LÀM VIỆC VỚI XÂU KÝ TỰ......................................................................34

2.3.1 Hàm LEFT ....................................................................................................................34 2.3.2 Hàm RIGHT..................................................................................................................34 2.3.3 Hàm MID ......................................................................................................................34 2.3.4 Hàm LEN ......................................................................................................................35 2.3.5 Hàm LOWER ................................................................................................................35 2.3.6 Hàm UPPER..................................................................................................................35 2.3.7 Hàm REPLACE ............................................................................................................35 2.3.8 Hàm REPT ....................................................................................................................36 2.3.9 Hàm SEARCH ..............................................................................................................36 2.3.10 Hàm SUBSTITUTE .......................................................................................................37 2.3.11 Hàm TRIM ....................................................................................................................37 2.3.12 Hàm CONCATENATE..................................................................................................37 2.3.13 Toán tử & ......................................................................................................................38

2.4 CÁC HÀM TÀI CHÍNH (FINANCIAL) ..........................................................................38

2.4.1 Sử dụng hàm FV............................................................................................................39 2.4.2 Sử dụng hàm PV............................................................................................................40 2.4.3 Sử dụng hàm PMT.........................................................................................................41

CHƯƠNG 3 SỬ DỤNG CÁC CÔNG CỤ NÂNG CAO

3.3 LỌC DỮ LIỆU ..................................................................................................................43

3.4 SẮP XẾP VÀ CỘNG TỔNG, TỔNG CON (SUBTOTAL) .............................................46

3.5 SỬ DỤNG CÔNG CỤ GOAL SEEK................................................................................50

3.5.1 Sử dụng công cụ Goal Seek trên đồ thị...........................................................................52

3.6 DATA TABLES ................................................................................................................54

3.6.1 Sử dụng bảng dữ liệu với 1 tham số ...............................................................................54 3.6.2 Sử dụng bảng dữ liệu với 2 tham số ...............................................................................55

3.7 QUẢN LÝ TÌNH HUỐNG (SCENARIO MANAGER)...................................................57

3.7.1 Xem 1 tình huống đã tạo ................................................................................................59 3.7.2 Bảng tổng hợp các tình huống........................................................................................59

3.8 SỬ DỤNG CHỨC NĂNG SOLVER ................................................................................60

3.9 BẢNG PIVOT ...................................................................................................................65

3.9.1 Khái niệm bảng Pivot ....................................................................................................65 3.9.2 Tạo và sử dụng bảng Pivot.............................................................................................65

173

Page 172: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Mục lục

TÓM TẮT PHẦN 1 ........................................................................................................................74

BÀI TẬP TỔNG HỢP ..................................................................................................................75

SỬ DỤNG CÁC CÔNG CỤ NÂNG CAO .....................................................................................75

SỬ DỤNG CÁC HÀM NÂNG CAO..............................................................................................77

SỬ DỤNG CÁC CÔNG CỤ NÂNG CAO .....................................................................................82

BÀI TẬP TRẮC NGHIỆM .............................................................................................................84

PHẦN 2 SỬ DỤNG ACCESS TRONG QUẢN LÝ

GIỚI THIỆU ..............................................................................................................................93 Mục tiêu .....................................................................................................................................93 Cách trình bày của phần này .......................................................................................................94 Phương pháp học ........................................................................................................................94 Yêu cầu của phần này .................................................................................................................94

CHƯƠNG 4 CÁC KIẾN THỨC CƠ BẢN VỀ ACCESS

4.1 MỞ ĐẦU ...........................................................................................................................95

4.1.1 Khởi động và cài đặt Access ..........................................................................................95 4.1.2 Tạo 1 cơ sở dữ liệu trống ...............................................................................................97 4.1.3 Các khái niệm cơ bản trước khi bắt đầu với Access........................................................98

4.2 LẬP BẢNG DỮ LIỆU (TABLE) ....................................................................................100

4.3 LẬP CÁC TRUY VẤN DỮ LIỆU (QUERY).................................................................105

4.3.1 Select query.................................................................................................................106 4.3.2 Total query ..................................................................................................................111 4.3.3 Make table query .........................................................................................................111 4.3.4 Delete Query ...............................................................................................................113 4.3.5 Update Query ..............................................................................................................114

4.4 LẬP CÁC FORM NHẬP DỮ LIỆU ...............................................................................115

4.4.1 Khái niệm Form...........................................................................................................115 4.4.2 Sử dụng Form wizard ..................................................................................................116 4.4.3 Sử dụng Form design view ..........................................................................................119

4.5 LẬP CÁC BÁO CÁO (REPORT)...................................................................................125

4.5.1 Report Wizard .............................................................................................................125 4.5.2 Report design view. .....................................................................................................129

CHƯƠNG 5 TỔNG QUAN VỀ LẬP TRÌNH ỨNG DỤNG VBA VÀ DAO

5.1 CÁC KIỂU DỮ LIỆU VÀ KHAI BÁO ..........................................................................135

174

Page 173: TIN HỌC QUẢN LÝ - e-ptit.edu.vn · PDF fileCuốn giáo trình “Tin học quản lý” giới thiệu với bạn đọc các chức năng nâng cao của

Mục lục

5.2 BIẾN VÀ KHAI BÁO BIẾN...........................................................................................135

5.3 CÁC CẤU TRÚC ĐIỀU KHIỂN ....................................................................................136

5.3.1 Cấu trúc lệnh rẽ nhánh .................................................................................................137 5.3.2 Cấu trúc lặp .................................................................................................................138 5.3.3 Các cấu trúc điều khiển lồng nhau................................................................................139 5.3.4 Thoát khỏi một cấu trúc điều khiển lặp ........................................................................139

5.4 SỬ DỤNG LỆNH DOCMD ............................................................................................140

5.5 CHƯƠNG TRÌNH CON – THỦ TỤC VÀ HÀM ...........................................................140

5.6 LẬP TRÌNH CƠ SỞ DỮ LIỆU VỚI DAO .....................................................................143

5.6.1 Đối tượng Database .....................................................................................................144 5.6.2 Đối tượng Recordset ....................................................................................................144 5.6.3 Đối tượng Querydef.....................................................................................................147 5.6.4 Đối tượng Tabledef......................................................................................................148

CHƯƠNG 6 BÀI TẬP ỨNG DỤNG

6.1 CHƯƠNG TRÌNH QUẢN LÝ NHÂN SỰ ĐƠN GIẢN.................................................150

6.1.1 Thiết kế và xây dựng CSDL quản lý nhân sự ...............................................................150 6.1.2 Xây dựng Form nhập dữ liệu .......................................................................................151 6.1.3 Tạo các báo cáo về tình hình nhân sự ...........................................................................161 6.1.4 Mở rộng bài toán .........................................................................................................164

6.2 CHƯƠNG TRÌNH QUẢN LÝ BÁN HÀNG ..................................................................164

6.2.1 Bài toán Quản lý bán hàng ...........................................................................................164 6.2.2 Gợi ý & hướng dẫn ......................................................................................................165

TÓM TẮT PHẦN 2 ......................................................................................................................166

BÀI TẬP TRẮC NGHIỆM ...........................................................................................................167

TÀI LIỆU THAM KHẢO ..........................................................................................................171

175