症状
在 Microsoft Access 数据库中,当您创建一个包含索引的备注字段或者创建包含自动索引文本的字段名称时,您无法在该字段中输入包括大约 3450 个以上字符的文本。当尝试向该字段中输入更多文本或者尝试编辑现有数据时,您收到以下错误消息:
Run-time error '3709':
The search key not found in any record.
解决方案
如果必须在备注字段中输入大量文本,请删除备注字段的索引。为此,请按照下列步骤操作:
1. |
在“设计”视图中打开包含备注字段的表。 |
2. |
在“视图”菜单上,单击“索引”。
注意:在 Microsoft Office Access 2007 中,单击“设计”选项卡,然后单击“显示/隐藏”组中的“索引”。 |
3. |
单击备注字段的索引,然后删除它。 |
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。
更多信息
在 Microsoft Access 2000 之前的 Microsoft Access 版本中不会发生此行为,因为在 Jet 3.5 和更低版本中无法对备注字段编制索引。
在 Access 2003 中重现该行为的步骤
1. |
在新数据库中,创建一个具有以下属性的新表,然后将其另存为 Table1:
表:Table1
------------------------
字段名称:Id
数据类型:自动编号
主键
字段名称:MyCode
数据类型:备注
|
2. |
将以下记录添加到表 Table1:
Id MyCode
------------------------------------
1 这“备注”测试数据
|
3. |
复制以下 SQL 语句,将其粘贴到 SQL 视图中的新查询内,然后将该查询另存为 query1:
Update Table1 SET Table1.MyCode = [MyCode] & " " & [MyCode];
|
4. |
创建以下模块,然后将其保存为 Module1:
Sub TestMemoUpdate()
Dim i As Integer
Docmd.setwarnings false
For i = 1 To 10
Docmd.openquery "Query1"
Next i
Docmd.setwarnings true
End Sub
|
5. |
放置指针,使其处于该过程中。按 F5 运行该代码。 |