Chơng trình sắp xếp dữ liệu chữ Việt trong Access

Một phần của tài liệu Thiết kế và xây dựng phần mềm sắp xếp tiếng việt theo trường họ tên hỗ trợ cho việc tuyển sinh Đại học – Cao đẳng (Trang 41 - 52)

III. Chơng trình sắp xếp tiếng việt trên Access

3.2 Chơng trình sắp xếp dữ liệu chữ Việt trong Access

Access là một chơng trình ngày càng đợc nhiều ngời sử dụng. Đây là một công cụ rất tiện lợi giúp ta nhanh chóng xử lý, tìm kiếm các trờng dữ liệu. Cũng nh trong bao chơng trình khác nh Excel, FoxPro, Word, , đối với dữ… liệu chữ Việt, trong Access chúng ta không thể sử dụng các công cụ có sẵn để sắp xếp và tìm kiếm. Do đó, một chơng trình sau đây sẽ tạo ra sẽ đợc sắp xếp trờng họ và tên trong cơ sở dữ liệu chữ Việt. Trong chơng trình này sẽ trình bày việc sắp xếp theo kiểu đảo ngợc trờng. Theo chơng trình này máy sẽ tự động sắp xếp trờng họ và tên theo thứ tự của chữ cái tiếng Việt; sắp xếp chữ cuối cùng trớc (tức là sắp xếp tên trớc), nếu trùng chữ cuối cùng thì sắp xếp theo chữ trớc đó, cứ thực hiện lần lợt nh vậy cho đến hết.

Sau đây là nội dung chính của chơng trình mà đã đợc viết bằng Visual Basic for Application trên Access.

=============================================

Option Compare Database Function MAHOA(s)

' Mã hóa chữ Việt cho font chữ ABC For m = 1 To 5 chu_a = chu_a + Chr(180 + m) chu_aa = chu_aa + Chr(198 + m) chu_ee = chu_ee + Chr(209 + m) chu_oo = chu_oo + Chr(228 + m) chu_ow = chu_ow + Chr(233 + m) chu_w = chu_w + Chr(244 + m) chu_y = chu_y + Chr(249 + m) Next m

chu_i = Chr(215) & Chr(216) & Chr(220) & Chr(221) & Chr(222) chu_aw = Chr(187) & Chr(188) & Chr(189) & Chr(190) & Chr(198) chu_o = Chr(223) & Chr(225) & Chr(226) & Chr(227) & Chr(228) chu_u = Chr(239) & Chr(241) & Chr(242) & Chr(243) & Chr(244) chu_e = Chr(204) & Chr(206) & Chr(207) & Chr(208) & Chr(209)

Ma = chu_a & chu_aw & chu_aa & chu_e & chu_ee & chu_i & chu_o & chu_oo & chu_ow & chu_u & chu_w & chu_y

' Ket thuc viec luu tat ca cac ma can chuyen doi vao bien MA For i = 1 To Len(s)

k = Mid(s, i, 1)

' k la ky tu thu i cua chuoi s m = Asc(k)

Select Case k

Case "a" To "z", "A" To "Z" X = X & LCase(k) Case " "

