按照此处的说明进行操作:Insert a datasheet into a form尝试在Access项目(SQL Server 2005后端)中插入查询作为数据表时出错
您输入的表单名称不遵循Microsoft Office Access对象命名规则
我从“源对象”的下拉列表中选择了视图View.dbo.viewname
,并且一旦我这样做,就会发生上述错误。如果我取消View.dbo.viewname
,它会保存,但之后我看不到数据表数据。我想添加视图,因为它包含子数据表。
将其包装在括号中,例如[View.dbo.viewname]
或View[.]dbo[.]viewname
(因为显然不允许使用点,但链接暗示其他情况)无效
答案 0 :(得分:0)
这有点欺骗性; “Query.foobar”没问题,但“Query.foo.bar”不是。
MS Access似乎使用第一部分作为判断您的记录源是查询还是表的方式,并且句点(。)是分隔符,并且您似乎仅限于一个。这可能是对象名称中不允许它的原因之一。
看起来您正在直接访问视图,而不是在表选项卡/列表中创建指向视图的链接(您甚至不能创建一个名为这样的表/查询)。也许这在ms-access-2007中可用,我对它不太熟悉。
在任何情况下,我的解决方案是创建一个到View.dbo.viewname
的表链接,并将其重命名(如果MS Access不为您自己执行)到dbo_viewname
。这样您就可以将数据源设置为Table.dbo_viewname
。
修改强>
要创建表链接,
link tables...
Files of Type
更改为ODBC databases
(我假设您已经设置了ODBC连接。如果没有,您是如何获取数据的?)。Machine Data Source
标签链接将显示在表格选项卡/列表中,箭头指向绿色小球。
请勿输入数据源。使用下拉菜单可以保证您使用正确的语法。
答案 1 :(得分:0)
从未设法让它发挥作用。也许是由于是一个Access Project(ADP)而不是数据库(MDB)。不得不求助于创建表单(使用嵌套的子表单)而不是数据表来获得我想要的内容。
此外,嵌套表单(两个级别向下)似乎在Access 2007中不起作用,但在2003年也是如此,所以不得不回到那个。