• ベストアンサー

ACCESSレポートのソートに関して

ソートに関して教えて下さい。 現在、レポート出力である帳票を作成していますが、その際のソート順として ある項目の何文字目からをキーとしてソートしたいと考えています。 というのも、ある番号の先頭にアルファベットが存在し、アルファベット+連番という 形となっている為、そのアルファベットを無視して連番だけでソートしたいと考えています。 Oracle等のデータベースで、SQLを用いて取得するような時は、実現できるかと 思われますが、ACCESSのレポートではそのような機能は存在しますでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • chayamati
  • ベストアンサー率41% (254/607)
回答No.5

済みません 前回の訂正です。 前回 このクエリーは レポートのプロパティー内のデーター項目の右端クリックからも設定できます。 としましたが このクエリーは レポートのデザインビューのデータタグの レコードソースの右端クリックからも設定できます。 としてください

その他の回答 (4)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.4

添付はクエリの例です。 選択クエリで テーブルのフィールドに 分類を追加しこれにソートを設定します。 分類にはコロンを挟んで式 [分類: Right([注文番号],4)] を入力します。 このクエリーは レポートのプロパティー内のデーター項目の右端クリックからも設定できます。

回答No.3

> 《ソート対象項目》 > >  発注番号 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

asamix_000
質問者

お礼

hatena1989様、ご回答ありがとうございます。 リンクの件、参考になりました。 ありがとうございました!

回答No.2

アルファベット+連番 のアルファベットの桁数は固定でしょうか。 例えば 2桁で固定なら、レポートの「並べ替え/グループ化の設定」で、 =Val(Mid([フィールド名],3)) という式を設定して、昇順に並び替えればいいでしょう。 あるいは、レコードソースのクエリで、 式1: Val(Mid([フィールド名],3)) というフィールドを作成しておいて、そのフィールドで並び替えを設定してもいいでしょう。 桁数が固定でないならユーザー定義関数を作成する必要があります。

asamix_000
質問者

お礼

hatena1989様、ご回答ありがとうございます。 早速、教えて頂いた内容で行ったところ、どうしても正しくソートされません。 《ソート対象項目》  発注番号 XX-XXX-○○○○ という形で、 =Val(Mid([発注番号],8,4)) というような設定を行いました。 全て文字列だからソートができないのでしょうか、、、 教えて下さい。

  • o_chi_chi
  • ベストアンサー率45% (131/287)
回答No.1

そのレポートのレコードソースをソート済SQLに すればよいと思いますよ。 他には並び替え/グループ化の設定で ソートを指定できます。

asamix_000
質問者

お礼

o_chi_chi様、ご回答ありがとうございました。

