我有一個Microsoft Access數據庫。它有一個客戶表和每個客戶的進入日期。我有一個表格,其中包括所有客戶和他們的信息。基於組合框預定義值篩選微軟訪問記錄
我想製作一個組合框(下拉框),其中包括一年中的月份(一月,二月,三月,四月......)。當用戶從組合框中選擇April時,只有在該月添加的記錄纔會顯示在記錄表中。
可以這樣做嗎?我一直試圖做至少3天,但沒有運氣..
親切的問候。
我有一個Microsoft Access數據庫。它有一個客戶表和每個客戶的進入日期。我有一個表格,其中包括所有客戶和他們的信息。基於組合框預定義值篩選微軟訪問記錄
我想製作一個組合框(下拉框),其中包括一年中的月份(一月,二月,三月,四月......)。當用戶從組合框中選擇April時,只有在該月添加的記錄纔會顯示在記錄表中。
可以這樣做嗎?我一直試圖做至少3天,但沒有運氣..
親切的問候。
您需要執行以下幾個步驟:首先進入組合框的屬性並更改行源,以便在第一列中包含月份的編號,在第二列中包含月份名稱的編號。你需要爲此製作一張桌子。接下來,進入組合框的屬性並將列數改爲2.然後更改列寬以使第一列爲0.它應該看起來像這樣 - 0「; 2」。現在組合框應該在下拉列表中列出月份名稱,但是如果以編程方式訪問它,則會給出月份的編號。
這應該讓你開始,從那裏取決於你如何得到這些數據,你需要一個查詢使用Month()來分隔它,或者如果你使用的是一個子窗體,你需要一個字段月有鏈接。
希望這可以幫助,如果它不是太晚。
本質上,您需要一個下拉字段,該字段應用過濾器功能來按月過濾相應的記錄。根據您是否使用子窗體執行以下操作。
主窗體(無子窗體) - 使用ApplyFilter
宏:ApplyFilter FilterName: (leave blank), Where Condition: ="=[Record Month Field]='" & Forms!MainForm!FilterMonthCombo & "'", Control Name: (leave blank)
VBA:DoCmd.ApplyFilter , "[Record Month Field]='" & Me.FilterMonthCombo & "'"
主窗體(與子窗體) - 使用記錄源
VBA:Forms!MainForm!Subform.Form.RecordSource = "SELECT * FROM Records WHERE [Record Month Field]='" & Forms!MainForm!FilterMonthCombo & "'"
我看來,像一個簡單的事情,在MS Access做。 如果您對VBA感到滿意,可以在 組合框的「AFTER UPDATE」事件上編寫一個程序。 該程序應簡單地更新的記錄源FROM到
"SELECT * FROM [the table with the records you want to filter] WHERE [Field with month number] = " & ComboxboxField.Column(0)
設置您的組合框有兩列,一個與月數和其他與該月的名稱。 在格式化組合框時,選擇通過將其大小設置爲0來隱藏第一列數據「
是的,它可以完成。哪一點是你堅持?我敢肯定有人可以幫助你,雖然不是我因爲訪問給了我heebies。 –
即時通訊卡我必須根據從組合框中選擇的月份篩選記錄。 – moeido