• ベストアンサー

アクセスの並べ替えについて

現在アクセスで6万近くのデータを処理しています。 大字名と小字名及び地番(本番と枝番あり)を随時入力しています。 アクセス終了時に、並べ替えをしたいのですが、フィルタを使用して並べ替えの優先順位をつけました。コード(大字名で並べ替えるためにもともとある番号)→本番→枝番の順番で並べ替えするように設定しました。けれど、本番には500といった数字以外に500・520合併といった数字以外のものも含まれるため本番と枝番はプロパティをテキスト型にしています。そして並べ替えを実行すると、たしかにコード順にはなっているのですが、地番が100→1000→200→2000→というふうに必ずしも昇順になりません。どのように設定しなおしたらよろしいでしょうか?教えてください。

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

Val 関数 指定した文字列に含まれる数値を適切なデータ型に変換して返します。 です。(Access2003ヘルプより) > Accessで検索をかけたのですが、 関数等をヘルプで確認する場合は、VBAの方からヘルプを起動しないとダメですね。 Ctrl+G で、イミディエイトウィンドウを起動し、Val と入力してから F1を押して みてください。

その他の回答 (3)

noname#182251
noname#182251
回答No.4

>100→1000→200→2000→というふうに必ずしも昇順になりません 文字列とした場合データベースは桁を理解せず(当たり前ですが)一文字ずつ比較して行きます。ですから 100 1000 200 2000 の並びは自然です。「桁」をデータベースに理解して貰うためには。 _100 _200 1000 2000 のように適当な空白付き(空白が消されてしまうので上記例では替わりに「_」を入力しています。本来は「 」です)でデータ入力する必要があります。それでなければ既に回答が付いているように Val 関数で数字に変換しなければなりません。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

全く別の質問ですが http://okweb.jp/kotaeru.php3?q=1040745 で私が説明していることをじっくり読んで見てください。 この質問では評価頂けなかったが、コンピュタではどのソフトでも同じことを考えねばなりません。 フィールドは(1)数値の場合(2)内容が数字でも左詰めの文字列の場合(書式の右詰めでは不可)は問題(本件)(2)文字列の場合、機械的に左詰めのままのソートで良いばあいは問題ありませんが、それでも濁点付きの(半角)カナや漢字の読みで並べたいときは、簡単にいかず困ります。エクセルでフリガナでソートなど作るものだから、コンピュターへNewCommerは本質の理解がぼやけます。 (3)漢字と数字が混在する場合は漢字の、並び順における位置付けを考える必要があります。極端な場合は、カットして順序を考えても良い場合もあるでしょうが、今行っている仕事によります。 (4)仕事できちっとしたものにする場合はVBA等で 加工して、ソート専用のフィールドを作る必要が絶対あると思います。 (5)コンピュターのソートの基本原則で考え、我等はそれに添って、コンピュタを使う必要があります。 (6)本件でいえば数字は△△△123(△はスペース) のようにするが数値にする。 (7)漢字混じりの「520合併」は520に対し、どう並んで欲しいのか?それはやっている仕事で決まります。それを記して質問しないと。

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

並べ替えようのフィールドをクエリで作成してください。 Val 関数を使えばいいかな? > 500・520合併 Val 関数を使うと、この場合は、500 となりますが。。

francede
質問者

補足

ごめんなさい。Val関数ってどういうものですか?Accessで検索をかけたのですが、よくわかりませんでした クエリはまだ使用したことがないので、がんばってみます

