• ベストアンサー

テーブルの文字列を簡単にコードに変えたい

テーブルに例えば、県名の文字列が入っているフィールドがあってrecord数が何千県とあるとします。 この文字列を簡単に、数値に変えて、それをマスター管理したいとすると、一番簡単に変えられる方法って何でしょうか?手間かけずに。こういう値の変更が簡単にできる方法があると、管理しやすいのですが・・・

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

accessなら以下参考にしてください http://okwave.jp/qa/q3239942.html

superwonderful
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

県名管理用テーブルをつくって、変更したいテーブルと連携して 変換すればいいでしょう。 やりかたはRDBの種類にもよりますので、具体的な方法を知りたいのであれば ご利用のRDB名を明示した方がよいでしょう

superwonderful
質問者

補足

Access 2013を使用しています。この場合の具体的な変換方法を教えて下さい。

関連するQ&A

  • access2003 「#エラー」を文字列にしたい

    テキスト型に入れた値を数値に変換し、「#エラー」を文字列にしたい テーブル1のデザインビューで ・フィールド1 テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。  「#エラー」を「未設定」という文字列にしたいのですが どうすえばいいのでしょうか? よろしくお願いします。

  • 制御文字を含む文字列を扱うには

    field char(50) binary not null unique primary key,fulltext (field) この設定で作られたフィールドがあり、主にlike検索をされます。 このフィールドには本来10進数の数字の文字列を入力する事を考えていたのですが、(数値としては桁数が大きすぎる事と、その数字列の中に"123"を持つ物を探すなど数量とは関係無い検索がされる事から文字列にしています) MySQLのリファレンスによると、インデックスの対象になる文字列は桁数が短い方がいいようなので、どうせ数値でなく文字列を使っているのならと思い、1バイトで表現出来る全ての文字を使い256進数で表し、桁数を節約しようと考えました。 256進数に直してしまうと10進数の状態で"ある数字列"を持つのかどうか分からなくなるのではないかと思うかもしれませんが、それはこのフィールドに行われるlike検索の特徴により解消されます。 長い前置きでしたが、質問はタイトル通り制御文字を含む文字列を扱う事、言い換えれば0~255の全ての文字コードを文字列データとしてMySQLでインサート・全文インデックス・セレクトする方法です。このフィールドのデータは出力される事は無く、selectのwhere部分に使われ、出力されるのは同レコード内の別のフィールドのデータです。 素直に以下のコードでテストしましたが失敗しました。 while ($i < 50){ $rand = mt_rand(0,255); $str .= chr($rand); $i++; }/*insertする文字列$strを生成*/ $sql = "insert into table(field) values ('$str')" $strの中に制御文字や"や'等の文字が入るとinsertが失敗し、追加出来たレコードについても、コマンドプロンプトからselectして出力してみるとPCが警告音を連発します。 何か方法は無いでしょうか?

    • ベストアンサー
    • MySQL
  • テーブルの設計はとりあえず文字列で取り込み?

    テーブルの設計はとりあえず文字列で取り込み? こんにちは。会社の上司にSQLについて教えてもらいました(ACCESS2003)。 上司曰く、とりあえずテーブルの設計はvarcharにしておけば大丈夫。 もし取り込んだ値が数値なら、あとで数値に変換する関数で数値に変換して計算行えばいいよと言われました。 とりあえず、文字列なら必ずインポートできるからテーブルのデータ型は全て文字列型。 というのは正しいのでしょうか?様々な型があるのに、すべて文字列型にしてもいいのかなと素朴な疑問が生まれました。 よろしくお願いします。

  • MS accessでのルックアップ機能と並び替え

    access2007です。 一見実現できそうな処理なのですが、どうしてもその方法がわかりませんでした。 お手数ですが、おわかりの方がいらっしゃいましたらご回答よろしくお願いいたします。 テーブルをデザインビューで開いたときのフィールドプロパティでルックアップを設定して別なテーブルを参照しています。このとき、ルックアップによる格納値ではなく、表示値やルックアップテーブル中のその他のフィールドの入力値にしたがって並び替えを行いたいのです。 簡略のため、以下の例で説明させてください。 今ここに次の二つのテーブルがあるとします。  1.お客様テーブル  2.県名テーブル それぞれが持つフィールドは  1.お客様テーブル:[お客様コード]、[氏名]、[県名]  2.県名テーブル  :[県コード]、[県名]、[県名カナ] 「県名テーブル」の[県名]フィールドには順不同に47都道府県を入力していたとします。 さらに「県名テーブル」の[県コード]フィールドはオートナンバー型で47番まで番号がついています。 さて、「お客様テーブル」をデザインビューで開き、[県名]フィールドをコンボボックスに変更しルックアップを設定します。 設定は次のようにします。 値集合タイプ テーブル/クエリ 値集合ソース 県名テーブル 連結列1 列数2 列幅0cm;3cm これで「お客様テーブル」の[県名]フィールドへの格納値は[県名コード]の数字になり、表示値は[県名]フィールドの文字列になると思います。 ここで、「お客様テーブル」で並び替えをするときに、この格納値の数字ではなく、[県名カナ]にてカナ順にて並び替えをしたいのです。 ※コンボボックスのドロップダウンリストの中身を並び替えたいのではなく、「お客様テーブル」のデータの並び替えの優先キーとして、[県名カナ]を使用したいのです。 当然[県名カナ]による並び替えの順序を考慮して[県名コード]をつければ、格納値の数値で並び替えても希望の並びになるのはわかります。しかしここでいう[県名コード]がただのオートナンバー型のフィールドだとすると、これとは別に並び替えのキーとなるフィールドを作成してそれをもとに並び替えを行うという処理は、私以外でもニーズがあってもよいのではと考えたのです。 または単に私が見逃している機能があるのかもしれません。 何か解決策がありましたらよろしくお願いいたします。

  • テーブル内のレコードを別のテーブルに移す良い方法を教えてください

    SQLサーバー7.0(ADO)とAccess97のVBAでアプリケーションの開発を行っております。SQLサーバー7.0(サーバー側)にあるテーブルの中身(レコード全件)をAccess97(ローカル)にあるテーブル(テーブル名とその中のフィールド名は全く同じだが中身はからっぽ)にまとめて移しかえる良い方法があれば教えてください。いま私はフォームオープンイベントでフィールドとレコードをループでまわして移しかえているのですが、テーブル数も多いため記述も長くなりますし、何よりもパフォーマンスが良くありません。テーブル単位で中身を別のテーブルに移す方法などがあれば是非教えてください。 (例) SQLサーバー(ホスト側)---テーブル名「T_社員マスター」フィールド数100項目、レコード数500件 ↓ ↓ フォームオープン時にそのまま移しかえたい ↓ ↓ Access97(端末側)-------テーブル名「T_社員マスター」フィールド数100項目、レコード数0件 よろしくお願いします。

  • 数値を文字列にして他の文字列と連結

    お世話になります。 accessで、 フィールド1の数値(オートナンバー)を文字列に変換して、固定の文字列と連結し、フィールド3に保存する方法をを教えていただきたいのですが。 よろしくお願いします。

  • Access:クエリーにて集計後に文字列結合したい。

    Accessのクエリーでレコードのグループ化を行っている状態で、あるフィールドに対してだけ文字列の結合を行いたいのですが、集計部分をどのように指定すればよいかわからず困っています。 イメージとしては、SQLビューにて、グループ化されたレコードの合計が、  SUM([テーブル名].[フィールド名]) で求められる様に、 エクセルの文字列結合関数  CONCATENATE([テーブル名].[フィールド名]) が使いたい、という感じです、、 Accessにおける文字列結合は"&"を使うとありましたが、この場合どのように記述するべきでしょうか?

  • ワードの差込印刷で必要な行だけテーブルを作るには?

    エクセルからの差込印刷を考えています。 テーブルに差し込むのですが、 レコードごとにフィールドに入っている値の数が違います。レコードによってはあらかじめ作ったフィールドが空のときもあるのです。 この状態であらかじめ、ある程度のテーブルを作っても空欄ができるのが困ります。 フィールドの数にあわせてテーブルの行が増えたり減ったりすることはできるのでしょうか?

  • Access テーブルにデータを取り込む際 下記の条件でやるには どうしたらよいでしょうか?

    テーブル名「テーブル1」で 中身が フィールド名1,値1 フィールド名2,値2 フィールド名3,値3 というデータがあったとします。 このデータを 名前,フィールド名1,フィールド名2,フィールド名3 というフィールドをもったテーブルに1レコードとして書き込んで行きたいのです。 簡単な方法あるでしょうか? 結果として 名前,フィールド名1,フィールド名2,フィールド名3 テーブル1,値1,値2,値3 というレコードになります。 次に2レコード目は また別の「テーブル2」を書き込みます。 よろしくお願いします。

  • エクセル ピボットテーブルの集計、並びについて

    ピボットテーブルをほとんど使ったことがなく困っています。 列タイトルに05売上、06売上、07売上、県名とあり県毎に合計、平均したいのですが、 ピボットテーブルを使用すると売上が縦に並んでしまいえます。 どうにか一括して横列の並びに出来ないでしょうか? 集計についても質問があるのですが、行に県名を追加し 値に集計フィールドの挿入で、COUNTIF(05売上,"<>0") とし売上0以外の県ごとの件数を集計したいのですができません。 ご存知の方回答お願いします。