2017-04-19 40 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

原來的腳本是對的。我不得不回到報告並修正報告佈局上的錯誤。