萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> access教程 >> access2007教程 >> Access 2007按存儲在文本字段中的數值對記錄排序

Access 2007按存儲在文本字段中的數值對記錄排序

時 間:2008-7-28 8:07:30
作 者:Microsoft
摘 要:按存儲在文本字段中的數值對記錄排序
正 文:

存儲在文本或備注字段中的數字和字符串將按字母次序排序。換句話說,數字將基於組成值的各個數字位(而不是基於數值)進行排序。例如,值 11 出現在 2 之前,值 12 出現在 3 之前,如下表所示。

學生名字 學號 John 1 Maria 10 William 11 Mary 12 Jane 2 Lynn 3 Jason 4 Mary 5

若要確保學號基於其數值而不是按字母次序進行排序,請執行下列某項操作:

  • 如果字段只包含數值,請考慮將字段的數據類型更改為“數字”“貨幣”
  • 使用以下步驟,如果:
    • 字段只包含數值,但您不希望更改字段的數據類型。
    • 字段同時包含數值和字符串值,但您想在排序時忽略字符串值。

 


以下步驟將使用 Val 函數來獲取作為文本存儲的數字的數值。該表達式還使用 IIf 函數來處理可能出現在排序字段中的 Null 值。

  1. “開始”選項卡上的“排序和篩選”組中,單擊“高級”,然後單擊快捷菜單上的“高級篩選/排序”
  2. 在第一列中的“字段”行內鍵入表達式“Expr1: IIf([Fieldname] Is Null, 0, Val([Fieldname]))”

    IIf 函數將檢查字段值是否是 Null,如果是,則將它視為 0。如果值不是 Null,IIf 函數將調用 Val 函數來獲取等價的數值。

  3. “排序”單元中,選擇“升序”“降序”

    升序排序將在頂部顯示具有最小值的記錄,在底部顯示具有最大值的記錄。降序排序則相反。

  4. “開始”選項卡上的“排序和篩選”組中,單擊“切換篩選”

如果上述步驟不適合於您,您可以嘗試用另一個途徑來避免更改表的結構。這包括使用前導零來“填充”位數較少的值。例如,在應用排序之前,將值 11、2、2000 和 3 更改為 0011、0002、2000 和 0003。

copyright © 萬盛學電腦網 all rights reserved