Tìm kiếm PhanVien.Com Web
Download PhanVien.Com Toolbar
Danh mục thông tin

Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access

Mặc dù Access là một ứng dụng cơ sở dữ liệu có các đối tượng giao diện mạnh nhưng người dùng không phải ai cũng quen thuộc khi sử dụng ứng dụng này. Nhiều trường hợp Access không được cài đặt sẵn sàng trên mọi hệ thống người dùng hay có thể bạn không muốn người dùng truy cập vào cơ sở dữ liệu của mình.

Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access

Trong bài này Quản Trị  Mạng sẽ hướng dẫn  bạn cách sử dụng ứng dụng  Word để thu thập dữ liệu  người dùng  sau đó chuyển toàn bộ dữ liệu  này sang một bảng trên Access. Phương pháp này yêu cầu cần có một ứng dụng  cơ sở dữ liệu  Access, Word và các mã Visual Basic cho các ứng dụng  (VBA). (Các hướng dẫn  dưới đây được thực hiện trên Word 2003 và 2007 nhưng phương pháp này cũng sẽ tương thích với phiên bản  Win 2000, XP và 2002). 

Lưu ý về mặt cơ sở dữ liệu

Để đơn giản hơn, bạn hãy tưởng tượng rằngWord sẽ chuyển dữ liệu  tới một nơi nào đó và cơ sở dữ liệu  tương tự sẽ được chuyển sang Access. Khi áp dụng phương pháp này trong công việc, bạn cần phải nắm được các chi tiết sau trước khi tạo tập tin word:

  • Đường dẫn và tên của cơ sở dữ liệu.
  • Tên bảng trên Access.
  • Tên các trường trên bảng và loại dữ liệu.

Ví dụ thực hiện trên form (biểu mẫu) của Word (Hình A), bạn cập nhật hai trường trong bảng Shippers là: CompanyNamePhone. Cả hai trường này đều ở dạng text. Đường dẫn ví dụ là:

C:Program FilesMicrosoft Office11Office11SamplesNorthwind.mdb

Bạn có thể sẽ cần cập nhật đường dẫn nhằm điều chỉnh hệ thống.


Hình A: Ứng dụng Word giúp dễ dàng nhập dữ liệu  để tập hợp dữ liệu  cho Access.

Tập hợp dữ liệu  từ form Word

Form (biểu mẫu) Word là một tài liệu  chứa các ô trống được gọi là trường để bạn có thể nhập dữ liệu. Trường là một ô được xác định trước có chức năng lưu trữ  và chấp nhận dữ liệu  nhập vào. Trong ví dụ của form Word như Hình A, ta có hai trường nhập ký tự. Sử dụng ứng dụng  này, người dùng  có thể cập nhật bảng Shippers rồi sau đó các cơ sở dữ liệu  tương tự sẽ được chuyển sang Access  mà không cần phải chạy Access  hay thậm chí bạn không cần phải hiểu về cơ sở dữ liệu.

Bảng Shippers có 3 trường nhưng một trong số đó là loại dữ liệu  đánh số tự động (AutoNumber). Khi ứng dụng  chuyển một bản ghi mới, Access  sẽ sắp xếp các giá trị. Đó là lý do  tại sao chỉ có 2 trường hiển thị là: txtCompanyName và txtPhone.

Để tạo ví dụ trên form Word, hãy chèn hai trường text (ký tự) vào trong tài liệu  Word như sau:

1. Từ trình đơn View, chọn Toolbars và sau đó chọn Forms.

2. Chèn vào hai điều khiển Text Form Field và cách dòng giữa chúng.

3. Nhấp đúp tại một trường để hiển thị hộp thoại Field Options.

4. Sử dụng đặc tínhBookmark để định nghĩa trường đầu tiên là txtCompanyName, Hình B.

5. Lặp lại bước 4 và định nghĩa điều khiển thứ hai txtPhone.

6. Lưu lại tập tin.


Hình B: Xác định hai điều khiển text

Trong Word 2007, bạn cần thêm thẻ Developer như sau:

1. Kích nút Office sau đó kích Word Options (ở góc phải phía dưới).

2. Kích Popular.

3. Chọn tuỳ chọn Show Developer tab in the Ribbon và kích OK.

Chú ý rằng các tên các trường trên Word phải giống với tên trường trên Access, sẽ là CompanyName Phone. Điểm khác nhau duy nhất là tiền tố txt. Không cần thiết phải đặt tên cho các trường trên Word theo cách đó nhưng cách đặt tên này sẽ giúp bạn dễ dàng đối chiếu giữa các trường trên Word và trên Access. (txt nhằm xác định đây là trường nhập text).

Ngay khi đã hoàn thành tài liệu, bạn cần chức năng VBA để chuyển các giá trị  nhập thành cơ sở dữ liệu  Access. Bạn thực hiện theo các bước sau để thêm một hàm:

1. Mở Visual Basic Editor (VBE) bằng cách nhấn tổ hợp phím Alt+F11.

2. Chọn Module từ trình đơn Insert.

3. Nhập chức năng trong Đoạn mã A. Hãy chắc chắn cập nhật đường dẫn đúng nếu như đường dẫn của bạn khác với ví dụ.

4. Từ trình đơn Tools, chọn References và kiểm tra Microsoft ActiveX  Data Objects 2.x Library (ADO) như trong hình C. (Nó sẽ không tự chọn mục thư viện này, bạn phải kích chọn nó). Word Object và thư viện VBA sẽ được tham chiếu.

5. Kích OK để quay trở lại module.

Đoạn mã A

Đoạn mã:
Sub TransferShipper()

'Transfer new shipping company record to

'Shippers table in Northwind database.

Dim cnn  As ADODB.Connection

Dim strConnection As String

Dim strSQL As String

Dim strPath As String

Dim doc As Word.Document

Dim strCompanyName As String

Dim strPhone As String

Dim bytContinue As Byte

Dim lngSuccess As Long

Set doc = ThisDocument

On Error GoTo ErrHandler

