VBA/宏中的错误 3709

问题描述 投票:0回答:6

当我运行这部分程序时,不断弹出3709的运行时错误。有谁知道我可以做什么来解决它?

Public cn As New ADODB.Connection

Public rs As New ADODB.Recordset

Public CustomerID As Integer

Public CustFirstName As String

Public CustLastName As String


Sub GetCustomerList()

    Dim strSQL As String
    Dim Customers As Variant

    ' Import customer info and use it to populate the list box.
    ' After frmcustomers is unloaded, we will know the CustomerID
    ' and Customer Name of the selected order.

    strSQL = "SELECT CustomerID, CustFirstName, CustLastName FROM Customers"
    rs.Open strSQL, cn

    frmCustomers.Show

    rs.Close
End Sub

谢谢,

JM

runtime-error
6个回答
1
投票

在尝试编辑一条特定记录时,我收到了相同的错误代码。这是常规记录,没有数据或验证不一致。

显然这是一个随机数据损坏问题,我相信这是使用 MS Access 几年后遇到的第一个问题(仅供统计参考,不是赞成或反对的声明!)

通过运行“压缩和修复”例程解决了问题。


1
投票

解决了, 我在使用此代码时收到此错误“3709 在任何记录中均未找到搜索键”:

DoCmd.CopyObject , "Data_OldCurrentMemberDetails", acTable, "Data_CurrentMemberDetails"

我的意思是,这是我的文件名的问题,其中包含“[,]”(方括号)。

为了避免此类错误,请将文件名保留为纯文本,即不要包含“[、]、%、...”


0
投票

从您报告的错误来看,在您调用

GetCustomerList()
时,连接似乎未打开。


0
投票

在数据库中,当您创建包含索引的备注字段或创建包含自动索引文本的字段名称时,它无法写入包含超过 3450 个字符左右的文本字段。当您尝试在字段中写入更多文本或修改现有数据时,会收到类似于以下异常 3709 的错误消息

http://support.microsoft.com/kb/302525


0
投票

为了完整起见,当我尝试导入列标题中有前导或尾随空格的 Excel 电子表格时,出现错误 3709(在任何记录中均未找到搜索键)。删除它,它就会消失。这是 Access 2013 中的内容。


0
投票

我刚刚再次出现此错误(2024 年)。原因是因为我的字段名称开头有空格。我做了我能想到的一切(压缩和修复、重新启动、从 Excel 复制并粘贴到 Access 表等)。重新启动后,我尝试将 Excel 文件上传到新的 Access 数据库。它告诉我字段名称不是有效名称。但直到完成上述所有其他操作之后。

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