プロが教える店舗&オフィスのセキュリティ対策術

AccessVBAのサブフォームで、指定した値の項目を先頭に表示したい。
例えば、サブフォームに1~100の値が縦にある場合、50と指定したら、50をサブフォームの
先頭に表示したいのですが。

宜しくお願い致します。

質問者からの補足コメント

  • うーん・・・

    後者の「絶対的な?先頭にする」です。
    表示出来るサブフォームの行数が少ないので、指定したキーのデータを先頭に表示したいです。

    No.1の回答に寄せられた補足コメントです。 補足日時:2015/08/07 10:13
  • うーん・・・

    サブフォームはテーブルで、参照だけです。更新は行いません。

    No.2の回答に寄せられた補足コメントです。 補足日時:2015/08/07 17:51

A 回答 (3件)

例えばですがレコードが五個、サブフォームの表示行数が三行とします。


F1|F2
1|あ
2|い
3|う
4|え
5|お

フツーに開くと
F1|F2
1|あ======
2|い 表示範囲
3|う======
4|え
5|お

3を見かけ上の先頭にする
F1|F2
1|あ
2|い
3|う======
4|え 表示範囲
5|お======

3を絶対的な?先頭にする
F1|F2
3|う======
1|あ 表示範囲
2|い======
4|え
5|お

前者・後者どちらが望ましいですか?
それとそのサブフォーム上でデータの更新・新規作成は行いますか?
サブフォームのレコードソース(テーブル?クエリ?)の説明も必要です。
(各フィールド名とダミーのデータを数レコード、クエリならSQL文など)
この回答への補足あり
    • good
    • 0

こちらからの確認の問いかけにまともに応える気がなさそうなので


これっきりにします。

SELECT * ,0 AS p FROM TableA WHERE F1=3
UNION ALL
SELECT * ,1 as p FROM TableA WHERE F1<>3
ORDER BY p, F1;
とすれば、
F1|F2|p
3|う|0
1|あ|1
2|い|1
4|え|1
5|お|1
となります。
あとはパラメータクエリにするなどして頑張ってください。私からは以上です。
    • good
    • 0

で、


>それとそのサブフォーム上でデータの更新・新規作成は行いますか?
>サブフォームのレコードソース(テーブル?クエリ?)の説明も必要です。
>(各フィールド名とダミーのデータを数レコード、クエリならSQL文など)
は?
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとう御座います。

お礼日時:2015/09/18 15:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています