Logo for baiviet32.com

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

Posted: 29.2.2008 | Đọc: 0 | Bình: 0

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.

Bài liên quan Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access hoặc tương tự:

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.

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

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 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 là txtPhone.

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

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

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

[B]
Đ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[/B]

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

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.

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

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.

Bạn có quan tâm đến bài viết này? Xin hãy thích và chia sẻ:

Bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access liên quan hoặc tương tự:

 

Theo Theo Techrepublic


Bình luận Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu .. (0)

Để gởi ý kiến nhận xét, đóng góp, trao đổi, thảo luận về bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access bạn có thể gởi trực tiếp tại mục bình luận bên dưới. Vui lòng viết có dấu đầy đủ nếu ngôn ngữ sử dụng là tiếng Việt. Mọi than phiền về bài viết Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access xin hãy liên hệ với chúng tôi. Tiêu đề là tên bài viết ở dạng tiếng Việt không dấu Chuyen doi du lieu tu Word sang co so du lieu Access hoặc có dấu. Bài viết này đã được xếp vào thể loại: Tin Học Văn Phòng

Tiếc quá! Hiện tại chưa có bình luận nào về bài viết này! Hãy là người đầu tiên!

Máy Tính Công Nghệ

Tài khoản

Tìm kiếm và theo dõi

Từ khóa:

Cuộc sống hối hả, bạn quá bận rộn? Hãy để chúng tôi giúp bạn tiết kiệm thời gian cập nhật những thông tin, bài viết hay, hữu ích mỗi ngày qua email!
Email của bạn:

Sau khi đăng ký bạn hãy mở email và bấm vào link kích hoạt để bắt đầu nhận tin. Thông tin sẽ chuyển cho bạn vào khoảng từ 1-3h sáng, giờ Việt Nam Đã có tất cả khoảng nhận tin!
Delivered by FeedBurner

Recent comments

Copyright ©2014 BaiViet32.Com . All rights reserved.
Phiên bản thử nghiệm
Cached: IP: 66.249.73.153, 15 February, 2014 10:09:24 (HANOI - VN).