包含来自访问中的多个字段的数据的组合框

Posted

技术标签:

【中文标题】包含来自访问中的多个字段的数据的组合框【英文标题】:combobox with data from several fields in access 【发布时间】:2019-10-04 13:26:50 【问题描述】:

我创建了一个包含几列和一个相关表单的表格。在该表单中,我创建了一个组合框,以在组合框中的不同行中显示表格的列。

我的表中有 3 个字段:product1、product2 和 product3,用于我用数字命名的同一订单。当我创建组合框时,值显示在同一行的 3 个不同列中,因此我可以从第一行和第一列中选​​择数据。但我需要的是字段的数据显示在不同的行中,而不是显示在不同的列中。

我在论坛中进行了研究,并阅读了它可以通过连接查询并在组合框菜单的行源中选择它来解决,但我已经尝试过并且得到了相同的结果。我不知道我做错了什么。非常感谢您的帮助。

提前致谢。

【问题讨论】:

欢迎来到 ***!请编辑您的问题以包含您在解决方案尝试中尝试过的代码。这将使您更容易理解您的问题,并且更有可能得到解答。 您无需规范化您的数据库(在此使用 bing/google)即可将产品放在子表中。 感谢您的回答。是的,我忘了提到我有一个来自另一个表的查询,其中包含产品名称。但它不起作用。 我尝试使用访问向导规范化我的数据库,但似乎我的数据库太小而无法划分它。不管怎样,我试过了,但我找不到合适的桌子。 【参考方案1】:

你必须旋转结果

这是一个如何使用子查询不良数据设计进行重组的示例

SELECT * 
FROM
(
    SELECT QualifierID  --    <--- this is a unique identifier
    , 
        (
            SELECT QualifierText 
            FROM [QDB].[dbo].[Qualifier] x
            -- this is how you tie the unique identifier and grab a specific element by itself
            -- also pay attention to how we're making it equal to q.QualifierID, 
            -- which is the alias to the table below
            WHERE QualifierID=q.QualifierID
        ) AS QualifierText 
    , 
        (
            SELECT [ExampleText] 
            FROM [QDB].[dbo].[Qualifier] x 
            -- this is how you tie the unique identifier and grab a specific element by itself
            -- also pay attention to how we're making it equal to q.QualifierID, 
            -- which is the alias to the table below
            WHERE QualifierID=q.QualifierID   
        ) AS ExampleText 
    , 
        (
            SELECT [WhenModified] 
            FROM [QDB].[dbo].[Qualifier] x 
            -- this is how you tie the unique identifier and grab a specific element by itself
            -- also pay attention to how we're making it equal to q.QualifierID, 
            -- which is the alias to the table below
            WHERE QualifierID=q.QualifierID 
        ) AS WhenModified 
    FROM [QDB].[dbo].[Qualifier] q  -- this is a table alias
) z -- this is the alias fo the subquery combining everything together. 

【讨论】:

谢谢,但是,这让我有点困惑(我是初学者)¿你能解释一下如何做到这一点吗?我试图用交叉表查询来旋转表格,但我无法得到我想要的。 ¿我如何将该代码应用到我的数据库中?。 我可以使用这样的代码吗? italic_TRANSFORM Sum(Compras.Importe) AS SumaDeImporte SELECT Compras.PG FROM Compras WHERE (((Compras.BU)='EPMV')) GROUP BY Compras.PG PIVOT Format([FechaCobro],"mmmm")_italic @Ruy 查看编辑后的答案。您需要学习如何使用子查询以及如何将外部查询与子查询中的数据元素联系起来

以上是关于包含来自访问中的多个字段的数据的组合框的主要内容,如果未能解决你的问题,请参考以下文章

VB.NET 仅从一个字段访问填充组合框

访问中的 VBA。组合框的问题

访问报告中的绑定组合框为空

Ms Access中的关键词搜索组合框

组合框中的数据未反映在访问报告中

使用带有 postgresql 表的 vba 填充组合框访问 2007