Access VBA質問箱 IV

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

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


1557 / 2272 ツリー ←次へ | 前へ→

【6558】データから一部を取り出して並べ替え koorin 05/10/20(木) 17:38 質問[未読]
【6560】Re:データから一部を取り出して並べ替え 小僧 05/10/21(金) 9:23 回答[未読]
【6562】Re:データから一部を取り出して並べ替え koorin 05/10/21(金) 10:24 お礼[未読]

【6558】データから一部を取り出して並べ替え
質問  koorin  - 05/10/20(木) 17:38 -

引用なし
パスワード
   過去ログやヘルプで調べたのですが、どうしてもわからないので教えてください。
フォーム上で「注番」の並べ替えをしたいのですが、
注番は定形入力>LL000000\-99 と指定してあり             
8桁の親注番(最初2桁のアルファベットが客番、3桁目から8桁目までが数字)で
場合によっては枝番(親番のあとに数字2桁)がつきます。
たとえば
AD511011-01 ・・・・・枝番のつく注番
BD510015-01 ・・・・・   〃
FK510015-  ・・・・・親番だけで枝番のない注番
FK511002-  ・・・・・     〃
こんな感じです。
今は単に注番の並べ替え(昇順)になっているので上記のようにならんでしまいます。
それを注番のうち、まず3桁目から8桁目の親番の数字だけを取り出して昇順に
並べ替え、次に客番のアルファベット順で並べ替えたいのですがどのようにしたら
出来るでしょうか?(並べ替え結果を下記のようにしたいのです)
BD510015-01 
FK510015-  
FK511002-
AD511011-01

mid関数とorderbyを組み合わせるのかと思っていますが、記述方法が
分かりません。
よろしくお願いします。

【6560】Re:データから一部を取り出して並べ替え
回答  小僧  - 05/10/21(金) 9:23 -

引用なし
パスワード
   ▼koorin さん:
おはようございます。

>フォーム上で「注番」の並べ替えをしたいのですが、

レコードソースで並び替えをする例で説明させて頂きますね。


>mid関数とorderbyを組み合わせるのかと思っていますが、

もう一つ、Left関数も使ってみましょう。

フォームのレコードソースの右側の「...」をクリックし、クエリビルダを開きます。

基がクエリだった場合は、 SQL が表示されていると思いますので
SQL 文の最後の「;」を消して

ORDER BY Mid([注番],3,6), Left([注番],2)

と追加してみて下さい。


基がテーブルだった場合には、SQL ビューに切り替えて

SELECT * FROM テーブル名 ORDER BY Mid([注番],3,6), Left([注番],2);

のように SQL を組んでみてください。

【6562】Re:データから一部を取り出して並べ替え
お礼  koorin  - 05/10/21(金) 10:24 -

引用なし
パスワード
   ▼小僧 さん:
おはようございます。

出来ました。
クエリビルダでSQL構文を書くことはフォームとかからも出来るのですね。
クエリ上でしか出来ないと思ってました・・・

ありがとうございましたm(__)m

1557 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078242
(SS)C-BOARD v3.8 is Free