• ベストアンサー

アクセス フィールドの追加

今アクセスでデータベースを作っている、超初心者です。 クエリであるフィールドを追加したいのですが、そのフィールドの作り方がわからないので質問させていただきます。 まず、下記のようなテーブルがあるとします。(データの型は共にテキスト型です) 【code】  【国名】  111    日本  111    日本   111    中国  111    中国   121    アメリカ  121    アメリカ  123    日本  123    日本  123    中国 これに【newcode】という名のフィールドを追加したいのです。 例としては 【code】  【国名】    【newcode】  111    日本     111_日本  111    日本     111_日本  111    中国     111_中国  111    中国     111_中国  121    アメリカ   121_アメリカ  121    アメリカ   121_アメリカ  123    日本     123_日本  123    日本     123_日本  123    中国     123_中国 こんな感じで作りたいのですが、どのようにすればいいでしょう? どなたかお願いします。

  • rie78
  • お礼率87% (426/488)

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.3

クエリでワンステップで作る方法はなさそうです。 #1の回答とは別の方法をとると、 クエリで、newcode: [code] & "_" & [国名]という式のフィールドを追加して、テーブル作成クエリに変更すると、お望みの内容の新規テーブルが出来ます。 VBAでワンステップでやった気分になりたいなら、下記で出来ると思います。元のテーブルを書き換えますので、バックアップを取ってから試行してください。 '☆標準モジュール Sub test() Dim mySQL As String mySQL = "ALTER TABLE Table1 ADD COLUMN newcode TEXT(255);" DoCmd.RunSQL mySQL mySQL = "UPDATE Table1 SET Table1.newcode = 'code' & '_' & '国名';" DoCmd.RunSQL mySQL End Sub

rie78
質問者

お礼

モジュールまで教えていただきありがとうございました。 結果的にクエリでnewcode: [code] & "_" & [国名]を追加したらできました。 いずれ、教えていただいたモジュールも利用してやってみたいと思います。

その他の回答 (2)

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

(1)テーブルにデータ作成段階でフィールドを新設するときの話か、 (2)既製テーブルには既にそのフィールドがあり、クエリの結果でnewcodeフィールドのデータを、クエリの結果に表示したいのか。 どちらも質問する程度の問題でなく、後者ならデザインビューでテーブルフィールド表示部からそのフィールドを新しい列にD&Dして、「表示」行にチェックを入れるでよいのでは。 勘違いしてるかな?

rie78
質問者

お礼

質問の意味が不明の中アドバイスありがとうございました。

  • toku8
  • ベストアンサー率26% (64/246)
回答No.1

まず テーブル(デザイン画面で) へ newcode を追加します 次に 更新クェリーを新作して 【newcode】のところへは [code] & "_" & [国名] と 指定します

rie78
質問者

お礼

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