関連するQ&A

  • エクセルの関数について

    たとえば、列Aに甲120または150列Bに500列Cに甲120-500と表示させているんですが、データを昇順に並べ替えるとき、甲が入っているとうまく並べかえることができません。甲120→甲1200→甲200→甲2000とういふうになってしまいます。これを解消する方法ありますか?または、いったん甲と数字をばらばらにして(その関数も教えてください)甲と本番と枝番を各々結合させることはできますか?(甲がない大字の分と枝番がない場合もあります) よろしくお願いします。 列A  列B  列C 本番  枝番  地番 甲120  50   甲120-50 1500   25   1500-25 2540       2540 甲1352      甲1352

  • ACCESSの並べ替え

    ACCESSで住所録を作っています。 データの並べ替えをしたいのです。 ただし昇順ではなく、「親戚」「ゴルフ」「その他」「会社」の順にしたいです。 以上4つのデータは「所属」フィールドに入力してあります。 なのでデザインクエリの「並べ替え」で「昇順」にすると 「会社(か)」「ゴルフ(ご)」「親戚(し)」「その他(そ)」の順になって さらに隣の「フリガナ」のところを「昇順」にすると それぞれの中で昇順になります。 さきほど書いた、「親戚」「ゴルフ」「その他」「会社」の順(自分の思う順番)に したいときはどのように設定すればよいのでしょうか? 教えてください。よろしくお願いいたします。

  • アクセスのレポートの順番の並べ替え

    昨日、質問させていただいたものです。 同じ質問で、すみません。 アクセスのレポートの並べ替えが うまく出来ません。 「表示」-「グループ化/並べ替えの設定」 会社名 : 昇順 支店名 : 昇順 商品  : 昇順 だったのを、 会社名→支店名→商品 の順に昇順になってなかったので カナにしたらいいのかと 会社名(カナ)を追加して 会社名(カナ): 昇順 支店名 : 昇順 商品  : 昇順 グループヘッダー:はい グループフッター:はい グループごと:各値 グループ間隔:1 同一ページ印刷:しない にしました。 会社名(カナ): 昇順 会社名(カナ): 昇順 支店名 : 昇順 商品  : 昇順 にして、 会社名のグループごとを 先頭の一文字と各値 の二行に分けてもみました。 会社名(カナ)にした時点で データー上存在する支店が数点消えます。 他のレポートは、難なく変更できましたが これだけ、どうしても並んでくれません。 最初に、 会社名:昇順  にしているのに、会社名が並ばずに バラバラで出てきたので この時点で 何か間違っているのでしょうか? 前回の回答者の方には、アドバイスいただいたのですが アクセスのことが まだ理解できていないので 少し 意味が分かりませんでした。 どなたか、助けてください。

  • 並び替えがしたいのですが。。。

    Excel2000を使用しています。 文字列として入力している地番を、数値の昇順に並び替えをしたいのです。どうしたらいいのでしょうか? 地番を文字列としているのは、一つのセルに地番を"-"で区切って入力しています。地番の入力例としては、1-1,10-1,20-1です。そのセルを数値として入力出来ればいいのですが、"1-1"を例にすると1月1日になってしまうので、文字列として入力しています。文字列のセルを昇順に並び替えをすると、1→10→100→2→20…となってしまいます。数値の昇順(1→2→10→20→100)にするには、どうしたらいいでしょうか? 関数を使って"-"の前と後で抜き取り、並び替えすることも考えたのですが、優先キーが3つまでなので困ってます。大字・小字・地番で並び替えしたいのです。 出来れば、件数が3000~5000件程ありますので、そのまま文字列セルの状態で昇順になると嬉しいです。 よろしくお願いします。

  • 大至急!Accessのコード記述での並べ替えについて

    いつも大変お世話になっております。 Accessで、コード表記にて並べ替えをする場合、 「Order By」で、キーとなる項目を選択し 「OrderByOn」で、True/Falseの選択。 ここまでの作業で並べ替えを行うことができるのは分かるのですが、 「昇順/降順」はどのように選択することができますか? 大至急、回答をお願いします。 よろしくお願いします。

  • Excelの並べ替えについて

    Excelの並べ替えについて 商品一覧の表を作っているのですが、そのデータには「数字」「アルファベット」「ひらがな」「カタカナ」が含まれています。 昇順で並べ替えを行うと「数字」-「アルファベット」-「ひらがな」-「カタカナ」の順番になりますが、それを例えば「ひらがな」-「カタカナ」-「数字」-「アルファベット」の順番で並べ替えを行うことは可能でしょうか? 現状では並べ替えを行ったあと範囲選択をして入れ替えをしていますが、それ以外に何かよい方法があればご教授お願いいたします。

  • エクセルの並べ替え

    エクセル98を使用しています。 文字の入ったものの並べ替えの仕方を教えてください。 たとえば、a123のセルとa1000というセルを昇順に並べ替えようとすると「a1000」の方が先にきてしまいます。 これを数字だけの昇順に並ぶように設定するにはどのようにしたらよいのでしょうか?やはり、0(ゼロ)をいれるなどして、桁を合わせなければだめなのでしょうか?どなたか教えてください。

  • アクセス2007 VBA 並べ替え

    テーブル1のフィールド1にデータを入れ それを元に帳票フォームを作成しました。 フォームヘッダー部分に 昇順ボタンと降順ボタンを作り、 ボタンを押すごとに並び替えを行いたいのですが どのようなVBAコードを書けばいいのかわかりません。 命令分としては、 「フォームに表示されるテーブル1のフィールド1データの 昇順に並べ替える」です。 SQLを使う方法ではなく、 DocmdかacCmdを使う方法が希望です。 アクセスのヘルプの ----------------------------------------- Access 開発者用リファレンス Form."OrderBy/並べ替え" プロパティ ----------------------------------------- を見ると、 ----------------------------------------- 構文 式.OrderBy 式 Form オブジェクトを表す変数です。 ----------------------------------------- と書いてありますがこの式がわからないのでご教授よろしくお願いします。

  • EXCELの並べ替えについて

    エクセルで、セル内に文字と数字を組み合わせたデーターの並べ替えがうまくできません。 一行目に「ユ、チ、ホ、キ」のいずれかのカタカナ1文字と5桁の数字を組み合わせたデータの並べ替えを行うと、 数字の部分が並べ替えがされません。 ・オプションのユーザ設定リストで「ユ、チ、ホ、キ」と設定し、数字は昇順に並べたい。 <例>降順で設定すると、 ユ72035   ユ02100 ユ02020 ユ00393 ユ00285 チ34600 チ09650 チ02860 チ02845 チ00300 チ00055 キ00110 ユ、チ、キの順となりますが、数字の部分は、降順になってしまいます。 降順で設定すると キ00110 チ00055 チ00300 チ02845 チ02860 チ09650 チ34600 ユ00285 ユ00393 ユ02020 ユ02100 ユ72035 文字の部分がキ、チ、ユと逆になり、数字の部分が、ばらばらです。 どのように設定すれば、先頭文字がユ、チ、キ、ホの順の数字部分が昇順になるでしょうか? よろしくお願いいたします。

  • Access97でテーブルのデータを並べ替える方法

    Access97で(OSは98)テーブルで入力したデータをクエリーで並べ替えをかけるのですが、 そのフィールドのデータを昇順、降順以外で自分の思うような順番で 並べ替えることができますか? 例) パソコン、デジタルカメラ、プリンタ、メディアのような順番で。。。 今後他のテーブルと結合するのでこれら以外にコード番号を入力する フィールドを作り、これらをこの順番で入力すればよいのかもしれませんが Excelのユーザー設定リストを並べ替えで使うような機能がAccessにあったかと思いまして。よろしくお願いいたします。

専門家に質問してみよう