2014-05-02 78 views
0

我有一個具有挑戰性的排序問題,我無法通過SQL或表達式生成器來解決。假設我有'組1'這是十個應用程序的名稱。對該組進行排序很容易進行訪問。每個系統都與供應商和消費者進行一系列交流。首先發送系統的名稱,然後是a-z,然後變得棘手。看我下面的例子:SQL/Access表達式自定義排序

庫存管理系統(L1)

  1. 資產管理系統(L2)
  2. 服務管理系統(L2)
  3. 庫存管理系統(L2)
  4. 計算機管理系統(L2)

在「L1」級別排序是沒有問題的,但在此之下我希望我的第一個「L2」記錄匹配L1記錄,然後可以是A-Z。

在上述實施例,我理想地希望它看起來像這樣:

庫存管理系統(L1)

  1. 庫存管理系統(L2)
  2. 資產管理管理系統(L2)
  3. 計算機管理系統(L2)
  4. 服務管理系統(L2)

邏輯會去像如有L2值等於一個L1值,然後列出這些第一,和任何不等於L1值可以升序排列。

+0

@戈登,請看你的標籤!上一次有人創建「訪問」時,我正在清理它一個星期。:/ – Charles

+0

@Charles。 。 。感謝您的警告。我會對此更加小心。 –

回答

0

你可以試試這個:

order by l1, 
     iif(l2 = l1, 0, 1), 
     l2 
0

所以我發現使用上述代碼中的部分解決方案。我的結果現在這個樣子

庫存管理系統(L1)

庫存管理系統(L2)

庫存管理系統(L2) 應用管理系統 網絡管理系統(L2)

這是棘手的地方。訪問將解釋與L1不匹配的所有結果爲一個全新的值。我得到了解決方案的第一部分,因爲排序是基於L2名稱進行自定義的,但是與L1名稱相關的所有其他值現在都按照單獨的值排序。

我的代碼是= IIF(([OriginNode)=([APPNAME]),0,1)

我想如果我移動L1下方的排序分組,這將解決這個問題,但後來我得到

按子句排序與子羣衝突???