• ベストアンサー

ACCESSで同じテーブルにインポートするには

ACCESSで、商品番号を検索するためのものをつくりました。 フォームに検索欄を作って番号を入れれば検索できるようにしたのですが、日々ACCESSに入力していくのではなく、日々エクセルから作ったそのACCESSファイルのテーブルに累積するかたちでインポートしたいのですがどうやればいいのでしょうか。

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>日々エクセルから作ったそのACCESSファイルのテーブルに累積するかたちでインポートしたい 1.インポート定義を作って同じテーブルにインポートするマクロを作るかVBを使ってインポートさせるようにする。 2.ExcelのシートをテーブルにリンクしてExcelをテーブルとして使い日々の入力はリンクしたExcelのシートに追加する。そのテーブルを元に検索する。 1の方が良いと思いますが取りあえずインポートするマクロを作ってみてはいかがですか。 マクロでワークシート変換を選びインポートして保存するテーブル名を入れインポートするExcelのファイルをフルパスで指定して作れば簡単に出来ます。 分からないところがあれば補足でも質問でもしていただければ。

donadona
質問者

補足

ありがとうございます!インポートする側のエクセルに累積しておいてそれを都度Accessに上書きというかんじになるのでしょうか。

その他の回答 (2)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.3

>インポートする側のエクセルに累積しておいてそれを都度Accessに上書きというかんじになるのでしょうか。 テーブルにExcelのシートをリンクするとそのシート自体をテーブルとして使えるのでそのシートに追加していくだけです。リンクしてもAccess自体にはテーブルはできません。AccessからExcelのシートを使っているだけなので。 Access上にテーブルをExcelからテーブルを作りたければExcelのシートを1度インポートしてテーブルを作っておき追加用としてExcelシートをテーブルにリンクさせておき追加用のシートにデータを入力していきます。追加用Excelシートのデータをテーブルに追加するクエリを作り追加したい時にそのクエリを実行すれば追加用Excelシートのデータをテーブルに追加されていきます。テーブル追加クエリをダブルクリックすればすぐ追加できてしまいます。 Excelシートをテーブルにリンクしてあればテーブル追加クエリの作成も簡単です。

donadona
質問者

お礼

ありがとうございます!!できました。

noname#79209
noname#79209
回答No.1

EXCELからインポートする機能がありますのでこれを使います。 (多分ご存じでしょうが...) ただ、 1.自動化したいのでその方法を知りたいのか、 2.既にデータが入っているテーブルにインポートしたときに上書きされてしまうのかを知りたい。 が質問からは判断できません。 2.ならば実際にやってみれば判ります。

donadona
質問者

お礼

ご回答ありがとうございます。 2です。やろうとすると上書きされてしまうのです。上書きされずに同じテーブルにインポートしていくにはどうしたらいいのでしょうか。

