尝试使用从不同Recordsets获取的UPDATE查询更新表。一个UPDATE查询运行并更新记录,但另一个运行,不更新记录,并且在问题所在的位置不引发任何错误。我怀疑它在WHERE子句中的某处,但无法查明。
我在引号附近玩耍,但是没有运气,这是我最困惑的地方。单引号,双引号和&
字符令我有些困惑。
extArea_SQL = "SELECT * FROM Area;"
Set rsArea = CurrentDb.OpenRecordset(extArea_SQL,dbOpenDynaset)
extDiscipline_SQL = "SELECT * FROM Disciplines;"
Set rsDisp = CurrentDb.OpenRecordset(extDiscipline_SQL,dbOpenDynaset)
instAreaName_SQL = "UPDATE ReportGen SET ReportGen.AreaName = '" & rsArea.Fields("AreaName") & "' WHERE ReportGen.AreaID = '" & rsArea.Fields("AreaID") & "';"
updtDispName_SQL = "UPDATE ReportGen SET ReportGen.DisciplineName = '" & rsDisp.Fields("DisciplineName") & "' WHERE ReportGen.DisciplineID = '" & rsDisp.Fields("DisciplineID") & "';"
db.Execute instAreaName_SQL,dbFailOnError
db.Execute updtDispName_SQL,dbFailOnError
我还想指出AreaName和Discipline数据是字符串,并且具有特殊字符,例如-,()/
等。
不确定较低的(updtDispName_SQL)UPDATE查询在做错什么,因为上面的查询没有问题。我复制粘贴了一种有效的格式,并更改了较低的一种格式,但仍然无法指出。
有人可以指出我在这里错过了什么吗?