strCompanyName = Chr(39) & doc.FormFields(\"txtCompanyName\").Result & Chr(39)

strPhone = Chr(39) & doc.FormFields(\"txtPhone\").Result & Chr(39)

'Confirm new record.

bytContinue = MsgBox(\"Do you want to insert this record?\", vbYesNo, \"Add Record\")

Debug.Print bytContinue

'Process input values.

If bytContinue = vbYes Then

strSQL = \"INSERT INTO Shippers \" _

& \"(CompanyName, Phone) \" _

& \"VALUES (\" _

& strCompanyName & \", \" _

& strPhone & \")\"

Debug.Print strSQL

'Substitute path and connection  string with DSN if available.

strPath = \"C:Program FilesMicrosoft Office11Office11SamplesNorthwind.mdb\"

strConnection = \"Provider=Microsoft.Jet.OLEDB.4.0;\" _

& \"Data Source = \" & strPath

Debug.Print strConnection

Set cnn  = New ADODB.Connection

cnn.Open strConnection

cnn.Execute strSQL, lngSuccess

cnn.Close

MsgBox \"You inserted \" & lngSuccess & \" record\", _

vbOKOnly, \"Error Added\"

doc.FormFields(\"txtCompanyName\").TextInput.Clear

doc.FormFields(\"txtPhone\").TextInput.Clear

End If

Set doc = Nothing

Set cnn  = Nothing

Exit Sub

ErrHandler:

MsgBox Err.Number & \": \" & Err.Description, _

vbOKOnly, \"Error\"

On Error GoTo 0

On Error Resume Next

cnn.Close

Set doc = Nothing

Set cnn  = Nothing

End Sub


Hình C: Tham chiếu thư viện ADO

Quay trở lại ứng dụng  Word và nhấp đúp chuột tại txtPhone. Tại hộp thoại kết quả Options, chọn TransferShipper từ danh sách tùy chọn Exit xổ xuống, Hình D. Thực hiện như vậy cho đến khi trường cuối cùng đã được gán mã để chuyển dữ liệu  nhập vào sang Access.

Đây là cách dễ dàng nhất để thực hiện mã. Bạn có thể lựa chọn sử dụng cách khác như là thêm các điều khiển ngẫu nhiên trên thanh công cụ. Sau khi bạn xác định TransferShipper trong thuộc tính Exit. Cuối cùng bạn đóng hộp thoại.


Hình D: Thực thi hàm từ tuỳ chọn Exit của điều khiển cuối

Giờ bạn sẽ thực hiện bảo vệ form đã tạo trên Word. Hãy kích vào Protect Form trên thanh công cụ Forms. Lưu lại toàn bộ bảng mẫu và đóng nó lại.

Sử dụng form

Bạn mở file chưa form Word và nhập vào một giá trị  tại cả hai trường, Hình E. Trường Phone trên bảng Shippers sẽ chấp nhận giá trị  điện thoại  với hầu hết tất cả các định dạng. Khi áp dụng phương pháp này, hãy chắc chắn bạn đã cung cấp các thuộc tính định dạng  đặc biệt.


Hình E: Nhập một bản ghi mới

Sau khi nhập vào số điện thoại, hãy nhấn Tab để kết thúc trường đó, hàm con TransferShipper() sẽ hoạt động  (được biết đến như một macro). Sau các câu lệnh khai báo số, đoạn mã sẽ móc nối một số chức hàm Chr() để nhập vào giá trị  nhằm thêm các ký tự đặc biệt. Trong trường hợp này, hàm Chr(39) trả lại giá trị  (). Ngày tháng yêu cầu ký tự (#). Các giá trị  số không yêu cầu ký tự đặc biệt.

Thông báo đơn giản bạn thấy trong hình F cho phép xác nhận lại quá trình chuyển dữ liệu  nhập vào (Hình E). Đây cũng là dấu hiệu kiểm tra các giá trị  nhập chính xác  của người dùng. Ví dụ, bạn có thể muốn kiểm tra một trường trống hay một kiểu dữ liệu  không thích hợp.


Hình F: Xác nhận bản ghi mới

Khi kích Yes, đoạn mã sẽ xây dựng  một câu lệnh SQL INSERT INTO bao gồm các trường Access  và các giá trị  nhập vào bảng mẫu:

Đoạn mã:
INSERT INTO accesstable (acessfld1, acessfld2, ...)

VALUES (wordinputfld1, wordinputfld2, ...)

Bạn không nhất thiết phải nhập giá trị  cho mọi trường trong bảng Access, nhưng cần phải nhập vào các trường được yêu cầu. Hãy chú ý tới sự tương ứng thứ tự các trường nhập dữ liệu  trong Access  và Word. Nếu như bạn bỏ một tham chiếu tới trường Access  thì cũng phải bỏ một giá trị  nhập trên Word , trường AutoNumber không nhất thiết phải nhập.

Tiếp đó, đoạn mã sẽ xác định đường dẫn và mở ra kết nối. Chú ý có thể bao gồm mật khẩu  nếu như bạn có đặt mật khẩu  cho file Access, sử dụng theo cú pháp sau:

Đoạn mã:
cnn.Open connectionstring, userid, password, options

Nếu tồn tại một Data Source Name (DSN) cho cơ sở dữ liệu  thì hãy tham chiếu tới nó như sau:

Đoạn mã:
cnn.Open = \"DSN=datasourcename\"

Một DSN thì dễ làm việc  hơn là một chuỗi các kết nối phức tạp. Cuối cùng, phương pháp Execute sẽ đưa dữ liệu  vào trong bảng Shippers. Cơ sở dữ liệu  có thể được mở nhưng bạn sẽ muốn tính đến nhiều người dùng  và khoá các khả năng.

Hình G đưa ra một thông báo  xác nhận quá trình chuyển dữ liệu  đã hoàn thành. Nếu bạn bỏ qua bước này thì chắc chắn sẽ xảy ra lỗi. Nếu câu lệnh INSERT INTO bị hỏng, bạn sẽ cần phải khắc phục  sự cố này theo một số cách.

Ví dụ như bạn có thể xóa các trường và thêm giá trị  mới. Một giải pháp tốt hơn đó là nhận biết ra các lỗi để có thể tránh kịp thời. Hãy nhớ rằng dữ liệu  nhập phải thích hợp với tất cả các đặc tính của trường trong Access. Hai sự cố phổ biến nhất đó là:

  • Các loại dữ liệu  không tương xứng – Điều này có nghĩa là bạn không thể nhập text vào trường số và ngược lại.
  • Bỏ sót các giá trị  được yêu cầu trên bảng Access – Nếu đặc tính được yêu cầu của trường Access  được thiết lập là Yes, thì bạn không thể điền vào giá trị  null. Nếu bạn để trống txtCompanyName thì đoạn mã sẽ báo lỗi bởi vì Access  cần phải có một giá trị  tại trường đó.


Hình G: Bảng mẫu cho biết đoạn mã đã chèn bản ghi mới

Sau khi chuyển đổi thành công, đoạn mã sẽ xóa sạch các trường trên Word. Quản lý lỗi rất cơ bản. Kiểm tra kỹ thuật  này thật kỹ lưỡng và xem xét tất cả các lỗi có thể xảy ra. Trong trường hợp, không tin tưởng nó làm việc  như mong muốn, bạn có thể mở bảng Shippers trên Access. Hình H hiển thị bản ghi mới bổ sung. (Đừng lo lắng  về các giá trị  AutoNumber; chúng không quan trọng.)


Hình H: Các giá trị  đã được thêm vào bảng

Chuyển đổi thành công

Nắm được dữ liệu  chính là chìa khóa để chuyển đổi mỗi bản ghi mới mà không nảy sinh vấn đề nghiêm trọng gì. Đoạn mã ví dụ chứa đựng các kĩ năng cần thiết giúp bạn bắt đầu. Bạn cần phải nâng cao kỹ thuật  để điều chỉnh dữ liệu  và một số các yêu cầu khác.

Tìm bài viết khác
Theo Techrepublic
Updated: 29/02/2008 | Views: 836 | Comments: 0

Comments - Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access

Hiện tại chưa có bình luận nào về bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access!

Bạn có ý kiến gì về bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access này? Hãy gởi suy nghĩ, bình luận, đánh giá, lời khuyên ... của bạn về bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access bạn tại đây.

Other articles

Similar Articles Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access

Older than Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access in Tin Học Văn Phòng

Newer than Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access in Tin Học Văn Phòng

Recently Published - Tin Học Văn Phòng
Day ao thuat
Latest Comments in Tin Học Văn Phòng
By cho em xin bài mẫu làm từ điển. anh oi em muon lam mot cai tu dien nhu tren qua ma lam mai ko dc anh cho em 1 file mau de .....
By Hoang Tam. Phan mem rat tien ich, Phan mem rat tien ich, Phan mem rat tien ich...
By Cautay. rat hay ,minh tim mai ma khong lam dc,nay thoa man roi,cam on rat nhieu...
By Pham Quang Quyen. Cam on tac gia nhung bai slide...
By Tra My. anh oi em muon lam mot cai tu dien nhu tren qua ma lam mai ko dc anh cho em 1 file mau de .....
By Vu Duy. Cam on ban da chia se mot kinh nghiem quy bau.Neu khong doc bai cua ban thi toi khong .....
By tien huy. word cua toi bi loi.Vay toi phai lam the nao de dc nhu ban dau,...
By traisingle. Đâu cần phiền phúc như vậy chứ. Hi sau khi giấu đoạn văn bản bằng .....
By zzzmsnzzz. hay wa,thank nhiu nha...
By nhung1234. đọc" nội dung cho người khiếm thị!...
Most Comments in Tin Học Văn Phòng
Monthly Most Views - Tin Học Văn Phòng
  English Tiếng Việt 
Bạn đang xem bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access được gởi trong chủ đề Tin Học Văn Phòng - Công Nghệ Thông Tin. Bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access này được lưu trên Server thành hai bản: Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access có dấuChuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access không dấu. Bạn có thể gởi ý kiến bình luận, đóng góp về bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access này tại phần gởi bình luận ở cuối nội dung bài viết. Lưu ý nội dung của bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access này có thể không còn phù hợp với thời điểm hiện tại. Nếu phát hiện điều này, xin bạn báo cho BQT biết để gỡ bỏ nó.
Home Page | Privacy | Contact | Friend Links | Search | Sitemap | Up
Copyright © 2008 PhanVien.Com . All rights reserved.