运行时错误 2465 找不到带有更改列的字段“|1”
Posted
技术标签:
【中文标题】运行时错误 2465 找不到带有更改列的字段“|1”【英文标题】:Run-time error 2465 can't find the field '|1' with alter column 【发布时间】:2016-05-04 15:13:33 【问题描述】:我的代码:
Private Sub UpdateTables_Click()
DoCmd.SetWarnings False
MsgBox "Please Wait for the 'Done' message to appear"
DoCmd.RunMacro "Update_Tables"
DoCmd.RunSQL "ALTER TABLE " & [tablename] & " ALTER COLUMN StartDateAll DATE;"
MsgBox "Done"
DoCmd.SetWarnings True
End Sub
DoCmd.RunSQL
行是“调试”窗口中突出显示的内容。我从我的表名开始 t_tablename 并得到一个语法错误。阅读后我发现“”可能是个问题,所以我删除了“t”,这消除了我的语法错误,但现在我收到了这个 2465 错误。我的专栏原来是“Start_Date_All”,所以我改名为“StartDateAll”
我有多个生成表查询,它结合了各个部门员工的开始日期,生成的组合列是文本而不是日期。我在一个表单上有一个按钮,它运行上面的代码来运行一个宏,该宏运行 make table 查询并且运行良好,但是它卡在这个 alter table 部分(我只是包含一个用于测试目的)
我检查了列名的拼写,用双引号试过,也用“& StartDateAll &
”试过......每次都得到2465错误。
【问题讨论】:
【参考方案1】:这就是你所说的 Access 抱怨它找不到该字段的地方:
DoCmd.RunSQL "ALTER TABLE " & [tablename] & " ALTER COLUMN StartDateAll DATE;"
有一种更好的方法,它可能无法解决问题,但至少应该让您有更好的机会了解它发生的原因:
Dim strTable As String
Dim strAlter As String
strTable = "t_tablename"
DoCmd.SetWarnings True
strAlter = "ALTER TABLE [" & strTable & "] ALTER COLUMN StartDateAll DATE;"
Debug.Print strAlter '<- inspect in Immediate window; Ctrl+g will take you there
CurrentProject.Connection.Execute strAlter
MsgBox "Done"
我在 Access 2010 中使用 StartDateAll
作为 t_tablename
中的文本字段测试了该代码。代码运行没有错误,之后我确认该字段已从 Text 更改为 Date/Time 数据类型。
关键点有:
-
给自己一个机会来检查您要求数据库引擎执行的已完成的
ALTER TABLE
语句 --> Debug.Print strAlter
。 IOW,请确保这是您想要的。
您的表名t_tablename
不需要括起来。但是,如果您想将名称括起来,请将这些括号移到字符串段内。
关闭SetWarnings
会抑制信息。在进行故障排除时,您希望获得所有最新的信息。因此,当您执行ALTER TABLE
时,请保持SetWarnings
开启。
如果 Access 仍然找不到 StartDateAll
字段,请仔细检查 Access 认为确实存在的字段的名称。以下是即时窗口会话的示例:
set db = currentdb
for each fld in db.TableDefs("t_tablename").Fields : ? fld.name : next
id
StartDateAll
【讨论】:
我现在正在尝试。非常感谢您花时间帮助我。我会尽快告诉你结果如何。 成功!!...原来我的 make table 查询仍然将列名作为 Start_Date_All 传递(duh)我更改了表中的列名但是当我运行代码时,它运行进行表查询,将其清除并将其恢复为 Start_Date_All。一旦我纠正了我的生成表查询,它就完美地工作了......哇。再次感谢您的帮助,它为我省去了很多头痛!以上是关于运行时错误 2465 找不到带有更改列的字段“|1”的主要内容,如果未能解决你的问题,请参考以下文章
API 版本 2:无法解析带有“INVALID_ARGUMENT”错误的 JSON 响应字符串:\“:找不到字段。\”
带有可下载 md 报告的闪亮应用程序,错误:“pandoc:找不到数据文件”由闪亮服务器运行时
querydefs 运行时错误 3265:在此集合中找不到项目