関連するQ&A

  • アクセスのパラメータとは?

    以前に同じようなテーブルを表示して、【newcode】の作り方を質問した物です。 ※データの型は共にテキスト型です 【code】  【国名】  111    日本  111    日本   111    中国  111    中国   121    アメリカ  121    アメリカ  123    日本  123    日本  123    中国 これにクエリの演算フィールドで【newcode: [code] & "_" & [国名]】と入力し、【newcode】という名のフィールドを追加しました。 【code】  【国名】    【newcode】  111    日本     111_日本  111    日本     111_日本  111    中国     111_中国  111    中国     111_中国  121    アメリカ   121_アメリカ  121    アメリカ   121_アメリカ  123    日本     123_日本  123    日本     123_日本  123    中国     123_中国 けれど、この【newcode】のフィールドはキーとしてしか使わないので、実際には表示させたくないと思い、デザインビューの表示のチェックをはずすと『パラメータを入力してください』というウィンドウが出てしまいます。 パラメータとはなんぞや????とも思いますし、表示させずにいる方法をご存知の方がいましたら、どうか教えて下さい。お願いします。 できれば、テーブル自体はいじりたくないのでクエリでやりたいと思いますので、お願いします。

  • ACCESSデータベースにフィールドを追加したい

    ACCESSのデータベースのテーブルにフィールドを追加したい? ACCESS初心者です。 ACCESS2000で作成したデータベースのテーブルにフィールドを追加したいのですが どうすればいいですか? 例: テーブル:TABLE  フィールド   KT_ID:Short KT_NAME:Text(100) KT_ADDRESS1:TEXT(100) KT_ADDRESS2:TEXT(100) KT_CODE:Short これに テーブル:TABLE  フィールド   KT_ID:Short KT_NAME:Text(100) KT_ADDRESS1:TEXT(100) KT_ADDRESS2:TEXT(100) KT_CODE:Short KT_COMMENT:TEXT(100) →これを追加したいのですが? よろしくお願いします。

  • Access2000の追加クエリについて教えてください

    元Excelのデータをインポートして、Accessのテーブルデータに追加クエリで追加するとき、型変換エラーとなります。 このときテーブルのデザインで一つずつ数値型とテキスト型をあわせています。ただフィールド数が多いとかなり不便です。 何かよい方法はありますか?

  • アクセスのDsum関数の使い方

    これまでに何度となく同じような質問を出している者です。すみません・・・。以前は下記の【newcode】を【code】と【国名】から作成する方法を質問しその問題は解消しました。 【code】  【国名】    【newcode】  111    日本     111_日本  111    日本     111_日本  111    中国     111_中国  111    中国     111_中国  121    アメリカ   121_アメリカ  121    アメリカ   121_アメリカ  123    日本     123_日本  123    日本     123_日本  123    中国     123_中国 しかし、この表にはまだもう一つの作業が残っているのです。それは、下記のように 【code】  【国名】   【A1】 【A1合計】  111    日本     10    30  111    日本     20    30  111    中国     25    40  111    中国     15    40  121    アメリカ   22    37  121    アメリカ   25    37  123    日本     20    35  123    日本     15    35  123    中国     30    30 【A1】が追加されているのです。 そして、【A1合計】として【code】と【国名】が同じものを『DSum関数』を使用してレコードの合計値を出すにはどうしたらいいでしょうか? 以前は、上にあった【newcode】を使い、『DSum("[A1]","[シート名]","[newcode]='" & [newcode] & "'")』といった演算でやっていたんですが・・・。条件を『[code]=[code]and[国名]=[国名]』といった感じでやりたいのです。 すみませんが、教えていただけるとありがたいです。

  • Access2002でホームへフィールド追加

    Access2002を使っています。テーブルにフィールドを1つ追加したのですが、そのフィールドをフォーム(テーブルそのまま)に追加できません。 またフォームを作り直すのは面倒です。何とかならないものでしょうか。

  • ACCESSデータベースにVB6(DAO)でフィールドを追加したい

    既存のACCESSデータベースのテーブルにVB6のDAOでフィールドを追加したいのですが、テーブル名.Fields.Append とかいうメソッドがあるようですが、使用方法がわからずフィールドを追加が出来ません。 具体的には、フィールド名"電話番号"で、文字型で固定文字数13を追加したいのです。 どうぞよろしくお願いします。

  • Accessでフィールドを追加したい

    Accessであるシステムを作成しているのですが、いくつか不明な点があるのでアドバイスをお願いします。 「社員情報」をいうテーブルがあり、初期の状態で「社員番号」「氏名」「入社年月日」「年齢」とフィールドがあります。 このテーブルを基にフォーム「社員情報入力」も作ってあります。 ここで新たに、社員情報テーブルに「生年月日」「連絡先」など、フィールドを追加したいのですが・・・以下のような条件があるので、どうしていいのかわからず困っています。 【条件】 ・フィールド追加用のフォーム(新規フィールド名を入力させる)を作り、そこからフィールドを追加させる。(直接テーブルはいじらせないため) ・追加したフィールドを社員情報入力フォームに反映(表示)させたい ・追加したフィールドをレポートにも反映(表示)させたい このような条件でフィールドの追加は無理なのでしょうか? アドバイスや参考になるページを教えてください。 よろしくお願いします。

  • access2010 テーブルのフィルタでエラー

    access2010を使用していますがテーブル・クエリ共に日付/時刻型のフィールドでソートすると 指定した`|`は正しくありません。 と出てソートが出来ません。 テキスト型は問題なくできます。 新規にデータベースのファイルを作成しても同じエラーがでます。 何か原因があるのでしょうか?

  • Access 追加クエリについて

    こんにちは! Accessについて、質問させていただきます。 追加クエリを5つ作成したのですが、『複数値を持つフィールドをINSERT INTO クエリに含めることはできません』とエラーが出ます。 調べたところ、ルックアップウィザードに追加クエリが使用できないものと思われます。 追加クエリの元になるテーブルには、ルックアップウィザードを適用しているフィールド(他のテーブルから値を取得している)が複数あります(フィールド名:取次名・担当者名・形態)。 ちなみに、5つの追加クエリのうち1つはルックアップウィザードのフィールド(値を手入力で設定)も1つありますが正常に作動しています。 何か解決策はありますでしょうか? よろしくお願いします!!

  • アクセスの追加クエリで、

    アクセスの追加クエリで、テーブルにデータを追加したいのですが、追加するデータと追加されるデータを照らし合わせて、完全に一致しない物だけを追加するにはどうしたら良いですか? 6フィールドあり、全てが一致するデータはありませんが、5フィールドだと一致してしまう物があります。 誰か教えて下さい。よろしくお願いします。

専門家に質問してみよう