English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

想於access中設計如下報表:
一、以客戶ID為群組
二、以發文日期遞減排序
三、各ID群組之中,其中一發文日期為最後者,優先將整個群組排序於第一位;發文日期為次二者,將其所屬群組整個排於第二位,依此類推。

試以客戶ID為群組,畫面截圖如下
http://picasaweb.google.com/emil.tw/Access/photo#5007506173430146898

為達上述二、三要求,調整排序及群組條件
http://picasaweb.google.com/emil.tw/Access/photo#5007506229264721778

所產生的截圖
http://picasaweb.google.com/emil.tw/Access/photo#5007506263624460162

但結果似乎非原意,其中客戶何俊昌被拆成二個群組
請教各位高手,我該如何修改,才能達到上述三點條件呢?
麻煩會的高手不吝指導!
文筆不佳,若有題意未明之處還請留言或來信。謝謝!

也歡迎來信索取 access 檔案
emil675@yahoo.com.tw

2006-12-12 09:24:22 · 2 個解答 · 發問者 emil 2 in 電腦與網際網路 軟體

牛仔褲:

感謝您提供的方法,但還是不行也,你的方法會將發文日期為群組呈現。

我的報表設計需求如下:
以發文日期遞減排序,將發文日期最後者之所屬(ID)群組排於第一位,發文日期次二者之所屬ID群組排於第二位,依此類推。

歡迎來信索取 access 檔案

2006-12-12 13:10:46 · update #1

牛仔褲:

首先感謝您再次提供寶貴意見。
我想是我讓您會錯意了,簡單資料陣列表示如下:

ID653
NO856 2006/12/12
NO887 2006/12/10

ID784
NO877 2006/12/11
NO658 2006/12/03

ID214
NO687 2006/12/09
NO564 2006/12/07

其中因NO856日期2006/12/12為所有資料中最後者,因此所屬客戶群組ID653排序為最先;ID784中NO877 2006/12/11日期次之,因此ID784群組排序次於ID653,依此類推。

2006-12-12 18:41:18 · update #2

2 個解答

1:先在你的資料表_假設資料表名稱_資料表1
新增一個欄位_A文號_資料類型_數字
2:到報表設計_假設報表名稱_Report1
2.1:點選排序群組.
A文號設計為第一個_群組首_否 群組尾_否
ID 設計為第二個_群組首_是 群組尾_否
日期 設計為第三個_群組首_否 群組尾_否
3:開啟一個新的表單設計_工具_指令按鈕_取消
Private Sub Command0_Click()
Dim S1 As DAO.Recordset
Set S1 = CurrentDb.OpenRecordset("SELECT * FROM 資料表1 ORDER BY 日期 DESC;")
S1.MoveFirst
For S = 1 To S1.RecordCount
S1.Edit
S1("A文號") = S
S1.Update
S1.MoveNext
Next
S1.Close: Set S1 = Nothing
Set S1 = CurrentDb.OpenRecordset("SELECT * FROM 資料表1 ORDER BY ID DESC , A文號 ASC;")
S1.MoveFirst
For P = 1 To S1.RecordCount
On Error Resume Next
P1 = S1("A文號")
P2 = S1("ID")
S1.MoveNext
If P2 = S1("ID") Then
S1.Edit
S1("A文號") = P1
S1.Update
End If
If P < S1.RecordCount Then S1.MoveNext
If P = S1.RecordCount Then Exit For
Next
S1.Close: Set S1 = Nothing
DoCmd.OpenReport "Report1" , acPreview '這是預覽報表
DoCmd.OpenReport "Report1" , acNormal '這是列印報表
'二者由你決定
End Sub

2006-12-15 12:53:47 · answer #1 · answered by pop 7 · 0 0

1.增加發文日期的群組首
2.將詳細資料的文字方塊全選後移至發文日期的群組首內
即可達到你的要求
試試看

2006-12-12 22:59:55 補充:
依你的說法,先以日期為群組遞減排序,再以id做遞增排序吧,結果如:
2006/12/25
id0001...............
id0002..............

2006/12/20
id0001.............
id0002..............
若是如此,就將群組上下對調,內容也對調.

2006-12-13 14:19:33 補充:
這就複雜了,依我的想法要使用vba在表單作業新增一個欄位序號以標示順序做為報表排序的基準.

2006-12-12 10:35:45 · answer #2 · answered by 牛仔褲1431 6 · 0 0

fedest.com, questions and answers