修改或更改字段的数据类型设置
应用对象
本文介绍如何修改或更改应用于 Access 数据库中表字段的数据类型。
本文内容
了解数据类型
在首次设计和生成数据库时,会计划一个或多个表,为每个表计划字段(列),并为每个字段设置数据类型。 例如,如果需要存储日期和时间,则将字段设置为“日期/时间”数据类型。 如果需要存储名称和地址,请将一个或多个字段设置为“短文本”数据类型,依此类说。
Access 提供许多不同的数据类型,每种类型都有特定的用途。 有关各种 Access 版本的所有受支持的数据类型的完整列表,请参阅 Access 桌面数据库的数据类型和数据类型和字段属性简介。
有关创建和使用查阅字段的详细信息,请参阅 创建或删除多值字段一文。
最后,数据类型可提供数据验证的基本形式,因为它们可帮助确保用户在表字段中输入正确类型的数据。 例如,不能在设置为仅接受数字的字段中输入文本。
更改数据类型
在按照以下步骤进行操作之前,请记住,更改数据类型可能会截断(剪切)字段中的部分或全部数据,并且在某些情况下可能会彻底删除数据。 有关更改数据类型时 Access 如何更改数据的信息,请参阅本文后面的更改数据类型的限制部分。
注意
在 Access 中,可以通过在数据表视图或设计视图中工作来设置表字段的数据类型。 本部分中的步骤介绍如何在这两种视图中设置数据类型。 在设计视图中设置数据类型时,你将看到额外的选项“查阅向导”。 此选项实际上并非数据类型。 可以使用“查阅向导”创建查阅字段,这些字段会将外键字段链接到其他表。 默认情况下,Access 会将查阅字段设置为“数字”数据类型。
在数据表视图中更改数据类型
- 在导航窗格中,找到并双击要更改的表。
Access 将在数据表视图中打开该表。 - 选择要更改的字段(列)。
- 在“ 表字段 ”选项卡上的 “属性” 组中,单击“ 数据类型”旁边的下拉列表中的箭头,然后选择数据类型。
- 保存所做的更改。
在设计视图中更改数据类型
- 如果表在数据表视图中打开,右键单击表的文档选项卡,然后单击“设计视图”。
或
如果未打开表,在“导航窗格”中,右键单击想要更改的表,然后在快捷菜单上单击“设计视图”。 - 找到想要更改的字段,然后从“数据类型”列中的列表选择新的数据类型。
- 保存所做的更改。
更改数据类型的限制
通常,可以更改所有字段的数据类型,除了:
- 已启用复制 ID 属性的数字字段。
- OLE 对象字段。
- 附件字段。
此外,如果字段包含数据,则还可以更改大多数数据类型。 不过,Access 可能会截断或删除某些数据,或者根本不允许转换,具体取决于原始数据类型和要使用的新数据类型。
下表列出了可以在 Access 中执行的数据类型转换,并介绍了 Access 可能对转换施加的任何限制。
| 转换为此类型 | 原始类型 | 更改或限制 |
|---|---|---|
| 短文本 | 长文本 | Access 删除除前 255 个字符以外的所有字符。 |
| 数字 | 无限制。 | |
| 日期和时间 | 日期/时间没有限制。 不允许延长日期/时间。 |
|
| 货币 | 无限制。 | |
| 自动编号 | 无限制。 | |
| 是/否 | 值 -1(“是/否”字段中的“是”)转换为“是”。 值 0(“是/否”字段中的“否”)转换为“否”。 | |
| 超链接 | Access 截断长度超过 255 个字符的链接。 | |
| 长文本 | 短文本 | 无限制。 |
| 数字 | 无限制。 | |
| 日期和时间 | 日期/时间没有限制。 不允许延长日期/时间。 |
|
| 货币 | 无限制。 | |
| 自动编号 | 无限制。 | |
| 是/否 | 值 -1(“是/否”字段中的“是”)转换为“是”。 值 0(“是/否”字段中的“否”)转换为“否”。 | |
| 超链接 | 无限制。 | |
| 数字 | 短文本 | 短文本必须包含数字和有效的货币和小数分隔符。 “短文本”字段中的字符数必须在“数字”字段设置的大小范围内。 有关数字字段大小的详细信息,请参阅 创建或删除数字或货币字段一文。 |
| 长文本 | “长文本”字段必须仅包含文本和有效货币和小数分隔符。 “长文本”字段中的字符数必须位于“数字”字段设置的大小范围内。 有关数字字段大小的详细信息,请参阅 创建或删除数字或货币字段一文。 |
|
| 数字,但具有不同的字段大小或精度 | 值不得大于或小于新字段大小可以存储的值。 更改精度可能导致 Access 对某些值进行四舍五入。 | |
| 日期和时间 | 日期/时间: 可以转换的日期取决于数字字段的大小。 请记住,Access 将所有日期存储为序列日期,并将日期值存储为双精度浮点整数。 在 Access 中,1899 年 12 月 30 日是日期 0。 在 1899 年 4 月 18 日到 1900 年 9 月 11 日范围以外的日期超出了字节字段的大小。 在 1810 年 4 月 13 日到 1989 年 9 月 16 日范围以外的日期超过了整型字段的大小。 若要容纳所有可能的日期,请将数字字段的“字段大小”属性设置为“长整型”或更大值。 有关串行日期以及 Access 如何使用和存储日期值的详细信息,请参阅 设置日期和时间字段格式一文。 扩展日期/时间: 不允许。 |
|
| 货币 | 值不得超过(或小于)为该字段设置的大小限制。 例如,只有当值大于 255 但不超过 32,767 时,才能将货币字段转换为整型字段。 | |
| 自动编号 | 值必须在为该字段设置的大小限制范围内。 | |
| 是/否 | “是”值转换为 -1。 “否”值转换为 0。 | |
| 超链接 | 不适用。 | |
| 日期/时间 | 短文本 | 原始文本必须是可识别的日期或日期-时间组合。 例如,2006 年 1 月18 日。 |
| 长文本 | 原始文本必须是可识别的日期或日期-时间组合。 例如,2006 年 1 月18 日。 | |
| 数字 | 值必须在 -657,434 和 2,958,465.99998843 之间。 | |
| 日期/时间已延长 | 无限制。 | |
| 货币 | 值必须在 -¥657,434 与 ¥2,958,465.9999 之间。 | |
| 自动编号 | 值必须大于 -657,434 但小于 2,958,466。 | |
| 是/否 | 值 -1(“是”)转换为 1899 年 12 月 29 日。 值 0(“否”)转换为午夜 (12:00:00 AM)。 | |
| 超链接 | 不适用。 | |
| 日期/时间已延长 | 短文本 | 不允许。 |
| 长文本 | 不允许。 | |
| 数字 | 不允许。 | |
| 日期/时间 | 秒小数部分丢失,如果年份超出 Date/Time 支持的范围,则删除该值。 有关详细信息,请参阅 使用日期/时间扩展数据类型。 | |
| 货币 | 不允许。 | |
| 自动编号 | 不允许。 | |
| 是/否 | 不允许。 | |
| 超链接 | 不适用。 | |
| 货币 | 短文本 | 文本必须由数字和有效分隔符组成。 |
| 长文本 | 文本必须由数字和有效分隔符组成。 | |
| 数字 | 无限制 | |
| 日期和时间 | 日期/时间:没有限制,但 Access 可以舍入值。 已延长日期/时间:不允许。 |
|
| 自动编号 | 无限制 | |
| 是/否 | 值 -1(“是”)转换为 $1。 值 0(“否”)转换为 0$。 | |
| 超链接 | 不适用。 | |
| 自动编号 | 短文本 | 如果“自动编号”字段充当主键,则不允许转换。 |
| 长文本 | 如果“自动编号”字段充当主键,则不允许转换。 | |
| 数字 | 如果“自动编号”字段充当主键,则不允许转换。 | |
| 日期和时间 | 日期/时间:如果“自动编号”字段充当主键,则不允许。 已延长日期/时间:不允许。 |
|
| 货币 | 如果“自动编号”字段充当主键,则不允许转换。 | |
| 是/否 | 如果“自动编号”字段充当主键,则不允许转换。 | |
| 超链接 | 不适用。 | |
| 是/否 | 短文本 | 原始文本只能由“是”、“否”、“True”、“False”、“开”和“关”组成。 |
| 长文本 | 原始文本只能由“是”、“否”、“True”、“False”、“开”和“关”组成。 | |
| “数字” | 零或 Null 转换为“否”,其他所有值转换为“是”。 | |
| 日期和时间 | 日期/时间:Null 或上午 12:00:00 转换为“否”,所有其他值转换为“是”。 已延长日期/时间:不允许。 |
|
| 货币 | 零和 Null 转换为“否”,其他所有值转换为“是”。 | |
| 自动编号 | Access 将所有值转换为“是”。 | |
| 超链接 | 不适用。 | |
| 超链接 | 短文本 | 如果原始文本包含有效的 Web 地址(如 adatum.com 、 www.adatum.com 或 http://www.adatum.com),Access 会将文本转换为超链接。 Access 将尝试转换其他值,这意味着你会看到带下划线的文本,并且在你指向链接时,鼠标光标会发生变化,但链接无效。 文本可以包含任何有效的 Web 协议:http://、gopher://、telnet://、ftp://、wais:// 等。 |
| 长文本 | 请参阅上一条。 适用同样的限制。 | |
| 数字 | 如果数字字段是关系的一部分,则不允许转换。 如果原始值采用有效的 IP 地址形式(以句点分隔的四组数,每组三个数字:nnn.nnn.nnn.nnn),并且数字恰好与某个 Web 地址一致,则转换将产生一个有效的链接。 否则,Access 会将 http:// 追加到每个值的开头,并且生成的链接无效。 | |
| 日期/时间 | Access 会将 http:// 追加到每个地址的开头,但生成的链接几乎永远不起作用。 | |
| 货币 | Access 会将 http:// 追加到每个值的开头,但与日期一样,生成的链接几乎永远不起作用。 | |
| 自动编号 | 如果自动编号字段是关系的一部分,则不允许转换。 Access 会将 http:// 追加到每个值的开头,但生成的链接几乎永远不起作用。 | |
| 是/否 | Access 将所有 Yes 值转换为 -1,将所有 No 值转换为 0,并将 http:// 追加到每个值的开头。 所得到的链接无效。 |