Sql 如何从MS access中的查询生成MS access表单

Sql 如何从MS access中的查询生成MS access表单,sql,ms-access,Sql,Ms Access,有一个如下所示的Access查询,我想从中生成一个表单,以便编辑字段,但Access会出现以下错误: “Microsotf Access无法在设计视图中重新发送连接表达式m1.user_id和m1.meta_key='first_name'” 在表视图中,数据是正确的 SELECT wp_usermeta.meta_value FROM wp_users INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id; SELECT

有一个如下所示的Access查询,我想从中生成一个表单,以便编辑字段,但Access会出现以下错误: “Microsotf Access无法在设计视图中重新发送连接表达式m1.user_id和m1.meta_key='first_name'”

在表视图中,数据是正确的

SELECT wp_usermeta.meta_value
FROM wp_users INNER JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id;
SELECT
    u1.id,
    u1.user_login,
    m1.meta_value AS firstname,
    m2.meta_value AS lastname
FROM ((wp_users u1
INNER JOIN wp_usermeta m1 ON (m1.user_id = u1.id AND m1.meta_key = 'first_name'))
INNER JOIN wp_usermeta m2 ON (m2.user_id = u1.id AND m2.meta_key = 'last_name'))

这是预期的行为。设计视图永远不能表示非简单联接的联接(不是
Table1.Column=Table2.Column

如果仅使用内部联接,并且需要使用“设计视图”,则可以将查询重写为以下内容:

SELECT
    u1.id,
    u1.user_login,
    m1.meta_value AS firstname,
    m2.meta_value AS lastname
FROM wp_users u1, wp_usermeta m1, wp_usermeta m2
WHERE m1.user_id = u1.id AND m1.meta_key = 'first_name' AND m2.user_id = u1.id AND m2.meta_key = 'last_name'
Access可以表示这一点,但不会显示连接,因为现在没有任何连接


请注意,这仅影响查询的设计视图。查询功能完善,如果您愿意,可以在表单中使用。

非常感谢。我如何制作输入表单来更新主表wp_user和wp_usermeta这是一个完全不同的问题,高度取决于您到底想做什么。尝试将表单直接基于表,并使用子表单和筛选器连接任何信息