Sử Dụng Kiểu Dữ Liệu Large Number Trong Microsoft Access

Sử dụng kiểu dữ liệu Large Number trong Microsoft Access

9/27/2019

Share on Facebook Share on Facebook

Kiểu dữ liệu Large Number lưu trữ giá trị số phi tiền tệ và tương thích với kiểu dữ liệu SQL_BIGINT trong ODBC. Sử dụng kiểu dữ liệu này để tính toán các Large Number một cách hiệu quả.

Bạn có thể thêm Large Number dưới dạng một trường vào bảng Access. Bạn cũng có thể liên kết đến hoặc nhập từ cơ sở dữ liệu có kiểu dữ liệu tương ứng, chẳng hạn như kiểu dữ liệu bigint SQL Server. Để thêm kiểu dữ liệu Large Number, bạn cần có Access 2016 (16.0.7812 trở lên).

Thêm một trường Large Number vào bảng

Kiểu dữ liệu Large Number (tám byte) cung cấp cho bạn phạm vi tính toán lớn hơn rất nhiều so với kiểu dữ liệu Number (bốn byte). Ví dụ: kiểu dữ liệu Number có phạm vi từ -2^31 đến 2^31-1 nhưng kiểu dữ liệu Large Number có phạm vi từ -2^63 đến 2^63-1. Để biết thêm thông tin, hãy xem mục Giới thiệu về các kiểu dữ liệu và thuộc tính trường.

Khi bạn thêm một trường Large Number vào bảng, rồi lưu thiết kế bảng đó, bạn đã bật kiểu dữ liệu Large Number một cách hiệu quả, đồng thời cơ sở dữ liệu không còn tương thích với phiên bản Access trước đó. Trước khi lưu thiết kế bảng, bạn sẽ được thông báo bằng một thông báo cảnh báo trong trường hợp bạn cần duy trì tính tương thích của cơ sở dữ liệu.

Liên kết đến hoặc nhập từ cơ sở dữ liệu bên ngoài có sự hỗ trợ của kiểu dữ liệu SQL_BIGINT

Bạn cũng có thể sử dụng kiểu dữ liệu Large Number để làm việc hiệu quả với dữ liệu được liên kết hoặc được nhập, chẳng hạn như một cơ sở dữ liệu SQL Server sử dụng kiểu dữ liệu bigint. Trước khi hỗ trợ kiểu dữ liệu Large Number, Access đã chuyển đổi kiểu dữ liệu tương đương thành kiểu dữ liệu Văn bản Ngắn.

Khi đã bật kiểu dữ liệu Large Number cho các thao tác liên kết và nhập, bạn có thể liên kết đến và nhập từ các nguồn dữ liệu bên ngoài bằng cách sử dụng trình điều khiển ODBC hỗ trợ kiểu dữ liệu SQL_BIGINT, bao gồm một khóa chính dựa trên kiểu dữ liệu đó. Ví dụ: bạn có thể sử dụng trình điều khiển ODBC đã cài đặt với Windows để kết nối với các nguồn dữ liệu bên ngoài này hoặc bạn có thể kết nối với các cơ sở dữ liệu khác ở định dạng tệp Access 2016 (.accdb) với các trường Large Number.

Bật kiểu dữ liệu Large Number

Theo mặc định, kiểu dữ liệu Large Number không được bật cho các thao tác liên kết và nhập. Tuy nhiên, bạn có thể bật hỗ trợ một cách rõ ràng bằng cách đặt tùy chọn Hỗ trợ Kiểu Dữ liệu Bigint cho Bảng được Liên kết/Nhập của Access. Khi bạn tìm cách đặt tùy chọn này, bạn sẽ được thông báo bằng một thông báo cảnh báo trong trường hợp bạn cần duy trì tính tương thích của cơ sở dữ liệu. Sau khi đặt tùy chọn, cơ sở dữ liệu sẽ không còn tương thích ngược với các phiên bản Access trước đó.

Các bảng hiện có không tự động chuyển đổi

Việc bật hỗ trợ kiểu dữ liệu Large Number không tự động thay đổi kiểu dữ liệu của bảng hiện có. Trước đó, có thể bạn đã liên kết đến hoặc nhập từ một nguồn dữ liệu nào đó bằng cách sử dụng trình điều khiển ODBC hỗ trợ kiểu dữ liệu SQL_BIGINT (chẳng hạn như kiểu dữ liệu bigint SQL Server). Trong cả hai trường hợp, Access đều đã chuyển đổi trường thành kiểu dữ liệu Văn bản Ngắn. Để thay đổi kiểu dữ liệu đó thành Large Number, hãy thực hiện như sau:

Bảng được liên kết bật tùy chọn hỗ trợ BigInt, rồi Làm mới các bảng được liên kết bằng cách sử dụng Trình quản lý Bảng được Nối kết (Chọn Dữ liệu Bên ngoài > Trình quản lý Bảng được Nối kết, chọn các bảng liên quan, rồi chọn OK). Thao tác này sẽ chuyển đổi cột từ Văn bản Ngắn sang kiểu dữ liệu Large Number.

