| 
    
     |  | ▼独覚 さん: 
 お返事ありがとうございます。
 補足します。
 Access初心者のため、まだ言葉足らずの部分があるかもしれませんが
 よろしくお願いします。
 
 
 >▼Hiro さん:
 >.OrderByプロパティはそのフォームのレコードソースのファイルまたはクエリのフィールド名
 >だったはずだけど。
 >
 >お書きのVBAだと"1"または"9999"という名前のフィールドで並べ替えようとするよ。
 >
 >サブリストに表示させるのをクエリにしてクエリのフィールドとして並べ替えの基準を
 >入れてはどうだろう?
 
 サブリストのレコードソースに登録詳細情報というクエリをセットしています。
 そのクエリのフィールドに型式コードがありますので、cmbKatashikiの値と同じコードを1とし、
 その他を9999と昇順でソートすればcmbKatashikiの値の順位が先頭となり、
 その他が以降に表示されると考えました。
 
 お話を聞いているとswitch文の使い方が間違えているようなので、
 クエリのフィールドに並べ替えの基準を入れるようにしてみました。
 
 ORDER BY Switch([登録情報].[型式コード]=[Forms].[メニュー].[cmbKatashiki].[Value],1,True,99);
 
 を登録詳細情報クエリに追記したのですが表示される一覧は優先順位でソートされていませんでした。
 
 [Forms].[メニュー].[cmbKatashiki].[Value]を固定値に変更してみるとナビゲーションウィンドウから
 クエリを実行した場合優先順位でソートされ表示されるのは確認できました。
 
 
 >
 >あと、こういう場合はパラメータの入力ダイアログでなんというパラメータの値を求めているかも
 >書いたほうがいいよ。
 
 >訂正です。
 >
 >>"1"または"9999"という名前のフィールドで並べ替えようとするよ。
 >こうなるのは
 >
 > .OrderBy = Switch(型式コード = & Me.cmbKatashiki.Value & ,1,True,9999)
 >の場合ですね。
 >
 >今回の場合は
 >Switch(型式コード = cmbKatashikiの値 ,1,True,9999)
 >というフィールドの値を聞いてくるのかな?
 
 パラメータの入力ダイアログはSwitch(型式コード = cmbKatashikiの値 ,1,True,9999)
 と表示されていましたので、仰る通りフィールドの値を聞いてきていると思います。
 
 |  |