DANH MỤC TÀI LIỆU
Chuyển đổi dữ liệu từ Word sang cơ sở dữ liệu Access
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.
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 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
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.
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
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
thông tin tài liệu
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.
Mở rộng để xem thêm
từ khóa liên quan
xem nhiều trong tuần
yêu cầu tài liệu
Giúp bạn tìm tài liệu chưa có

LÝ THUYẾT TOÁN


×