Bảng được Nhập Thay đổi trường có chứa kiểu dữ liệu Văn bản Ngắn thành kiểu dữ liệu Large Number (Mở bảng trong chế độ xem Thiết kế, chọn trường trong cột Kiểu Dữ liệu, chọn Large Number từ danh sách các kiểu dữ liệu, rồi lưu thay đổi của bạn).

Hiểu rõ về ảnh hưởng của hỗ trợ kiểu dữ liệu Large Number

Trước khi bắt đầu sử dụng kiểu dữ liệu Large Number, một điều rất quan trọng là bạn phải hiểu rõ tác động có thể có của kiểu dữ liệu Large Number lên các cơ sở dữ liệu Access của bạn.

Đóng dấu định dạng tệp Access 2007-2016 (.accdb) thành Access 2016

Để tóm tắt, bạn có thể bật hỗ trợ cho kiểu dữ liệu Large Number bằng hai cách: khi bạn thêm trường vào bảng cục bộ với kiểu dữ liệu Large Number và khi bạn thiết lập tùy chọn Hỗ trợ Kiểu Dữ liệu Bigint cho Bảng được Liên kết/Nhập của Access. Dù bạn bật hỗ trợ kiểu dữ liệu Large Number theo cách nào thì đó vẫn là một sự thay đổi vĩnh viễn đối với cơ sở dữ liệu và không thể đảo ngược được. Trong từng trường hợp, Access sẽ hiển thị thông báo cảnh báo trước khi bạn tiến hành thay đổi.

Việc bật kiểu dữ liệu Large Number sẽ âm thầm đóng dấu định dạng tệp Access 2007-2016 (.accdb) thành Access 2016. Việc đóng dấu định dạng tệp cơ sở dữ liệu có nghĩa là bạn đã thực hiện một sự thay đổi cụ thể đối với định dạng tệp, phiên bản cơ sở dữ liệu đã tăng lên nhưng mặt khác, định dạng tệp vẫn giữ nguyên. Khi bạn tìm cách mở cơ sở dữ liệu trong Access 2013 hoặc Access 2016, Access sẽ đọc dấu đó theo cách sau đây:

  • Nếu phiên bản cơ sở dữ liệu thấp hơn 16.7 thì kiểu dữ liệu Large Number sẽ không được bật, đồng thời bạn có thể mở cơ sở dữ liệu.
  • Nếu phiên bản cơ sở dữ liệu là 16.7 trở lên thì kiểu dữ liệu Large Number sẽ được bật, bạn chỉ có thể mở cơ sở dữ liệu trong Access 2016.

Tóm tắt hỗ trợ kiểu dữ liệu Large Number cho các phiên bản sản phẩm

Bảng sau đây tóm tắt các trường hợp có thể gặp phải khi sử dụng kiểu dữ liệu Large Number cho các phiên bản sản phẩm khác nhau. Lưu ý rằng việc bật sẽ xảy ra khi bạn thêm kiểu dữ liệu Large Number vào bảng và lưu thiết kế hoặc đặt tùy chọn bật liên kết và nhập.

Trạng thái Kiểu Dữ liệu Large Number

Phiên bản sản phẩm: Access 2013 và Access 2016 có số phiên bản thấp hơn 16.0.7812

Phiên bản sản phẩm: Access 2016 có số phiên bản 16.0.7812 trở lên

Đã bật

Bạn không thể mở cơ sở dữ liệu, đồng thời, bạn sẽ nhận được một thông báo lỗi cùng với liên kết trợ giúp.

Để tránh tình huống này, hãy xem mục "Loại bỏ hỗ trợ kiểu dữ liệu Large Number khỏi một cơ sở dữ liệu trong định dạng tệp Access 2007-2016"

Bạn có thể mở cơ sở dữ liệu.

Trường bảng cục bộ đã xác định với kiểu dữ liệu Large Number được xử lý như Large Number.

Bạn có thể làm mới các bảng được liên kết. Nếu trước đó, các cột đã được xử lý dưới dạng kiểu dữ liệu Văn bản Ngắn thì các cột đó sẽ tự động chuyển đổi thành kiểu dữ liệu Large Number.

Không bật

Bạn có thể mở cơ sở dữ liệu.

Bạn có thể làm mới các bảng được liên kết. Nếu các cột trong bảng liên kết được dựa trên kiểu dữ liệu BigInt và đã được chuyển đổi thành kiểu dữ liệu Văn bản Ngắn thì các cột đó vẫn giữ nguyên như vậy.

Phiên bản tệp cơ sở dữ liệu vẫn giữ nguyên.

Bạn có thể mở cơ sở dữ liệu.

Bạn có thể làm mới các bảng được liên kết. Nếu các cột trong bảng liên kết được dựa trên kiểu dữ liệu BigInt và đã được chuyển đổi thành kiểu dữ liệu Văn bản Ngắn thì các cột đó vẫn giữ nguyên như vậy.

