毎日 4 ~ 5 回、9 か所のオフィスでチケットの出現を追跡するデータベースにテーブルがあるとします。これらの各期間で、人々は 1 つのチケット (トランザクション モデルを使用できると思います) に表示される場合もあれば、多数のチケットに表示される場合もあります (15 のチケットを見たことがある人もいれば、最大 50 のチケットがあると聞いたことがあります)。
このテーブルからデータを取得するために、Access 2013 を使用してクエリが作成されました。これは、アーカイブ (現在の日付テーブルのレコードは 24 時間後に削除されます) および一般的な分析のために行われます。
現在のクエリ ロジックは次のとおりです。
SELECT Format([T1]![APP_DTE],"Short Date") AS APPEAR_DTE,
T1.OFFICE, OFFCDES.OFFICE_NAME, OFFCDES.LOC_CDE, OFFCDES.LOC_NAME,
T1.APP_TIME_PER, T1.ROOM_NUM, T1.INCL_CDE, T1.ID_NUMB,
T1.ADJ_APPEAR_NUM, T2.APPEAR_CDE,
IIf([T1]![APPEAR_LOGIN_TIME] Is Null,"",[T1]![APPEAR_LOGIN_TIME]) AS LOGIN_TIME1,
IIf([T1]![OFFICE_LOGIN] Is Null,"",[T1]![OFFICE_LOGIN]) AS OFFICE_LOGIN,
IIf([T1]![DECISION_TIME] Is Null,"",[T1]![DECISION_TIME]) AS DECISION_TIME,
[T1]![ID_NUMB] & "-" & CStr([T2]![OFFICE_REP_ID]) & "-" & CStr([T1]![APP_DTE]) AS CASEKEY,
Weekday([APP_DTE]) AS NUM_DAY,
[T1]![OFFICE] & "-" & Weekday([T1]![APP_DTE]) & "-" & [T1]![APP_TIME_PER] AS OFFICE_TP_KEY, "" AS RecordKey
FROM (T1 INNER JOIN OFFCDES ON T1.OFFICE = OFFCDES.OFFICE)
INNER JOIN T2 ON T1.APPEAR_NUM = T2.APPEAR_NUM
WHERE (((Format([T1]![APP_DTE],"Short Date"))=Format(Date(),"Short Date")));
上記のコードは、読みやすくするためにクリーンアップする必要があり、おそらくそれほど効率的ではないことを認識しています。私が信用できない部分は、同僚からこれらすべてを継承し、頭を抱え始めたところです。
クエリの結果には大量の情報が含まれており、その一部 (ほとんど) は、私が達成しようとしているものとは無関係です。一度失われた情報は失われるため、このすべての情報を取得することが重要です。それを述べて:
私がやろうとしていること:
プルされた日付の特定のオフィス/期間に特定の ID_NUMB が何回発生したかを示すキー/連続番号付きの列を組み込んでいます。また、合計を探しているのではなく、ここの SEQ 列の行に沿ったものを探しています。
ID_NUMB | APPEAR_NUM | OFFICE | TP | DATE | SEQ
1 | 1XZ2 | 01 | 01 | 9/7/2016 | 1
1 | 1XZ3 | 01 | 01 | 9/7/2016 | 2
2 | 3MN1 | 03 | 01 | 9/7/2016 | 1
3 | J915 | 02 | 01 | 9/7/2016 | 1
1 | 1TY1 | 01 | 01 | 9/7/2016 | 1
3 | P91D | 05 | 01 | 9/7/2016 | 1
2 | U11E | 11 | 05 | 9/7/2016 | 1
私は周りを見回して多くの細かい番号付けの解決策を見つけましたが、カウントが非常に細かいように見えるため、ほとんどは私が達成しようとしているものではありません.
データを一時テーブルに書き込むことを考えましたが、見つけた情報の一部を使用しても解決には至りませんでした。同様に、この情報を取得して連番を追加できる別のクエリを作成してみました。これは、MS Answers サイトにあるソリューションの一種です。間違ったアプローチのように思えたので、それを脇に置きました。
クエリを一時テーブルに書き込んでから、VBA の一部で連番を処理することも試しましたが、その方法もあまりうまくいきませんでした。
私が概説したように、列に連続番号を生成する正しいアプローチは何でしょうか? 私は途方に暮れています。