您试图将Null值分配给非Variant数据类型的变量

问题描述 投票:-1回答:1

我找不到解决方案的示例。

我是新来的访问者,要学习与Excel相比它是多么脆弱。

我错误地将表单字段的默认值更改为“”,因为我希望它为空白,而不是默认为“ 0”。我认为这是基于我从“ MSysCompactError”表(此职位的标题)中收到的错误消息破坏了我的项目的原因。

出于某种原因,更改后保存表单时,Access对此没有任何问题。但是,在尝试保存新记录后,Access决定不再允许我完全从事我的项目。一旦尝试执行任何操作(包括首次打开它),它就会显示“'ID'不是此表中的索引。”

我只想返回表单并删除默认值“”,但这不会让我做任何事情!我什至尝试创建一个新的数据库并导入所有的辛苦工作,但是它仍然不允许我修复该表单字段。 WTF。

请帮助。由于这么少的编程操作,我今天不会失去所有的进步。必须有一种方法可以从中恢复。

ms-access null variant corrupt
1个回答
0
投票

对于任何对此绊脚石的人……我想通了。

这绝对是我那个数字格式组合框的默认值字段中的愚蠢的“”条目,这完全破坏了我的数据库。最终,我进行了以下操作以进行半恢复:

1)打开损坏的数据库,然后单击“确定”大约8次以清除错误消息。

2)打开Access的第二个实例并创建一个新的空白DB。

3)将所有可能的东西从损坏的数据库拖放到新的数据库(导航窗格到导航窗格)。

注意:我没有将错误表格拖到后面。访问也不会让我拖动宏和VBA模块。

4)关闭已损坏的数据库访问实例。

5)修复了新的数据库并保存。

6)仍在努力重建丢失的东西,但这似乎仅是追索权。

经验教训:

请勿将“”放入数字格式组合框的默认输入属性中! O_o

请记住在开发过程中经常进行备份!在每个小里程碑或每隔几个小时之后。

不要仅仅因为创建了新备份就删除了旧备份。访问没有问题,我可以创建此错误条目并将数据库保存为不可恢复的状态。

关于根本问题的注释:

之所以如此,是因为即使默认值属性留为空白,Access也会默认将零放入组合框。我试图摆脱那个零,并选择了一种非常差的方法来做到这一点!我确定的是,一旦完成表单设计,就可以删除该组合框,其中包含一个奇怪的默认零,然后按CTRL + Z将其取回,然后零将消失!保存表单并完成。

希望这可能会帮助您解决上述任何一个问题。

© www.soinside.com 2019 - 2024. All rights reserved.