Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在具有不同条件的报表上两次引用同一信息_Sql_Database_Vba_Ms Access - Fatal编程技术网

Sql 在具有不同条件的报表上两次引用同一信息

Sql 在具有不同条件的报表上两次引用同一信息,sql,database,vba,ms-access,Sql,Database,Vba,Ms Access,我有一份报告,旨在说明哪些股票需要转换 在报告中,我有一个源产品代码和一个结果产品代码(源产品转换为一个或多个结果产品) 我还想对这两种产品进行描述,这就是我的问题所在 (产品代码和说明都存储在名为products/stock的表中) 我成功地将源产品的描述放在恰到好处的位置,将信息拖到报告上,并选择两个表的链接方式 但是,现在当我将另一个描述框拖到报告上时,它假定我想要与以前相同的关系,只显示来自产品/库存的相同描述 这不是我想要的,因为我希望它现在显示新产品的描述 我曾尝试使用此代码,与报表

我有一份报告,旨在说明哪些股票需要转换

在报告中,我有一个源产品代码和一个结果产品代码(源产品转换为一个或多个结果产品)

我还想对这两种产品进行描述,这就是我的问题所在

(产品代码和说明都存储在名为products/stock的表中)

我成功地将源产品的描述放在恰到好处的位置,将信息拖到报告上,并选择两个表的链接方式

但是,现在当我将另一个描述框拖到报告上时,它假定我想要与以前相同的关系,只显示来自产品/库存的相同描述

这不是我想要的,因为我希望它现在显示新产品的描述

我曾尝试使用此代码,与报表上的文本框链接,但它告诉我该值为Null

Private Sub Report_Open(Cancel As Integer)

Dim strResultDesc As String

strResultDesc = DLookup("[Description]", "[products/stock]", "[Product Code] = '" & Me.txtResultPC & "'")

Me.Text57.Value = strResultDesc

End Sub

上面的随机矩形是应该包含描述的文本框

这是一个如何撰写报告的屏幕截图

按要求显示字段列表的屏幕截图

报告的记录来源:

SELECT [Stock Conversion Items].SCID AS [Stock Conversion Items_SCID],
  [Stock Conversion Items].[Result PC],
  [Stock Conversion Items].Quantity,
  [Stock Conversion].[Source PC],
  [Stock Conversion].Status,
  [Stock Conversion].SCID AS [Stock Conversion_SCID],
  [products/stock].Description,
  [Stock Conversion].[Created By],
  [Stock Conversion].Quantity AS [Quantity_Stock Conversion]
FROM [products/stock] INNER JOIN ([Stock Conversion] 
  INNER JOIN [Stock Conversion Items]
    ON [Stock Conversion].[SCID] = [Stock Conversion Items].[SCID]) 
    ON [products/stock].[Product Code] = [Stock Conversion].[Source PC]
  WHERE ((([Stock Conversion].Status)="NEW"));
您需要将
products/stock
表的另一个“副本”添加到查询中,并连接到结果产品

在查询设计器中,如果右键单击上方窗格的背景并选择“显示表格…”,则可以多次选择同一表格。再次添加
产品/库存
表;它将得到一个类似于
产品/stock_1
的名称。然后,从
Stock Conversion Items
表到新表,从
Result PC
字段到
SCID
字段创建联接

Description
字段从
products/stock_1
拖动到下部窗格,然后关闭查询设计器


现在,字段列表将显示两个描述字段:
products/stock.Description
products/stock\u 1.Description
。第二个字段包含结果产品说明。

您似乎正在使用子报表来显示结果产品详细信息。如果是这种情况,请记住主报表和子报表具有独立的字段。首先单击子报表中的控件(因此字段列表显示子报表中的字段),然后将描述从字段列表拖到子报表中。此代码不起作用,因为它只在每次打开子报表时执行(在本例中,主报表上的每条记录执行一次)。你必须使用当前事件,它为每条记录运行一次。你认为这会起作用吗?是的,但我认为如果我在第一条评论中提出的建议有效的话,它是不必要的复杂。(在看到屏幕截图后)好的,没有子报告。在这种情况下,字段列表(从中拖动描述)需要有两个描述-一个用于源产品,一个用于结果产品。你能发布一个现场列表的截图吗?太棒了,已经被困在这里好几天了!所以我想我会对我的问题做一个全面的描述,而你做到了。干杯