Accessテーブルへのデータ取り込み方法
- Accessテーブルにデータを取り込む際の方法を教えてください。
- テーブル1のデータを名前を含むテーブルに書き込む方法を教えてください。
- 別のテーブルを書き込む場合にも同じ方法が使えるのでしょうか。
- ベストアンサー
Access テーブルにデータを取り込む際 下記の条件でやるには どうしたらよいでしょうか?
テーブル名「テーブル1」で 中身が フィールド名1,値1 フィールド名2,値2 フィールド名3,値3 というデータがあったとします。 このデータを 名前,フィールド名1,フィールド名2,フィールド名3 というフィールドをもったテーブルに1レコードとして書き込んで行きたいのです。 簡単な方法あるでしょうか? 結果として 名前,フィールド名1,フィールド名2,フィールド名3 テーブル1,値1,値2,値3 というレコードになります。 次に2レコード目は また別の「テーブル2」を書き込みます。 よろしくお願いします。
- G3MEN
- お礼率43% (92/210)
- その他([技術者向] コンピューター)
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> テーブル1は,3レコードではありません。 質問文にはフィールド1~3が示されていたので「3レコードのみか?」とお尋ねしたのですが・・・。 そうですか、4レコードですか。 (というと、いやいや実は電話番号やメールアドレスもありまして・・・、と続いたり? -_-#) データの例示により、質問は「1名に関する情報が1テーブルですか?」とします。 ・指定されたテーブルに複数の個人はありますか? ・格納順は一定ですか? ・同じ情報が2回(以上)出てきますか? ならばVBAでコーディングですね。 準備.テーブル名一覧を作成し、手動で良いのでテーブル名を格納します。(TXTファイルでも可) 1.テーブル名一覧、出力するレコードを格納するテーブルを開く。 2.テーブル名一覧を読み、以下処理を実行。(ループ1) 3. 指定されたテーブルを開く。 4. 出力するレコードを作成する。 5. 指定されたテーブルを読み、以下ループ処理を実行(ループ2) 6. 指定されたテーブルから1レコード読む。 7. 読んだ内容により、出力するレコードの該当列に格納する。 8. ループ2の終わり(レコードが有る間) 9. 出力するレコードを登録する。 10. 指定されたテーブルを閉じる。 11.ループ1の終わり(レコードが有る間) 12.テーブル名一覧、出力するレコードを格納するテーブルを閉じる。 「指定されたテーブルに複数の個人があります」なら 7.で判断し、9.4.を行えば良いです。 「格納順は一定ではありません」なら 7.の格納を工夫してください。 「同じ情報が2回(以上)出てきます」なら やはり7.の格納を工夫してください。
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
そうですか。40項目ですか。 テーブル(=対象者数)はいくつ位あるのでしょうか? 項目数、位置が同じ、という前提で、 対象者が10件程度なら、以下の方法もあり、かな? 1.EXCELに1テーブル分読み込む(または貼り付け) このとき、一名分がすべてA列ですね。 2.データ全体をコピー。(クリップボードへの格納) 3.別シート(先の例の出力テーブルに相当)を開き 「形式を選択して貼り付け」-「行列を入れ替える」 4.テーブルがまだあれば1へ戻る。 5.出来上がった別シート(先の例の出力テーブルに相当)を ACCESSのテーブルにコピー&ペースト。
- bin-chan
- ベストアンサー率33% (1403/4213)
テーブル1が3レコードのみ、なら話は別ですが、 レコードを一行にまとめる条件が無い様に思います。 「クロス集計クエリ」が近いように思いますが、最低3フィールド必要です。 値の具体例をあげていただくことは可能ですか?
補足
ご回答ありがとうございます。 補足いたします。 テーブル1は,3レコードではありません。 私,クロス集計クエリがピンときませんので,もう少し具体例を挙げます。 たとえば 「テーブル1」の中身が 名前,Aさん 性別,男 年齢,25 住所,東京 であったとします。 この元データは,「テーブル2」「テーブル3」・・・とたくさんあります。 次に格納先のテーブル, テーブル名を「台帳テーブル」で, フィールドは, ID,名前,性別,年齢,住所 となっていて,それぞれ下記のようにデータを格納します。 ID,名前,性別,年齢,住所 テーブル1,Aさん,男,25,東京 格納したら次に「テーブル2」を見に行きそのデータを書き込みます。 次に「テーブル3」と次々にデータを書き込みに行くようなイメージです。
関連するQ&A
- Accessで2つのテーブルのデータの整合性を確認したい
Accessで2つのテーブルのデータの整合性を確認したいのですが、よい方法を教えていただけませんか? 状況は以下のとおりです。 Aテーブル a b c d e 1 111 222 333 444 555 2 666 777 888 999 100 3 110 112 113 114 115 Bテーブル a b c d e 1 111 222 333 444 555 2 666 777 000 999 100 3 110 112 300 400 500 ・AテーブルとBテーブルがあり、それぞれのテーブルのa、b、dフィールドのみを対象に、その値がAテーブルとBテーブルとで等しいかどうか調べたい。 (c、eフィールドの値が異なっていても、a、b、dフィールドの値が同じであればそのレコードはOKとし、a、b、dフィールドで1つでも異なる値があればNGとし、抽出したい。 例えば、Bテーブルの1、2レコードはOKだが、3レコードはNG) ・それぞれのテーブルのaフィールドが主キーになっている。 うまく説明できず、わかりにくいかもしれませんが、よろしくお願いします。
- 締切済み
- オフィス系ソフト
- テーブル内のレコードを別のテーブルに移す良い方法を教えてください
SQLサーバー7.0(ADO)とAccess97のVBAでアプリケーションの開発を行っております。SQLサーバー7.0(サーバー側)にあるテーブルの中身(レコード全件)をAccess97(ローカル)にあるテーブル(テーブル名とその中のフィールド名は全く同じだが中身はからっぽ)にまとめて移しかえる良い方法があれば教えてください。いま私はフォームオープンイベントでフィールドとレコードをループでまわして移しかえているのですが、テーブル数も多いため記述も長くなりますし、何よりもパフォーマンスが良くありません。テーブル単位で中身を別のテーブルに移す方法などがあれば是非教えてください。 (例) SQLサーバー(ホスト側)---テーブル名「T_社員マスター」フィールド数100項目、レコード数500件 ↓ ↓ フォームオープン時にそのまま移しかえたい ↓ ↓ Access97(端末側)-------テーブル名「T_社員マスター」フィールド数100項目、レコード数0件 よろしくお願いします。
- 締切済み
- その他(データベース)
- アクセスでデータを足すには、また、引くには?
アクセスを使用していて、テーブルAにあるデータに、テーブルBにあるデータを足したいと思っています。 それぞれデータは”名前”のようなフィールドで、ひとつにまとめたいのですがクエリーでの表現が分かりません。SQLビューのようなやり方でも構いませんので、是非お願い致します。 また、もう一つですが、テーブルAにあるデータに、テーブルBにあるデータを引きたい思っています。こちらも”名前”のようなフィールドで、同じレコードは省きたいと思っております。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Access2003 複雑な条件のデータ抽出
☆1つのテーブルで、フィールド[A]~[C]があり、文字および英数字のデータが混在しています。 (ただし、フィールド[C]には、空欄(Null)になっている場合があります) =========================================================== (テーブル(1)) No [A] [B] [C] [D] [E] [F] 1 111 X あ 2 222 X か 3 333 X さ 4 111 Y た 5 222 Y (Null) 6 333 Y は 7 222 Z ま 8 333 Z や 9 111 Z ら =========================================================== [課題] (1) テーブル(1)のフィールド[A]の値を参照し、「111」の場合は、 フィールド[C]の値を[D]へ抽出する([B]でグループ化) (2) 同様に、フィールド[A]の値を参照し、「222」の場合は、 フィールド[C]の値を[E]へ抽出する([B]でグループ化) (3) 同様に、フィールド[A]の値を参照し、「333」の場合は、 フィールド[C]の値を[F]へ抽出する([B]でグループ化) (4) 新規クエリにて、上記課題(1)~(3)の条件を指定して実行すると 以下の抽出結果が表示される =========================================================== [抽出結果] (テーブル(2)) No [B] [D] [E] [F] 1 X あ か さ 2 Y た (Null) は 3 Z ら ま や =========================================================== 別々のレコードにあるフィールド[C]の値を、条件に従い テーブル(2)のように1つのレコードにまとめたいのです。 大変恐縮ですが、私はSQLが書けないので、フィールド欄へ関数式を 入力して条件を指定しております。 できましたら、各フィールドへ入力する関数式を教えていただけると助かります。 また、関数だけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- 2つのテーブルのデータまとめて取得したい
SQL Server2008を使用しているのですが、どうのようにデータを取得すれば良いか わからず困っております。 例えば、 名前は違うが全く同じテーブルが2つあるとします。 テーブルAには6レコード、テーブルBには3レコードのデータが存在するとします。 この時、単純に6レコード+3レコードの 9レコード分をひとつのテーブルとしてデータを 取得するにはどのようなSQL文を書けばよいでしょうか? SELECT * FROM テーブルA, テーブルBでは18レコードもデータを取得してしまい、且つ フィールド数も増加してしまいます。 宜しくお願いいたします。
- ベストアンサー
- SQL Server
- アクセスで、テーブルのデータが更新できない
アクセスで、テーブルのデータが更新できない accessについての質問なのですが、テーブルの中のデータを(フォーム等を使わず)テーブルを開いて直接データを書き換えました。 フィールド名などの変更でなく、テーブルの中身の更新です。 そのあと、数日間はその変更された内容が保持されていたのですが、1週間もたたないうちに、またもとに戻っていたのです。(3回以上、同じことがありました) これは何か原因があるのでしょうか。それとも、このaccess自体が何かおかしくなっているのでしょうか??
- 締切済み
- Windows系OS
- 同一テーブルのデータを検索条件に使いたい
SQLServer2008を使用しています。 下記のように一つの売上データが伝票番号をキーとして一つのテーブルに複数レコードに分けて登録されています。 伝票番号 分類 区分 データ 1 1 1 2500 1 2 1 0 1 3 1 A123 2 1 1 9800 2 2 2 0 2 3 1 0 分類が1だと売上金額、2だと区分が1なら現金、2ならカード支払いなどとフィールド内の値によって意味分けされています。 上記例ですと伝票番号1は顧客ID A123の客が現金で2500円、 伝票番号2は顧客ID 0(フリー客)客がカードで9800円支払ったデータということになります。 上記のようなデータ構造で現金の売上のみ、カード売上のみの集計などを行いたいのですが、 同一テーブル内の別レコードの値を条件に検索集計をSQL文だけで行うことは可能でしょうか? 可能でしたらどのようなSQLを使用すれば良いのか教えていただけると幸いです。 よろしくお願い致します。
- ベストアンサー
- SQL Server
- Accessで、複数のテーブルからデータを繋げたい
■テーブル1 2011年データ 行:名前 列:年月日 201101~201112 行:商品名 値:件数 ■テーブル2 2010年データ 行:名前 列:年月日 201001~201012 行:商品名 値:件数 となっております。 列を伸ばして、201001~201112までのデータにしたいのですが クエリの組み方が不明です。 ネットでサーチはしたのですが、該当のものが出てこず、良ければ教えて下さい!
- ベストアンサー
- その他MS Office製品
- ACCESS テーブルのレコードを全て移動
ACCESS VBA を使って処理を行っております。 原因が分からず困っております。 結果テーブル フィールド名 monoID,monona,inkosuu,outkosuu,nowkosuu 取込テーブル フィールド名 物ID,物名,現在個数 今までフォームに表示させて一件づつ手入力にて処理しておりましたが、複数人で作業できるように修正している所です。 ○各々がExcelに収集したデータをCSVにて「取込テーブル」にインポート ↓ ○「取込テーブル」のレコードを集約しデータ整合(ここまでは出来ています) ↓ ○「取込テーブル」の全レコードを「結果テーブル」にインポート DIM SQL001 AS String SQL001 = "INSERT INTO 結果テーブル (monoID,monona,nowkosuu) SELECT (取込テーブル.物ID,取込テーブル.物名,取込テーブル.現在個数) FROM 取込テーブル CurrentDb.Execute SQL001 これで動作させるとエラーになります。 ただ、実験で SQL001 = "INSERT INTO 結果テーブル (monoID) SELECT (取込テーブル.物ID) FROM 取込テーブル の様に一つのフィールドだけにすると全てのレコードをインポートすることが出来ます。 何か凡ミスの様な気もするのですが、取込テーブルをレコードセットとし1件ずつインポートする方法しか無いのでしょうか?
- ベストアンサー
- その他(データベース)
- Access テーブルの標題の使用方法
おせわになります。 テーブルのフィールドプロパティの「標題」で、フィールド名の表示を変えられます。 この標題でフィールド名を変える必要性がわかりません。 ただ単に、テーブルのフィールド名を直接変更してもテーブル、クエリ、フォームおよびレポートのレコード名も自動的に変わります。 結果は同じように思われます。 この「標題」はどういう場合に使用するのでしょうか。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
補足
> (というと、いやいや実は電話番号やメールアドレスもありまして・・・、と続いたり? -_-#) 実はそうなんです。元となるテーブルのレコード数は,もっとたくさんあります。だいたい40レコードくらい。 おっしゃるとおりで,1名に関する情報が1テーブルというイメージです。 詳しい説明ありがとうございます。 手順を具体的に追ってVBAでコーディングしてやってみます。 当方,プログラム初心者なので,どこまでできるかわからないのですが,VBAの参考書片手にがんばってみたいと思います。