MS Access Strange Error 2448'您无法为此对象分配值。"

时间:2014-09-25 01:15:11

标签: sql ms-access access-vba ms-access-2010 recordset

晚上好! 我在几台Windows 7计算机上的MS Access 2010中收到以下错误,已完全更新。此代码在按下按钮时以连续的形式运行。错误会间歇性地弹出,但特别是如果表单在不到5分钟左右的时间内关闭。

错误2448:“您无法为该对象分配值。”

抛出此错误的代码是:

If me.temQC = 'RCS' then

    me.temQCchecked = TRUE

End if

docmd.close acForm, "FRM_TEM1", acSaveYes

temQC是varchar(20)数据类型,temQCchecked是位类型,默认值为0。 **编辑从bool切换到temQCchecked类型到bit以正确反映实际的SQL Server类型**

表格的记录来源是:

SELECT TBL_Samples.*, TBL_Observations.* FROM TBL_Samples INNER JOIN
TBL_Observations ON TBL_Samples.SampleID = TBL_Observations.SampleID ORDER BY
TBL_Observations.GridID, TBL_Observations.GridLetter;

典型的设置大小约为50条记录,因此没有太大的意义。我将查询设置为动态集(Inconsistent Updates)。

我对于为什么会发生这种情况感到非常困惑。 temQCchecked没有以任何方式编入索引。我非常感谢有人能提供的任何帮助。谢谢你的时间!

***新信息:

代码运行在基本上关闭表单的按钮的On_Click()事件上。我可以使用查询以及其他按钮更新值。我应该补充一点,后端是SQL Server 2012 Express,没有关于TBL_Observations的附加索引。其他类似表上的布尔值似乎与非常相似的代码一起正常工作。我也相信我已经解决了锁定错误,因为它只在一个用户打开时发生,而我的表维护发生在凌晨3点。谢谢!

1 个答案:

答案 0 :(得分:0)

我猜这个问题是尝试用封闭形式做某事的结果。关闭一个表格并打开另一个表格时,我遇到了这个问题。关闭第一张表格后,在打开新表格之前我暂停了..

Dim PauseTime, Start, 
PauseTime = 3    ' Set duration.
Start = Timer    ' Set start time.
Do While Timer < Start + PauseTime
    'Do Nothing
Loop