関連するQ&A

  • Access マスターテーブル

    Accessについて。 テーブル1がID(主キー)、注文日、商品番号、納期など入力欄の項目で、テーブル2が商品番号(主キー)、商品名で商品のマスターテーブルになっています。 商品番号を入力すれば商品名が表示されるようにクエリを作成し、そのクエリからフォームを作っています。 ここまでは良いのですが、新しい商品番号を入力したときに限りフォームから商品名も入力する事でマスターテーブルに登録されるようにしたいのですが、どうすれば良いでしょうか?

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

  • アクセスにエクセルの2つのファイルを1つのテーブルにインポートしたい。

    アクセスのテーブルにエクセルのファイルをインポートした後、別のエクセルのファイルをインポートすると前のファイルのデータが消えてしまいます。  前のファイルデータの次につなげて2番目のデータファイルをインポートすることはできますか? OS WIN Me オフィス2002を使用しています。 どうかよろしくお願いします。

  • 入力フォームからエクセルデータをアクセスにインポートしたい

    入力フォームからエクセルデータをアクセスにインポートしたいと考えています。 入力フォームに、参照ボタンをつけて対象となるエクセルファイルを指定することはできましたが、その後、そのデータをアクセスのテーブルにインポートしたいと考えています。可能でしょうか。 宜しくお願い致します。 *********入力フォーム***************** <form method="POST" action="test.asp"> <input type="file" name="excel"> <input type="submit" value="送信"> </form> *********test.asp***************************************** *******ACCESSに接続まではできるが、エクセルのデータを testテーブルにインポートする方法がわからない。 また、インポートする前にtestテーブルのデータを 全て削除したいと考えています。****** Set db=Server.CreateObject("ADODB.Connection") db.Provider = "Microsoft.Jet.OLEDB.4.0" db.ConnectionString = Server.MapPath("test.mdb") db.open

  • エクセルからアクセスへのインポートについて

    エクセルにある複数のファイルをアクセスへインポートしようとしています。エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたいと考えています。一つ一つやればいいのですが、マクロなどを使って、自動的にインポートする方法はないのでしょうか?何卒よろしくお願いいたします。

  • Access アクセスについて

    Accessでデータベースを作っています。 テーブル、クエリは下記のようになっており、リレーションシップで紐付けしてあります。 クエリからフォームを作成し、商品番号を入力することでマスタテーブルに登録されていれば自動で商品名等の情報が表示されるようになっています。(フォーム1) 商品番号を入力しカーソルが移動した時、マスタテーブルに該当する項目がなかった場合、マスタテーブルから作成した新規追加用のフォームが表示されるようになっています。(サブフォームではありません) 新規追加用フォームに商品名を入力し、閉じてもフォーム1の商品名の欄に反映されません。新規追加用フォームを閉じる時にVBAで”Requery”,”Refresh”もやってみましたがダメでした。商品番号を入力し直すと表示されます。 どうすれば自動で商品名が表示されるようになるか教えてください。 テーブル1(入力用) 1.ID(主キー) 2.商品番号 3.etc. テーブル2(マスタテーブル) 1.商品番号(主キー) 2.商品名 3.etc. クエリ 1.ID(テーブル1) 2.商品番号(テーブル1) 3.商品名(テーブル2) 4.etc.(テーブル2) 5.etc.(テーブル1)

  • accessで2つのテーブルをクエリ画面で表示する

    access初心者です。 2つのテーブルの情報を1つのクエリに表示したいです。 ・テーブル1 主:入荷通し番号 商品名A 売却通し番号 ・テーブル2 (エクセルでその日の売却結果が自動インポートされる様になっている) 主:売却通し番号  商品名B 売却値 これに対し、クエリには ・商品名A ・売却通し番号 ・売却値 のフィールドを用意しています。 商品を入荷した時にテーブル1画面で入荷通し番号と商品名を入力し (この段階では売却通し番号は空欄)、 商品が売れたら、テーブル2を参照して クエリ画面の売れた商品に対して売却通し番号を入力する事で、 テーブル1の売却通し番号に番号が入力され、 クエリ画面の同じレコードに売却値が表示される形にしたいです。 問題なのが、テーブル1の商品名Aとテーブル2の商品名Bは 入荷元とエクセルインポート元で同じ名前が使われていない状態です。 (商品名A:あいう商店チョコ、商品名B:チョコレート(あいう商店)みたいに) ですので商品名は人間の目で判断する為のもので、 accessでの自動紐付けが困難です。 サイトで調べてもリレーションの解説画面では 情報が入力されてる2つのテーブルを結合するものだったり、 自身で色々パラメータをいじってもうまく反映されずに 対応が困難な状況になっています。 access初心者でもしかしたら検討違いの事をしているかもしれませんが、 解決方法が分かる方がいましたら教えて下さい。

  • アクセス インポートファイルの再インポートを防ぐ

    アクセス2003を使用しています。 アクセスにて、エクセルファイルをインポートしています。 既にインポートしたエクセルファイルを再度インポートしないように、再取込みを行おうとした場合、 「既に取り込んでいるファイルです」とエラーメッセージを表示させて、取込み防止を行おうとしています。 クエリの重複チェックを設定していたのですが、行き詰ってしまいました。 アクセスのテーブル先頭フィールドの日付データ(yyyy/mm/dd)でチェックしたいと思っています。 教えてください。よろしくおねがいいたします。

  • Accessへの再インポート Access2007 

    AccessにExcelで入力した書式を再度、インポートしたいのですがどのようにすれば良いかご教授下さい。 現在、卒業論文を制作しております。 昨年度、Excelにて集計したデータと同様の項目により、 データを追加収集し、アクセスのフォームにて検索システムを作成しようとしています。 出来れば、昨年度のAccessと同様の形式により操作出来るように設定したいので宜しくお願い致します。 使用環境 Windows xp access2007

  • Accessへのインポートについて

    ExcelからAccessへデータをインポートするとどうしても文字列で09と表示しているところがインポートエラーになり空欄になってしまいます。前に0(ゼロ)がついているからだと思うのですが、インポート後テーブルでデータ形式を変更し入力すればいいんですが余りにも量が多い為、正常にインポートできるようにする方法はないでしょうか?