丢失值或错误值的疑难解答
如果 收到消息 “尝试导入文件时出错”,则导入操作完全失败。 相反,如果导入操作显示一个对话框,提示你保存操作的详细信息,则操作能够导入全部或部分数据。 状态消息还会提到错误日志表的名称,在导入操作过程中发生的所有错误的说明都包含在这个错误日志表中。
重要: 即使状态消息指明操作完全成功,您也应该查看表的内容和结构,确保它们看起来是正确的,之后才能使用该表。
在数据表视图中打开目标表,查看所有数据是否都已添加到表中。
在设计视图中打开该表,查看字段的数据类型及其他属性设置。
下表说明了更正丢失值或错误值时可以采取的步骤。
提示: 在解决结果中出现的问题时,如果发现只是丢失几个值,则可将它们手动添加到表中。 反过来,如果发现整列或大量的值都丢失或未正确导入,则应在源文件中更正问题。 在更正完所有已知问题后,再重新执行导入操作。
问题
解决方法
图形元素
图形元素(如徽标、图表和图片)无法导入。 请在完成导入操作后将它们手动添加到数据库中。
计算值
导入计算列或单元格的结果,但不导入基础公式。 在导入操作过程中,您可以指定与公式结果兼容的数据类型,如“数字值”。
TRUE 或 FALSE 及 -1 或 0 值
如果源工作表或区域中的某一列只包含 TRUE 或 FALSE 值,Access 将为该列创建“是/否”字段并在该字段中插入 -1 或 0 值。 不过,如果源工作表或区域中的某一列只包含 -1 或 0 值,Access 默认为该列创建数字字段。 为避免这一问题,您可在导入操作过程中将该字段的数据类型更改为“是/否”。
多值字段
在将数据导入新表或将数据追加到现有表时,Access 不支持一个字段中包含多个值,即使源列包含由分号 (;) 分隔的值列表时也是如此。 值列表将被视为单个值并放在文本字段中。
截断数据
如果 Access 表中某一列的数据被截断,请尝试在数据表视图中增大该列的宽度。 如果这样不能解决问题,说明 Excel 数字列中的数据过长,超出了 Access 中目标字段的字段大小。 例如,Access 数据库中目标字段的“字段大小”属性可能设为“字节”,但源数据包含大于 255 的值。 请更正源文件中的值,然后重试导入操作。
显示格式
您可能需要在设计视图中设置某些字段的“格式”属性,以确保值能在数据表视图中正确显示。 例如:
“是/否”字段在导入操作完成后显示 -1 和 0。 要解决这一问题,请在导入操作完成后,将该字段的“格式”属性设为“是/否”以显示复选框。
长日期和中日期在 Access 中可能显示为短日期。 要解决这一问题,请在 Access 的设计视图中打开目标表,然后将日期字段的“格式”属性设为“长日期”或“中日期”。
注意: 如果源工作表包含 RTF 格式设置(如加粗、下划线、倾斜),则仅导入文本,而所有格式都将丢失。
重复值(键值冲突错误)
您要导入的记录可能会包含重复的值,它们不能存储在目标表的主键字段中,也不能存储在其“索引”属性设置为“是(不允许重复)”的字段中。 请删除源文件中的重复值,然后重试导入操作。
日期值相差 4 年
从 Excel 工作表中导入的日期字段可能与正确值相差 4 年。 Excel for Windows 可以使用两个日期系统:
1904 年日期系统 (,序列号范围为 0 到 63,918) ,对应于 1904 年 1 月 1 日至 2078 年 12 月 31 日的日期。
1900 年日期系统 (,序列号范围为 1 到 65,380) ,对应于 1900 年 1 月 1 日至 2078 年 12 月 31 日的日期。
可以在 Excel 选项中设置日期系统: 文件 > 选项 > 高级 > 使用 1904 日期系统。
备注 如果从 .xlsb 工作簿导入,则无论日期系统设置如何,它始终使用 1900 日期系统。
在导入数据之前,请更改 Excel 工作簿的日期系统;或在追加数据后,执行一个使用表达式 [date field name] + 1462 的更新查询,以更正日期。
Excel for the Macintosh 仅使用 1904 日期系统。
空值
导入操作结束时可能出现一条错误消息,指明操作过程中删除或丢失了哪些数据;或者,在数据表视图中打开表时,您可能看到某些字段值为空。 如果没有为 Excel 中的源列设置格式,或者前八个源行包含数据类型不同的值,则打开源工作表并执行以下操作:
为源列设置格式。
移动行,以使每一列的前八行包含数据类型相同的值。
在执行导入操作的过程中,为每个字段选择适当的数据类型。 如果数据类型不正确,那么在导入操作完成后,整列中可能都是空值或错误值。
上述步骤有助于尽量减少出现空值的可能性。 下表列出了仍会出现空值的情况:
所丢失值的类型...
导入的目标位置...
而目标字段类型是...
要解决...
文本
新表
日期
将所有文本值替换为日期值,然后重试导入操作。
文本
现有的表
数字或日期
将所有文本值替换为与目标字段的数据类型匹配的值,然后重试导入操作。
日期值被替换为数字值
在以下情况下,您会看到似乎是随机出现的 5 位数数字而看不到实际日期值:
工作表中源列的前八行只包含数字值,但后面一些行包含日期值。 这些日期值将被错误地转换。
源列前八行的某些行包含日期值,而您尝试将它们导入数字字段。 这些日期值将被错误地转换。
要避免这一问题,请将源列中的日期值替换为数字值,然后重试导入操作。
有时,如果所含大部分值均为日期值的列也包含一些文本值,所有日期值似乎看起来都是 5 位数的随机数字。 若要避免这一问题,请将文本值替换为日期值,然后重试导入操作。
数字值被替换为日期值
在以下情况下,您会看到似乎是随机出现的日期值而看不到实际数字值:
源列的前八行只包含日期值,但后面一些行包含数字值。 这些数字值将被错误地转换。
源列前八行的某些行包含数字值,而您尝试将它们导入到日期字段中。 这些数字值将被错误地转换。
要避免这一问题,请将源列中的数字值替换为日期值,然后重试导入操作。
另外,您可能需要在数据表视图中查看向导最后一页中提到的错误日志表。 该表有三个字段:“错误”、“字段”和“行”。 每一行都包含有关一个特定错误的信息,“错误”字段的内容应该有助于您解决问题。
错误字符串和疑难解答提示
错误
说明
字段截断
文件中的值对于该字段的“字段大小”属性设置而言太大。
类型转换失败
工作表中的值不是适合该字段的正确数据类型。 该值在目标字段中可能已丢失或看起来不正确。 有关如何解决此问题的详细信息,请参阅上一个表。
键值冲突
该记录的主键值是一个重复值,它在表中已经存在。
有效性规则失败
一个值违背了通过使用“有效性规则”属性为该字段或该表设置的规则。
必填字段中的空值
由于本字段的“必填”属性被设置为“是”,因此字段值不允许为 null。
“自动编号”字段中的空值
要导入的数据包含一个用户试图追加到“自动编号”字段的空值。
不能正确识别的记录
文本值包含文本分隔符(通常为双引号)。 当值中含有分隔字符时,该字符在文本文件中必须重复两次,例如:
4 1/2"" 直径
返回页首
- 【Nuke合成】使用GridWarp 节点和 SplineWarp Nuke制作变脸特效使用 cookie-cutter(布尔切割)创建移动遮罩 curves 列表的 cookie-cutter 主要设计目的是通过在闭合的布尔切割形状间自动创建移动遮罩(traveling mask...
- 濑田宗次郎最后去哪了(濑田宗次郎为什么喜欢跳)本文目录一览: 1、浪客剑心漫画大结局是什么 2、浪客剑心中的濑田宗次郎是一个什么样的人? 3、关于历史上真实的冲田总司的几个问题。 浪...
- 如何配置个网关服务器IP地址确定网络拓扑:首先要确认你的网络拓扑结构,包括网关服务器、本地网络和Internet之间的连接方式。这有助于决定如何配置网关服务器的IP地址...
- 骑行应用——追踪、越野、训练 & 更多Strava 是一款免费的骑行 App 吗?是!免费加入 Strava 记录并分享活动,加入俱乐部,参与挑战,享用安全功能 Beacon。更多专属功能,比如自定骑...
- SkaGen诗格恩手表介绍 SkaGen手表是什么品牌SkaGen诗格恩手表的外观精美,设计简洁,国外很多时尚人士都很喜欢这个品牌。由于进入中国时间不久名气不大,知道这个品牌的国内表友并不...
- 做兼职哪个平台靠谱?五大正规兼职平台(必看,必做!)近几年手机上的兼职赚钱平台还是非常火爆的,少说也能找到几百款兼职平台。虽然兼职平台有很多,但是多数都是不靠谱的。即使你很努力的...
- 飞升觉醒&极致巅峰 飞升流程完整攻略飞升详解 一、系统介绍 飞升——角色达到五重150级时,能够进入的一种全新修真方向。飞升后,你将会感受到角色脱胎换骨的变化,配备强力...
- 使用就地/联机存档邮箱管理电子邮件存储Outlook 就地存档或联机存档邮箱可以存储较旧的电子邮件,它们不会占用主邮箱中的空间。 此专用邮箱与 Outlook 中的其他邮箱文件夹一起显示。 ...
- 颈椎病的穴位具体在哪个位置颈椎病的穴位一般位于颈部及周边区域。 颈椎病是一种常见的慢性疾病,主要表现为颈部疼痛、僵硬,甚至可能导致头痛、手臂麻木等症状。中...
- c#中datagridview怎么清空数据在C#中,可以使用以下代码清空DataGridView中的数据: 使用Clear方法清空所有数据行: dataGridView1.Rows.Clear(); 使用新的空DataTable重新绑定DataGridView:...