ms-access
  • filter
  • combobox
  • macros
  • access
  • 2016-06-28 67 views 0 likes 
    0

    我已經在MS Access 2013中創建了多個項目窗體,它從查詢中獲取數據。我使用宏創建了過濾器,但問題是隻有在組合框中,rowsource只是文本而不是表格的內容。在我的情況下,這是不實際的,因爲我有幾十個條目,我不能只使用文本值。使用宏過濾器窗體與組合框 - MS Access

    到目前爲止,我有這樣的宏創建過濾器:

    "=[project number]='" & [Forms]![MyForm]![comboboxProject] & "'" 
    

    ,但它不工作。我不知道是否因爲我有一個多項目表單,而不是一個簡單的表單。順便說一下,項目編號是我的數據列,只是文本。

    經過幾個小時的調試,我發現我的組合框有兩列,一個隱藏着一個項目的ID,另一個隱藏着項目編號。我試過使用[comboboxProject] .Column(1),但它說函數列沒有定義。所以我需要找到一種方法來從我的組合框中僅獲取一列作爲文本,並且問題將得到解決。

    非常感謝您的幫助!

    回答

    0

    這應該工作:

    Me.Filter = "[project number]='" & [Forms]![MyForm]![comboboxProject] & "'" 
    Me.FilterOn = True 
    
    +0

    非常感謝您的快速回答。但是,它仍然沒有工作。這就像它不是過濾,因爲它返回表中的所有內容。 –

    +0

    您還必須將_FilterOn_設置爲_True_。請參閱編輯。 – Gustav

    +0

    我是否在宏中寫入?在設置過濾器宏類別中,它具有「過濾器名稱」,「何處條件」和「控制名稱」。對於這樣的問題抱歉,但我真的很陌生。 –

    1

    當您創建一個宏,而不是設置過濾器我用應用過濾器。 除此之外,其餘代碼如此簡單:

    [project number]=[Forms]![MyForm]![comboboxProject] 
    
    相關問題