Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


382 / 9994 ←次へ | 前へ→

【12925】Re:カレントレコードのサブIDが前のレコードのサブIDと同じなら
回答  かるびの  - 16/1/16(土) 13:02 -

引用なし
パスワード
    私の前レスの
> 私がやるなら、次のような方法をとります。
> すなわち、
>予めテーブルに「区分」フィールドを設けた上で、
>テーブルのレコードセットを取得し、
との部分についての補足ないし訂正です。


 まず、「テーブルのレコードセットを取得し、」ですが、正確に言うと、
「テーブルのレコードについて並び替えを指定したクエリのレコードセットを取得し、」
です。


 次に、「予めテーブルに「区分」フィールドを設けた上で、」についてです。

 「区分」フィールドを設けるのも一つの方法なのですが、
テーブルに設けるのは「区分」フィールドではなく、
「連番」フィールドにした方が使い勝手がいいかもしれません。 

 というのは、第一に、
「前のレコード」と比較したいという場面は、今回の「区分」フィールド以外にも
出てきそうなので、そうなった場合、連番フィールドがあると対応しやすいからです。

 第二に、「区分」フィールドの値は、特定の並び順の下でのみ妥当する値であり、
つまり、並び替え方が変われば、「区分」フィールドの値は異なってくるはずなので、
それを恒久的にテーブルに保持するというのは、良くないのではないかと思うからです。

 第三に、テーブルの「連番」フィールドであれば、それが暫定的な値、
つまり、特定の並び順の下でのみ妥当する値だということに気付きやすいからです。


 それから、前レスで触れた自己結合クエリの作り方について述べておきます。

 まず、クエリのデザインビューを開きます。
 そして、「テーブルの表示」というウィンドウを表示させます
(2003であれば、メニューの「クエリ(Q)」→「テーブルの表示(H)」を実行します)。
 「テーブルの表示」ウィンドウから「クエリ乙」を選択します。
すると、デザインビュー中に「クエリ乙」という標題のボックスが表示されます。
 次に、再度、「テーブルの表示」というウィンドウを表示させ、「クエリ乙」を選択します。
すると、デザインビュー中に「クエリ乙_1」という標題のボックスが表示されます。
 あとは、「クエリ乙」や「クエリ乙_1」から適宜フィールドを選択して、クエリ丙を作ります。

151 hits

【12923】カレントレコードのサブIDが前のレコードのサブIDと同じなら まるこ 16/1/15(金) 16:25 質問[未読]
【12924】Re:カレントレコードのサブIDが前のレコー... かるびの 16/1/16(土) 3:12 回答[未読]
【12925】Re:カレントレコードのサブIDが前のレコー... かるびの 16/1/16(土) 13:02 回答[未読]
【12927】Re:カレントレコードのサブIDが前のレコー... まるこ 16/1/17(日) 0:19 発言[未読]
【12928】Re:カレントレコードのサブIDが前のレコー... まるこ 16/1/18(月) 13:12 発言[未読]
【12929】Re:カレントレコードのサブIDが前のレコー... まるこ 16/1/18(月) 13:15 発言[未読]
【12930】Re:カレントレコードのサブIDが前のレコー... まるこ 16/1/18(月) 13:28 発言[未読]
【12936】Re:カレントレコードのサブIDが前のレコー... まるこ 16/2/5(金) 13:57 お礼[未読]

382 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free