Phiên bản tệp cơ sở dữ liệu vẫn giữ nguyên.

Lưu ý: Kiểu dữ liệu Large Number không được hỗ trợ trong bất cứ trường hợp nào với định dạng tệp Access (.mdb) trước định dạng tệp Access 2007-2016.

Xác định xem cơ sở dữ liệu Access đã được bật kiểu dữ liệu Large Number hay chưa

Bạn có thể kế thừa cơ sở dữ liệu Access và muốn xác định xem liệu kiểu dữ liệu Large Number được bật hay không. Bạn có thể thực hiện thao tác sau đây:

Kiểm tra thanh tiêu đề Nếu cơ sở dữ liệu đã được đóng dấu, thanh tiêu đề cho biết <tên cơ sở dữ liệu> (Access 2016). Nếu không, thanh tiêu đề cho biết <tên cơ sở dữ liệu> (Access 2007-2016).

Kiểm tra theo chương trình Xem số phiên bản cơ sở dữ liệu hiện tại. Nhấn CTRL+G để hiển thị Cửa sổ Tức thời Visual Basic, nhập ?CurrentDb().Version, rồi nhấn Enter. Nếu giá trị trả về nhỏ hơn 16.7 thì hỗ trợ không được bật. Nếu giá trị trả về là 16.7 trở lên thì hỗ trợ được bật.

Những điều cần cân nhắc về Backward Compatibility

Quan trọng là bạn phải hiểu rõ môi trường cơ sở dữ liệu của mình nếu bạn muốn duy trình tính tương thích ngược với các định dạng tệp khác nhau.

Dưới đây là ba lựa chọn thay thế để bạn cân nhắc.

Duy trì môi trường định dạng tệp cơ sở dữ liệu dùng chung hiện tại của bạn

Để duy trì môi trường định dạng tệp cơ sở dữ liệu dùng chung với cơ sở dữ liệu trong định dạng tệp Access 2007-2016 (.accdb) và định dạng tệp trước đó (.mdb), hãy làm như sau:

  • Không thêm kiểu dữ liệu Large Number dưới dạng cột vào bất cứ bảng nào.
  • Không bật kiểu dữ liệu Large Number cho các thao tác liên kết và nhập. Để biết thêm thông tin, hãy xem mục Đặt tùy chọn người dùng cho cơ sở dữ liệu hiện tại.

Thêm hỗ trợ kiểu dữ liệu Large Number vào cơ sở dữ liệu trong định dạng tệp Access 2007-2016

Để thêm hỗ trợ kiểu dữ liệu Large Number vào cơ sở dữ liệu trong định dạng tệp Access 2007-2016 (.accdb), hãy làm như sau:

  1. Mở cơ sở dữ liệu trong Access 2016 (16.0.7812 trở lên).
  2. Bật kiểu dữ liệu Large Number cho các thao tác liên kết và nhập. Để biết thêm thông tin, hãy xem mục Chọn thiết đặt cách hiển thị và lưu trữ dữ liệu trong cơ sở dữ liệu của bạn.
  3. Làm mới các bảng được liên kết bằng cách sử dụng Trình quản lý Bảng được Nối kết (Chọn Dữ liệu Ngoài > Trình quản lý Bảng được Nối kết, chọn các bảng liên quan, rồi chọn OK).

HOẶC

Thêm một trường với kiểu dữ liệu Large Number vào bảng và lưu thiết kế bảng.

Kết quả là các trường có kiểu dữ liệu Văn bản Ngắn được chuyển đổi thành kiểu dữ liệu Large Number.

Loại bỏ hỗ trợ kiểu dữ liệu Large Number khỏi cơ sở dữ liệu trong định dạng tệp Access 2016

Bạn không thể mở một cơ sở dữ liệu trong định dạng tệp Access 2016 từ các phiên bản Access trước Access 2016. Để tránh sự cố này, hãy làm như sau:

  1. Tạo cơ sở dữ liệu mới theo định dạng tệp 2007-2016, đồng thời, đảm bảo không bật hỗ trợ kiểu dữ liệu Large Number cho các thao tác liên kết và nhập. Để biết thêm thông tin, hãy xem mục Đặt tùy chọn người dùng cho cơ sở dữ liệu hiện tại.
  2. Trong cơ sở dữ liệu mới, nhập đối tượng mà bạn muốn từ cơ sở dữ liệu ban đầu.
  3. Trong cơ sở dữ liệu mới, liên kết đến các bảng từ cơ sở dữ liệu ban đầu.

Kết quả là những trường có kiểu dữ liệu Large Number được chuyển đổi thành kiểu dữ liệu Văn bản Ngắn, đồng thời cơ sở dữ liệu mới tương thích ngược với mọi định dạng tệp Access 2007-2016 (.accdb).

Từ khóa » đâu Là Kiểu Dữ Liệu Dạng Số Trong Access