X = X & Dau & " " Dau = "" Case "đ" X = X & "dz" Case "ă" X = X & "az" Case "â" X = X & "azz" Case """" X = X & "oz" Case "" X = X & "ozz" Case "" X = X & "uz" Case "ê" X = X & "ez" Case "Đ" X = X & "dz" Case "Ă" X = X & "az" Case "Â" X = X & "azz" Trang 43

Case "Ô" X = X & "oz" Case "Ơ" X = X & "ozz" Case "Ư" X = X & "uz" Case "Ê" X = X & "ez" Case Else j = InStr(Ma, k) If j > 0 Then Dau = j Mod 5 Select Case j Case 1 To 5 X = X & "a" Case 6 To 10 X = X & "az" Case 11 To 15 X = X & "azz" Case 16 To 20 X = X & "e" Case 21 To 25 X = X & "ez" Case 26 To 30 X = X & "i" Case 31 To 35 X = X & "o" Case 36 To 40 X = X & "oz" Case 41 To 45 X = X & "ozz" Case 46 To 50 Trang 44

X = X & "u" Case 51 To 55 X = X & "uz" Case 56 To 60 X = X & "y" End Select If Dau = 0 Then Dau = 5 End If

Else 'Neu J la thoa man X = X & k

End If ' Ket thuc cua J End Select

Next i

MAHOA = X & Dau End Function

=============================================

Function DAOTEN(s) 'Đảo tên ra trơcs, sau cùng là tên đệm. Do NextBlank = InStr(Blank + 1, s, " ") If NextBlank Then L = NextBlank - Blank - 1 Else L = Len(s) - Blank + 1 End If If L Then

X = Mid(s, Blank + 1, L) & " " & X End If

Blank = NextBlank Loop Until Blank = 0 DAOTEN = Trim(X) End Function

‘======================================================

Trên đây là các hàm đợc thực hiện công việc mã hóa rồi sắp xếp. Việc sắp xếp đợc thực hiện chính sự hỗ trợ của chơng trình bằng một lệnh của SQL.

Kết quả đạt đợc thông qua một ví dụ sau:

STT Họ và Tên Ngày sinh Quê quán

1. Vũ Hữu Tài 16/11/1981 Thanh Miện - Hải Dơng

2. Lê Thị Thanh Nga 15/01/1982 TX Hng Yên – Hng Yên

3. Nguyễn Tân An 22/12/1980 Lê Chân - Hải Phòng

4. Nguyễn Thị Hằng Nga 15/01/1981 Q. Tây Hồ - Hà Nội

5. Ngô Đức Dũng 01/01/1981 Lơng Tài – Bắc Ninh

Dữ liệu ở trờng họ và tên sẽ đợc mã hóa nh sau :

STT Họ và Tên Mã hóa Ngày sinh Quê quán

1. Vũ Hữu Tài tai1 huzu3 vũ 16/11/1981 Thanh Miện - HD

2. Lê Thị Thanh Nga nga thanh thỵ lê 15/01/1982 TX Hng Yên – HY

3. Nguyễn Tân An an tazzn nguyụn 22/12/1980 Lê Chân - HP

4. Nguyễn Thị Hằng

Nga

nga hazng1 thỵ nguyụn

15/01/1981 Q. Tây Hồ – HN

5. Ngô Đức Dũng dũng dzức ngô 01/01/1981 Lơng Tài – BN

Kết quả sắp xếp nh sau:

STT Họ và tên Mã hóa Ngày sinh Quê quán

1. Nguyễn Tân An an tazzn nguyụn 22/12/1980 Lê Chân - HP

2. Ngô Đức Dũng dũng dzức ngô 01/01/1981 Lơng Tài – BN

3. Nguyễn Thị Hằng

Nga

nga hazng1 thỵ nguyụn

15/01/1981 Q. Tây Hồ - HN

4. Lê Thị Thanh Nga nga thanh thỵ lê 15/01/1982 TX Hng Yên - HY

5. Vũ Hữu Tài tai1 huzu3 vũ 16/11/1981 Thanh Miện – HD

Chơng III Một số kết quả đã đạt đợc

Chơng trình “Thiết kế và xây dựng chơng trình sắp xếp tiếng Việt trờng họ tên trong chơng trình thi tuyển Đại học và Cao đẳng” với mục đích chính là sắp xếp danh sách thí sinh tham gia dự thi tuyển sinh Đại học theo đúng thứ tự chuẩn mà bộ khoa học, công nghệ và môi tròng đã quyết định chung, trong đó bộ mã chuẩn TCVN5712-93 (bộ cài đặt có tên là ABC, ta sẽ gọi tắt là bộ mã ABC). Với tiêu chí trên chơng trình đã đạt đợc kết quả là với bất kỳ một thí sinh nào tham gia dự thi tuyển sinh Đại học, khi tiến hành lập hồ sơ tuyển sinh và nộp lên các trờng thì các thí sinh này sẽ đợc nhập tên vào máy vi tính. Sau một số thao nhất định thì họ và tên của thí sinh này sẽ đợc đặt vào đúng vị trí theo sự sắp xếp của chơng trình tức là mặc dù, là thí sinh đợc nhập vào cuối cùng trên máy tính nhng nếu thí sinh có tên A thì sẽ đợc sắp xếp ngay trên đầu của danh sách thí sinh.

Ngoài ra trong chơng trình còn đạt đợc một sô kết quả sau:

Vì đây là chơng trình thi tuyển sinh vào các trờng Đại học và Cao đẳng nên chơng trình không chỉ dừng lại ở việc sắp xếp danh sách thí sinh dự thi theo đúng thứ tự chuẩn của tiếng Việt mà thông qua việc sắp xếp danh sách thí sinh dự thi này các nhân viên quản lý sẽ đa ra đợc số báo danh của mỗi thí sinh

dự thi và số báo danh của mỗi thí sinh dự thi chính là số thứ của thí sinh đó trên danh sách sắp xếp cũng từ việc sắp xếp theo chuẩn tiếng Việt mà các nhân viên quản lý hồ sơ dự thi sẽ đa ra đợc số thí sinh này trong một phòng thi. Kết hợp với việc cập nhật địa điểm thi để từ đó in ra trên giấy báo dự thi với các thông tin cơ bản nh họ tên, số báo danh, phòng thi và địa điểm thi đồng thời in ra đợc thẻ dự thi của mỗi thí sinnh dự thi với thông tin nh trên.

Với những thí sinh đã tham gia dự thi ở các trờng Đại học khi có điểm thi sẽ đợc cập nhật vào danh sách thi trên điểm thi các môn của mỗi thí sinh. Từ những thông tin về điểm này chơng trình sẽ in ra phiếu báo điểm và với mỗi thí sinh trúng tuyển thì sẽ đợc in ra phiếu báo nhập học.

Nh vậy, mặc dù phần chính của chơng trình là việc thiết kế và xây dựng phần mềm sắp xếp tiếng Việt theo trờng họ và tên trong một danh sách đã đạt đợc một số kết quả đã nêu ở trên. Tuy nhiên, đây là một chơng trình tơng đối khó, vẫn còn rất nhiều thắc mắc trong thực tế. Nhng nếu ta chỉ có nghĩ đơn thuần về một thuật toán nào đó về chơng trình thì tởng rằng chơng trình là một vấn đề rất dễ dàng nhng đến khi bắt tay vào viết chơng trình không phải đơn giản một chút nào. Việc gặp khó khăn lớn nhất trong chơng trình đó là công việc sắp xếp tiếng Việt vì trên thực tế có rất nhiều phần mềm khác nhau viết về việc sắp xếp nhng chúng đều hỗ trợ trên các phần mềm khác nhau mà cha có một phần mềm nào để hỗ trợ cho Access. Mặt khác, ở nớc ta việc quan niệm về họ tên vẫn còn nhiều thắc mắc nh có ngời cho rằng tên đệm và tên riêng ra nh- ng có ngời lại cho rằng tên đệm và tên là cụm từ kép nên việc thiết kế chơng trình vẫn còn nhiều bàn cãi.

Tuy nhiên, trong chơng trình này với phần mềm hỗ trợ cho chơng trình thì việc sắp xếp dựa trên sự mã hoá của họ tên rồi sau đó đảo ngợc họ tên nên rồi sau đó mới sắp xếp.

Ngoài ra khi ta tiến hành nhập điểm, nhập hồ sơ của thí sinh hay cả các thông tin đầu ra nhất là trong quá trình lập trình vẫn còn mắc một số lỗi. Nhng vì đây là một chơng trình vẫn còn nhiều nan giải của các nhà tuyển sinh và cũng do sự hạn chế về trình độ cùng với thời gian không cho phép nên việc mắc lỗi là một điều không thể tránh khỏi nhng trong chơng trình cũng đã đạt đợc một số kết quả khả quan.

Tóm lại: chơng trình đã đạt đợc một số kết quả sau đây:

* Sắp xếp trờng họ và tên theo đúng font chữ tiếng Việt Trang 48

* Tiến hành xử lý đợc dữ liệu về các thông tin của thí sinh dự thi.

* Đa ra đợc một số báo cáo gửi tới thí sinh và gửi tới lãnh đạo nhà tr- ờng.

* Cung cấp cho các trờng với nguyện vọng của thí sinh đã đăng ký những thông tin cần thiết.

* Ngoài ra còn đạt đợc một số kết quả khác.

Tuy nhiên, chơng trình vẫn còn một số mặt cha đạt đợc đó là :

* Cha tiến hành chuẩn hoá đợc họ tên khi nhập họ và tên của thí sinh. * Cha tiến hành gửi dữ liệu của mỗi thí sinh thông qua mạng.

* Một số bớc cũng nh các thông báo khi vào dữ liệu sai vẫn cha đợc hoàn thiện.

*v.v.v

Kết luận

Nói tóm lại việc xữ lý dữ liệu và tạo ra văn bản là một vấn đề quan trọng đợc nhiều ngời quan tâm, đặc biệt là việc xử lý dữ liệu và văn bản chữ Việt trên máy vi tính. Đã có khá nhiều bộ mã chữ Việt đang đợc thịnh hành nhất hiện nay trên đất nớc ta nh ABC, VIETWARE, VNI mỗi bộ chữ đều có những … u, nhợc điểm riêng nhng tất cả đều hớng vào việc soạn thảo, lu giữ và xử lý dữ liệu trên máy vi tính bằng ngôn ngữ tiếng Việt. Tuyển sinh đại học là một công việc quản lý không phải là dễ dàng bởi có quá nhiều thí sinh tham gia đăng ký dự thi. Do vậy, để quản lý đợc chặt chẽ về các thông tin của các thí sinh thì cần thiết phải sắp xếp thứ tự các thí sinh tham gia đăng ký dự thi thành một trật tự hợp lý trong mỗi kỳ tuyển sinh. Vì vậy, việc nghiên cứu đề tài “Thiết kế và xây dựng chơng trình sắp xếp tiếng Việt trờng họ và tên hỗ trợ cho việc tuyển sinh Đại học” có ý nghĩa khá to lớn bởi vì sắp xếp sẽ đợc kết hợp với bộ mã ABC chơng trình này có thể ứng dụng về mọi vấn đề về sắp xếp theo chữ Việt trong Access. Một thực tế là bất cứ ai cần quản lý về mặt nhân sự cũng cần phải sử dụng phần mềm này. Quản lý thí sinh dự thi Đại học và Cao đẳng cũng nh quản lý nhân sự trong công ty đều rất quan trọng. Việc sắp xếp một cách có trật tự tr- ờng họ và tên giúp cho các nhà quản lý, các nhà lãnh đạo tìm đợc, sử dụng đợc một cách nhanh nhất và hiệu quả cao nhất về từng đối tợng quản lý của mình. Chính vì vậy, với đề tài này chúng ta sẽ thu đợc kết quả các thông tin cơ bản

đầu ra cho bất cứ một thí sinh nào tham gia dự thi cũng nh cho các nhà quản lý. Thông qua sự hỗ trợ của phần sắp xếp này ta đã có danh sách theo đúng tiêu chuẩn Việt Nam đã ban hành, ngoài ra chơng trình còn đa ra thông tin cơ bản nh Giấy báo dự thi, Thẻ dự thi, danh sách các thí sinh, Giấy chứng nhận (Giấy báo điểm) và các thông tin khác về thí sinh để những ngời quản lý, ngời lãnh đạo trong kỳ thi tuyển sinh có thể quản lý các thí sinh dự thi đợc chặt chẽ.

Tuy nhiên, do thời gian và trình độ có hạn. Vì vậy vấn đề lỗi và kiểm soát lỗi luôn luôn là một vấn đề đợc quan tâm hàng đầu. Cho dù bất kỳ một ch- ơng trình phần mềm nào cũng sẽ không thể tránh khỏi điều này. Chính vì thế mà trong chơng trình không thể không có một lỗi nào mà sẽ còn mắc khá nhiều sai sót do trình độ chuyên môn còn ít và hạn chế về mặt thực tế của một sinh viên. Vì vậy chơng trình tất yếu sẽ mắc một số sai sót cần đợc tiến hành nghiên cứu nh :

Đây là một chơng trình sắp xếp do đó kết quả của chơng trình chỉ có sắp xếp mà thôi chứ cha có chuẩn hoá tiếng Việt tức là khi ta nhập họ và tên của một cá nhân dới bất kỳ một hình thức nào vào trờng họ tên thì cũng cho ra một kết quả theo đúng quy định. Ví dụ:

Vũ hữu Tài → Vũ Hữu Tài

Ngoài ra, đây còn là một chơng trình chạy trên nền Access mà Access lại là một trong những phần mềm của Office nên chơng trình cần phải đợc tiến hành nghiên cứu sao cho nó có thể chạy đợc cả trên Word, Excel…

Đồng thời, khi xem xét vấn đề tuyển sinh hiện nay thì mỗi thí sinh khi tham gia đăng ký dự thi chỉ đợc phép thi một lần duy nhất và đợc phép đăng ký thêm hai nguyện vọng nữa. Nếu ta chỉ dựa vào hồ sơ để lọc ra những thí sinh không trúng tuyển NV1 mà có NV2, NV3 ở các trờng khác bằng thủ công và sau đó gửi hồ sơ đến các trờng này để các trờng tự tiến hành kiểm tra điểm của thí sinh trên máy tính thì công việc sẽ rất lâu và không thể chính xác. Chính vì vậy nếu ta tiến hành thông qua việc gửi dữ liệu trên mạng máy tính tới các tr- ờng có thí sinh tham gia dự thi để các trờng đó tự tiến hành xét tuyển thì sẽ nhanh hơn.

Trên đây là một số những vấn đề cần đợc tiến hành nghiên cứu khi tiến hành chạy một chơng trình hoàn chỉnh. Đây là đề tài đầu tiên mà em nghiên cứu nên rất khó tránh khỏi những sai sót vì vậy em rất mong nhận đợc ý kiến

nhận xét đánh giá của thày cô và sự góp ý của bạn đọc để cho em có thể có một cái nhìn rõ nét hơn và hiểu sâu hơn đề tài mình nghiên cứu và cũng để khi ra thực tế sẽ có đợc cách suy nghĩ, nghiên cứu các vấn đề khác đợc tốt hơn.

Cuối cùng, một lần nữa em xin chân thành cảm ơn đến thầy cô giáo giảng viên khoa Tin học Kinh tế đã giúp đỡ hớng dẫn em hoàn thành đề tài này.

Tài liệu tham khảo

1. Giáo trình hệ thống thông tin quản lý. 2. Giáo trình cơ sở dữ liệu.

3. Hội thảo về hệ thống mở Việt Nam

4. Những điều cần biết về kỳ thi tuyển sinh Đại học và Cao đẳng năm 2002-2003.

5. Các giấy báo : giấy báo dự thi, giấy báo điểm (giấy chứng nhận), thẻ dự thi, giấy báo nhập học.

Một phần của tài liệu Thiết kế và xây dựng phần mềm sắp xếp tiếng việt theo trường họ tên hỗ trợ cho việc tuyển sinh Đại học – Cao đẳng (Trang 41 - 52)

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

(52 trang)
w