不兼容的设置错误! 在ACCESS 365中似乎有一个新错误/单击运行。 它不会在Access 2010上展出。
问题:用户键入数据时,组合框(下拉列表)无法自动完成列表项。 此外,某些查询无法返回结果集。
要复制: 创建一个新的数据库(称为TestBE或类似数据库) 转到文件>选项>对象设计器 在查询设计下,找到“ SQL Server兼容语法(Ansi 92)” 取消勾选/取消选中。单击确定以应用... 创建一个新的表tblLinked与ID(自动编号)字段和Description字段(短文本) 用一些单词填充该表的几行 关闭TestBE数据库。
使用Access 365CTR创建新的空白数据库(称为TestFE或类似数据库)(我使用的是1905版) 转到文件>选项>对象设计器 在查询设计下,找到“ SQL Server兼容语法(Ansi 92)” 取消勾选/取消选中。单击确定以应用... 创建一个小的表tblTEST,其中包含ID(自动编号)字段和Description字段(短文本) 在描述中用一些随机词填充该表。 创建一个新的未绑定表单(Form1)。添加将RowSource设置为tblTEST的ComboBox。设置2列,列宽设置为0cm; 5cm 正常行为: 打开窗体Form1。在“组合”框中键入“描述”的第一个字母。如果匹配,Access将自动完成单词。正确地。
问题:
现在仍在TestFE数据库中;链接到TestBE数据库中的tblLinked表。 打开Form1并再次测试组合。功能还是可以的。清除组合框。 打开链接表tblLinked。工作正常。关闭它。 打开Form1并再次测试组合。功能还是可以的。清除组合框。 在tblLinked上创建一个新查询。 “ SELECT * FROM tblLinked”将其另存为qryFail。 在数据表视图中打开查询qryFail。看起来不错 打开Form1并用一个字母测试Combobox。自动完成功能仍然有效。 清除组合框。 再次打开qryFail,然后单击Home Ribbon中的Refresh All。 现在在Form1上再次测试ComboBox。自动完成失败! 在关闭并重新打开数据库之前,它将保持失败状态。 现在,如果数据库中使用“ *”通配符的任何查询都将仅在使用“ Alike%”的SQL语法时返回结果。
自动完成无法按预期自动完成,并且通配符查询无法返回任何结果集。 '''SQL
"SELECT * FROM tblLinked WHERE tblLinked.Description Like 'B*'"
如果应用了SQL SERVER SYNTAX,通配符查询将起作用:
'''SQL
"SELECT * FROM tblLinked WHERE tblLinked.Description ALike 'B%'"