0

希望你一切都好。

您可能已经看过我之前的一篇相关文章,在该文章中,我正在就组合框中的多个列寻求帮助。我们将通过连接 Salutation、FirstName 和 LastName 字段来解决这个问题,以提供一个完整的字段来运行,这为我节省了大量时间。然而,我正在努力让看起来像一个直截了当的 SQL 语句工作。

我的SQL语句如下;

SELECT LocalAuthority.LocalAuthorityName, Contacts.ContactFullName
FROM LocalAuthority, Contacts
WHERE (((LocalAuthority.RequestType)=[Forms]![Requests]![cboRequestType])) 
       OR    (((Contacts.RequestType)=[Forms]![Requests]![cboRequestType]))
ORDER BY LocalAuthority.LocalAuthorityName, Contacts.ContactFullName;

这不起作用,但是当我只使用本地权限作为查询中的字段源时,这确实起作用。我确实将联系人表中的请求类型字段作为链接到查询的组合框,但这不应该有太大的影响,不是吗?

非常感谢所有帮助!

最好的,

将要

4

1 回答 1

1

我怀疑你需要一个联合查询:

SELECT ContactName FROM (
   SELECT RequestType, LocalAuthorityName As ContactName 
   FROM LocalAuthority
   UNION ALL 
   SELECT RequestType, ContactFullName As ContactName 
   FROM Contacts) d
WHERE d.RequestType = [Forms]![Requests]![cboRequestType]
ORDER BY d.ContactName

如果您需要知道哪个表,您可以说:

SELECT ContactName FROM (
   SELECT "Auth" As TFrom, RequestType, LocalAuthorityName As ContactName 
   FROM LocalAuthority
   UNION ALL 
   SELECT "Contact" As TFrom, RequestType, ContactFullName As ContactName 
   FROM Contacts) d
WHERE d.RequestType = [Forms]![Requests]![cboRequestType]
ORDER BY d.ContactName

UNION ALL 更快,但会包含重复项,UNION 很慢,但只包含唯一行。

于 2012-10-21T10:46:11.330 回答