- ベストアンサー
ACCESSレポートのソートに関して
ソートに関して教えて下さい。 現在、レポート出力である帳票を作成していますが、その際のソート順として ある項目の何文字目からをキーとしてソートしたいと考えています。 というのも、ある番号の先頭にアルファベットが存在し、アルファベット+連番という 形となっている為、そのアルファベットを無視して連番だけでソートしたいと考えています。 Oracle等のデータベースで、SQLを用いて取得するような時は、実現できるかと 思われますが、ACCESSのレポートではそのような機能は存在しますでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
済みません 前回の訂正です。 前回 このクエリーは レポートのプロパティー内のデーター項目の右端クリックからも設定できます。 としましたが このクエリーは レポートのデザインビューのデータタグの レコードソースの右端クリックからも設定できます。 としてください
その他の回答 (4)
- chayamati
- ベストアンサー率41% (260/624)
- hatena1989
- ベストアンサー率87% (378/433)
> 《ソート対象項目》 > > 発注番号 XX-XXX-○○○○ > > という形で、 桁数は固定なんですね。ならば、下記の式を試してください。 =Right([発注番号],4) ちなみに、並べ替えとグループ化の設定は、バージョンでかなり異なりますので、 下記を参照してください。 Access2003までの設定 マイクロソフトアクセス活用法~並べ替え/グループ化の設定 http://www.sk-access.com/Syo_Report/SrA007_Group.html Access2007以降 グループ化レポートまたはサマリ レポートを作成する - Access - Office.com http://office.microsoft.com/ja-jp/access-help/HA010006894.aspx#BMaddgroupstoexistingreport
- hatena1989
- ベストアンサー率87% (378/433)
アルファベット+連番 のアルファベットの桁数は固定でしょうか。 例えば 2桁で固定なら、レポートの「並べ替え/グループ化の設定」で、 =Val(Mid([フィールド名],3)) という式を設定して、昇順に並び替えればいいでしょう。 あるいは、レコードソースのクエリで、 式1: Val(Mid([フィールド名],3)) というフィールドを作成しておいて、そのフィールドで並び替えを設定してもいいでしょう。 桁数が固定でないならユーザー定義関数を作成する必要があります。
お礼
hatena1989様、ご回答ありがとうございます。 早速、教えて頂いた内容で行ったところ、どうしても正しくソートされません。 《ソート対象項目》 発注番号 XX-XXX-○○○○ という形で、 =Val(Mid([発注番号],8,4)) というような設定を行いました。 全て文字列だからソートができないのでしょうか、、、 教えて下さい。
- o_chi_chi
- ベストアンサー率45% (131/287)
そのレポートのレコードソースをソート済SQLに すればよいと思いますよ。 他には並び替え/グループ化の設定で ソートを指定できます。
お礼
o_chi_chi様、ご回答ありがとうございました。
お礼
hatena1989様、ご回答ありがとうございます。 リンクの件、参考になりました。 ありがとうございました!