2017-04-19 99 views
0

我不能让一个选择组合框在一个点击按钮打开报告。这是我的。你有什么建议?点击没事的时候,但我不能让它打开其他报告这只是打开报告库存。选择组合框打开报告

Private Sub Run_Inventory_Report_Macro_Click() 
Dim strSortBy As String 

strSortBy = Nz(Me.cmb_InventorySort.Value, "") 

Select Case strSortBy 
Case "" 
    DoCmd.OpenReport "Inventory", acViewPreview 
Case "Provider ID" 
    DoCmd.OpenReport "Inventory-Provider Number", acViewPreview 
Case "Provider Last Name" 
    DoCmd.OpenReport "Inventory-Provider Last Name", acViewPreview 
Case "Inventory Type" 
    DoCmd.OpenReport "Inventory-Inventory Type", acViewPreview 
Case "Corporate Receipt Date" 
    DoCmd.OpenReport "Inventory-Corporate Receipt Date", acViewPreview 
Case "PODM Receipt Date" 
    DoCmd.OpenReport "Inventory-PODM Receipt Date", acViewPreview 
End Select 

End Sub 

回答

0

什么是你cmb_InventorySort组合框中的值?比使用查找表返回想要打开的报告名称的情况更好的方法。

即 ReportList

ID | ReportName 
Inv | Inventory 
Provider ID | Inventory - Provider Number 

您的组合框将用上面的表,因为它是行来源。

,他们已经从组合框(或点击按钮后),那么你可以查找他们所选择的报表,你将不再需要硬编码的case语句选择一个项目,然后之后。即您可以根据需要更改/添加/删除表格中的报告名称。

StrReport = dlookup("ReportName","ReportList", "ID = '" & me!cmb_InventorySort & "'" 

docmd.openreport strReport, acViewPreview 
0

原来的脚本是对的。我不得不回到报告并修正报告布局上的错误。