- ベストアンサー
ACCESSレポートのソートに関して
ソートに関して教えて下さい。 現在、レポート出力である帳票を作成していますが、その際のソート順として ある項目の何文字目からをキーとしてソートしたいと考えています。 というのも、ある番号の先頭にアルファベットが存在し、アルファベット+連番という 形となっている為、そのアルファベットを無視して連番だけでソートしたいと考えています。 Oracle等のデータベースで、SQLを用いて取得するような時は、実現できるかと 思われますが、ACCESSのレポートではそのような機能は存在しますでしょうか? 初歩的な質問で申し訳ありませんが、教えて下さい。 よろしくお願いします。
- asamix_000
- お礼率55% (77/138)
- その他MS Office製品
- 回答数5
- ありがとう数3
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
済みません 前回の訂正です。 前回 このクエリーは レポートのプロパティー内のデーター項目の右端クリックからも設定できます。 としましたが このクエリーは レポートのデザインビューのデータタグの レコードソースの右端クリックからも設定できます。 としてください
その他の回答 (4)
- chayamati
- ベストアンサー率41% (254/607)
添付はクエリの例です。 選択クエリで テーブルのフィールドに 分類を追加しこれにソートを設定します。 分類にはコロンを挟んで式 [分類: Right([注文番号],4)] を入力します。 このクエリーは レポートのプロパティー内のデーター項目の右端クリックからも設定できます。
- 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様、ご回答ありがとうございました。
関連するQ&A
- クリスタルレポート
今クリスタルレポートを使っています。 他人の作った帳票のレイアウトとソースがあります。 データベースを選択してやれば、帳票に印刷できるのですが、選択の仕方が 分らず困っております。クリレポのデータベースエクスプローラから選択してやればいいのでしょうか。どなたか詳しい方教えていただけませんでしょうか。 お願い致します。 VBは6.0で、オラクルは8iの8.1.6です。 クリレポは8.5を使用しています。
- 締切済み
- Visual Basic
- ソート順の一番若い者を取得する
お世話になります。 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データベースを作る為、マニュアルを読んでもわからなかったので、初歩的な質問をさせてください。 顧客データを管理しているのですが、一つのテーブルを元に、データを管理しています。(氏名・住所・希望予算・連絡先・顧客ランクなど) それをレポート出力するにあたって、ソート(並べ替え)をかけるのですが、時と場合によって、「今日は、顧客来店日付順」「今日は担当者別」「今日は予算別」という風にソートの基準が違います。 レポートの雛型は作成してあるのですが、それは日付順でしか並べ替えできません。 任意に、並べ替えの基準を変えて並べ替えをし、既存のレポートに出力することはできるのですか? それとも、並べ替えをするたびにレポート書式をデザイン作成しなくてはいけないのですか? 初心者なので、なるべく簡単な方法があるとよいのですが・・・。
- 締切済み
- オフィス系ソフト
- 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件ブランクの帳票レイアウトが表示される。 一つの解決方法があるとすれば、 データベース側でブランク分のデータを作ってその用のデータに見せかけるという 方法は浮かんでおります。 しかし、レポートの設定などで詳細のなかのレポートレイアウトが ページ数一杯まで自動で表示されるような設定があればその必要が ないのではないかと思い質問をさせて頂きました。 どうぞよろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- Accessのレポートについて
お世話になっております。 現在、Accessのレポートを使って見積書のデータベースを作っているのですが、できるかどうかわかりませんが、一つご教授願います。 それは、見積書では、材料費・人件費などの項目が存在するのですが、時には材料費の項目が存在しない場合もあると思います。 そんなときに、テーブルの項目には材料費のフィールドがあるのですが、そのレコードのデータが空だったらレポートのフィールドに材料費という項目自体を現さないで出すことはできないのでしょうか? レコードの値は決まっているのですが、データが空かどうかでレポートに出力するかどうかを判断させて見積書を作成させたいと思ってます。 可能かどうか分かりませんが、アドバイスをよろしくお願いいたします。
- 締切済み
- その他(データベース)
- ExcelVBAで配列をSORT
任意の範囲の内容を読み込んだ2次元配列に入っているデータをワークシートでのSORTのように任意のキー列(第3優先まで)で任意の順(昇降)でSORTするにはどのような命令を実行すればいいか教えてもらえませんか? なお、先頭行はデータ、もちろんキー以外の列のデータも同時に並べ替えをしたいのですが?
- 締切済み
- Visual Basic
お礼
hatena1989様、ご回答ありがとうございます。 リンクの件、参考になりました。 ありがとうございました!