関連するQ&A

  • クリスタルレポート

    今クリスタルレポートを使っています。 他人の作った帳票のレイアウトとソースがあります。 データベースを選択してやれば、帳票に印刷できるのですが、選択の仕方が 分らず困っております。クリレポのデータベースエクスプローラから選択してやればいいのでしょうか。どなたか詳しい方教えていただけませんでしょうか。 お願い致します。 VBは6.0で、オラクルは8iの8.1.6です。 クリレポは8.5を使用しています。

  • ソート順の一番若い者を取得する

    お世話になります。 Oracle SQL文で質問があります 以下のようなテーブルから【結果】のような レコードを取得したいのです id id2 が同じものでsort順が一番若いものを 取り出すSQLです。 おわかりの方よろしくお願いします。 id id2 sort 1 1 1 1 1 2 1 2 1 1 2 2 1 2 3 1 3 1 【結果】 id id2 sort 1 1 1 1 2 1 1 3 1

  • sortコマンドについて

    ファイルaaaについて、 第1ソートキーを第1列目で数値順に 第2ソートキーを第2列目でアルファベット順に ソートした結果をbbbに出力したいと思います。 sort -n -k 1,1 -d -k 2,2 aaa > bbb としたところ、正しい結果が得られませんでした。 どのようにしたら良いのか教えて下さい。

  • accessのデータの並べ替えについて

    初めてaccessデータベースを作る為、マニュアルを読んでもわからなかったので、初歩的な質問をさせてください。 顧客データを管理しているのですが、一つのテーブルを元に、データを管理しています。(氏名・住所・希望予算・連絡先・顧客ランクなど) それをレポート出力するにあたって、ソート(並べ替え)をかけるのですが、時と場合によって、「今日は、顧客来店日付順」「今日は担当者別」「今日は予算別」という風にソートの基準が違います。 レポートの雛型は作成してあるのですが、それは日付順でしか並べ替えできません。 任意に、並べ替えの基準を変えて並べ替えをし、既存のレポートに出力することはできるのですか? それとも、並べ替えをするたびにレポート書式をデザイン作成しなくてはいけないのですか? 初心者なので、なるべく簡単な方法があるとよいのですが・・・。

  • エクセルでのソート

    エクセル2000を使っています、ソートについて質問させていただきます。 例えば、 88J001・・・88J055 88N001・・・88N011 88A001・・・88A0088 8K001・・・88K020と有る名簿を(上から下に並んでいます)、 左から3文字目に有るアルファベットを最優先キーに、数字3桁を2番目に優先するキーにし、アルファベット順ではなく、K、N、J、A、Hと有るようにソートしたいのですが、どのような操作をすればよろしいでしょうか?

  • ACCESSのレポートに関して

    ACCESSでのレポート出力に関して教えて下さい。 今、T_ABC というテーブルが存在し、そのテーブルのXという項目をレポート上のテキストに 表示したいと考えいます。 データは既に存在し、レポートの方へ以下のような記述をしましたが、#name?というエラーと なってしまいます。 何が考えられるでしょうか、、、 《記述内容》  コントロールソースへ  =[T_ABC]![X] 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。

  • どのようにソートすればいいのか教えて下さい

    AとBとCにそれぞれ数値を与えておいて、その数値の大きい順にABCを並べ替えるようにしたいのです。一応、下のようにアルファベットと数値の間にはカンマを入れて分けています。 A, 5-------→B, 9 B, 9-------→C, 7 C, 7-------→A, 5 このように並べ替えたいのですが、うまくいきません。ArrayListを使用しCollectionsクラスのsortメソッドを使ってやれば先頭の文字によるソートはできるのですが、カンマ後の数値での並べ替えの方法がよくわかりません。 いい法方がありましたらおしえてください。

    • ベストアンサー
    • Java
  • ACCESSのレポート機能について

    いつもお世話になっております。 アクセスのレポート機能でお伺いしたことがあります。 現在データベースの内容を帳票出力したいと思っています。 一枚8件が帳票される想定でレイアウトを作りました。 そこで一つ問題が発生しております。 8件丁度のレコードの場合は帳票が綺麗な並びで表示されるので 問題ないのですが、 8件以下の場合や、8件以上の場合、帳票に余白がでてしまいます。 (例 5件の場合、5件表示され、3件分の余白が発生。) ページヘッダにはグループにするべきデータをセット、 詳細には1レコードの帳票をセットして、 グループされるデータが順番に帳票に出るようにしたいと思っています。 希望する帳票レイアウトは、 8件以下の場合は、(例3件の場合) 3件データ表示+5件ブランクで帳票レイアウトが表示される。 8件以上の場合は(例12件の場合) 8件は全件表示 次ページで4件+4件ブランクの帳票レイアウトが表示される。 一つの解決方法があるとすれば、 データベース側でブランク分のデータを作ってその用のデータに見せかけるという 方法は浮かんでおります。 しかし、レポートの設定などで詳細のなかのレポートレイアウトが ページ数一杯まで自動で表示されるような設定があればその必要が ないのではないかと思い質問をさせて頂きました。 どうぞよろしくお願い致します。

  • Accessのレポートについて

    お世話になっております。 現在、Accessのレポートを使って見積書のデータベースを作っているのですが、できるかどうかわかりませんが、一つご教授願います。 それは、見積書では、材料費・人件費などの項目が存在するのですが、時には材料費の項目が存在しない場合もあると思います。 そんなときに、テーブルの項目には材料費のフィールドがあるのですが、そのレコードのデータが空だったらレポートのフィールドに材料費という項目自体を現さないで出すことはできないのでしょうか? レコードの値は決まっているのですが、データが空かどうかでレポートに出力するかどうかを判断させて見積書を作成させたいと思ってます。 可能かどうか分かりませんが、アドバイスをよろしくお願いいたします。

  • ExcelVBAで配列をSORT

    任意の範囲の内容を読み込んだ2次元配列に入っているデータをワークシートでのSORTのように任意のキー列(第3優先まで)で任意の順(昇降)でSORTするにはどのような命令を実行すればいいか教えてもらえませんか? なお、先頭行はデータ、もちろんキー以外の列のデータも同時に並べ替えをしたいのですが?

専門家に質問してみよう