有時你可能只想根據日期值中的月份部分來排序 Access 的紀錄,忽略日期和年份。 或者,你可能只想根據文字欄位的前幾個字元來排序記錄。 這個主題會教你如何透過創造簡單的表達式來進行這些搜尋。
您想要做什麼?
依部分日期值排序
當你使用排序指令來排序記錄時,整個日期值——日、月、年——都用來決定每筆記錄的位置。 但假設你只想根據生日發生的月份來排序,忽略日期和年份部分。
僅排序部分日期值需要寫表達式。 你可以在表格或查詢結果上排序,但必須先進入資料表檢視。 你要在 篩選 標籤的查詢區寫你的表達式。你建立的表達式只擷取你想要的資料,然後用它作為排序的基礎。
顯示篩選標籤
- 將你的表格或查詢切換到資料表檢視。
如果你正在處理查詢,執行該查詢以在資料表檢視中顯示結果。 - 在 主頁 標籤的「 排序 & 篩選器 」群組中,點選 「進階 」,然後在捷徑選單點選「 進階篩選/排序 」。
Access 會顯示一個新物件分頁,名稱中包含 Filter。
建立表達式
- 在 主頁 標籤的「 排序 & 篩選器 」群組中,點選 「進階 」,然後在捷徑選單點選「 進階篩選/排序 」。
- 在第一欄的 欄位 欄位輸入一個表達式。 例如,若要依月份排序,不論年份,請在第一欄欄位的欄位輸入表達式 Expr1: DatePart (“m”,[BirthDate]) 。
- 要依月內天數排序紀錄,請在第二欄欄位的欄位輸入 Expr2: DatePart (“d”,[BirthDate]) 。
第一欄的 DatePart 函式依月份排序紀錄,第二欄的 DatePart 函式則依每個月內的天數排序紀錄。 - 在 排序 列中,為每個表達式選擇升 階 或 降序 。
第一欄的升排序會顯示一月在上方,十二月在底部。 第二欄的升序排序會顯示頂部為 1,底部為 31。 遞減排序則相反。 - 在 「首頁 」分頁,在 「排序 & 篩選器 」群組中,點選切換 篩選器。
依部分文字值排序
以部分文字值排序與部分日期排序非常相似。 你需要在進階篩選/排序視窗寫一個表達式,提取構成排序基礎的字元。
假設城市欄位包含 如北西雅圖、 南西雅圖、 北塔科馬或 南塔科馬等數值。 假設你想忽略第一個字,只對第二個字排序紀錄。
- 在 主頁 標籤的「 排序 & 篩選器 」群組中,點選 「進階 」,然後在捷徑選單點選「 進階篩選/排序 」。
- 在第一欄的 欄位 欄位輸入一個表達式。 例如,輸入 =Mid ([City], 7) 忽略 City 欄位中的前六個字元。
Mid 函式回傳包含在指定字串或欄位中的子字串。 在這種情況下,對於每筆記錄,函式會回傳從第七個字元 (開始的值,也就是在城市欄位) 空格之後。 - 在 排序 格 中,選擇 升階或 降序。
- 在 「首頁 」分頁,在 「排序 & 篩選器 」群組中,點選切換 篩選器。