无法将数据表插入表单(访问项目)

Posted

技术标签:

【中文标题】无法将数据表插入表单(访问项目)【英文标题】:Cannot insert datasheet into form (Access Project) 【发布时间】:2009-06-23 09:33:14 【问题描述】:

按照此处的说明进行操作: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 (因为显然不允许使用点,尽管链接另有说明)无济于事

【问题讨论】:

不知道这是否可行,因为 ODBC 数据源是特定于 PC 的,并且有大量潜在用户。因此,做一个访问项目而不是数据库的原因(没有外部依赖项)。我使用了 Access 提供的下拉菜单,然后它抱怨(这没有任何意义)。目前无权访问项目以进行检查。 另外,您可以使用 ODBC 链接表和数据表条目进行更新吗? 是否有任何非 ODBC 数据源的选项,可能直接使用 MS SQL。它真的不必是 ODBC。 是的,您应该可以通过 ODBC 进行更新。 【参考方案1】:

这有点欺骗性; "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 标签 选择您的数据源。 点击确定 选择您想要的表格/视图。 点击确定

链接将显示在您的表格选项卡/列表中,箭头指向绿色小球。

不要输入数据源。使用下拉菜单,这将保证您使用正确的语法。

【讨论】:

如何创建表格链接? 'Table.dbo.tablename'、'Table.tablename' 和 'tablename' 也都失败了(它让我把 'tablename' 放进去,但什么也没有出现) 这是一个访问项目 (ADP),因此没有 ODBC 数据源...想要为多个用户 (100+) 运行此项目,因此无法访问文件或机器数据源。可以在 Access 2007 和 2003 中打开 基本上,您需要找到一种方法将视图呈现给 MS Access,而无需在其名称中使用句点。即使在 ADP 中链接,您也应该能够重命名它们。 您一直说 ODBC 存在一些问题,但它没有。您不需要 DSN 即可从 Access MDB 链接到 ODBC 数据源——无 DSN 的连接工作得很好。【参考方案2】:

从未设法让它工作。可能是因为是 Access Project (ADP) 而不是数据库 (MDB)。不得不求助于创建表单(带有嵌套的子表单)而不是数据表来获得我想要的。

此外,嵌套表单(向下两层)似乎在 Access 2007 中不起作用,但在 2003 中起作用,所以不得不回到那个状态。

【讨论】:

以上是关于无法将数据表插入表单(访问项目)的主要内容,如果未能解决你的问题,请参考以下文章

使用 NodeJS Express 时将表单数据插入 MySQL 数据库

访问数据库时间表 - 无法获取表单以将数据存储在 2 个表中

我无法将表单信息插入我的数据库中,我不断收到 404 错误

我如何以表格形式查看 ms 访问表单中的所有插入数据

将数据从子窗体输入到表格

为啥我不能用这个表单将数据插入我的数据库?