![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
はじめまして。アクセス初心者です。
エクセルからアクセスへデータ転送したいのですが、エクセル側のデータを更新するのは、私では無く、ネットワークで繋がった会社の別の人が更新します。ですので、エクセル側のデータが更新されると、エクセルでマクロを実行し、アクセスのテーブルへデータが転送される様にしたいです。
又、データを転送する場合に、アクセスのあるテーブルのデータを全て消去して転送するパターンと、テーブルのデータの最後に追加してデータを転送させたい場合と2種類あります。
だれか教えて下さい。よろしくお願いします。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
えーとどこから説明しましょうか。
SQL で調べてもらえば分かると思いますが、SQLとはデータベース問い合わせ言語です。
select * From 商品マスタ- は商品マスターのすべての項目という意味です
Where 以降は抽出条件になります。
で結局商品マスターの商品コードがShohinCDと同じものを抽出しますという意味になります。
例えばRange("B1")に商品コードが入っていれば(数値型)
select * from 商品マスター where 商品コード=" & Range("B1").value & ";"
という文になります。
このDBに対する命令をAccess(Jet)に送るわけです。
商品TBL.Open DBsqlstr, DB接続, , adLockOptimistic
でその結果が商品TBLに入ります。
商品TBLに対する更新は
商品TBL.Field("商品単価")=range("C1").value
で商品単価という項目名(列名)にC1の値が入ります。
すべての項目に値をセットしたら
商品TBL.Update でDBに書込みされます。
新規のレコードを追加するときは値のセットの前に
商品TBL.Addnew とします。
最後にrecordset と connectionをCloseします。
以上が更新の手順です。
難しいでしょうか?
この回答への補足
本当に何回もすいませんが、
生産数という名前のアクセスの、品番というテーブルの、品番というフィールドに,エクセル側のA列を、数量というフィールドに B列を送りたい場合にはどうしたらいいですか?エクセルのファイル名は生産です。申し訳ありませんが、よろしくお願いします。
No.4
- 回答日時:
どこかで同じ質問に答えたことがあるような気がしますが。
ExcelからAccessにデータを送るにはADOを使います。
マクロになりますが
DB接続str=Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\○○\×××.accdb’
Set DB接続 = New ADODB.Connection
Set 商品TBL = New ADODB.Recordset
DB接続.Open (DB接続str)
DBsqlstr = "select * from 商品マスター where 商品コード=" & ShohinCD & ";"
商品TBL.Open DBsqlstr, DB接続, , adLockOptimistic
商品TBLというレコードセットに対して追加、修正を行って更新することができます。
この回答への補足
初心者ができる物ではなさそうですね。
これは、エクセルのVBAでこの様に書けばいいのですか?
商品TBLの部分はデータを受けたいテーブル名を書けばいいですか?
商品マスターは、アクセスのファイルの名前で、商品コードは何を指していますか?
質問ばかりですいません。よろしくお願いします。
No.3
- 回答日時:
すみません。
当方2007所有しておらず、解説ができませんm(_ _)m
下記リンクを参照ください。。。
http://office.microsoft.com/ja-jp/access/HA01224 …
No.2
- 回答日時:
こんばんは。
エクセルがアクセスのテーブルのような記述の場合(セル連結や
行に表題など記載されていない)ですが、インポート処理より
そのエクセルシート自体をアクセスのリンクテーブルとして
設定したほうが便利ではないでしょうか?(開いた時点で最新データ)
やり方は各テーブルが表示されている所を右クリック。
サブウィンドウのテーブルのリンクをクリック。
ファイルの種類をエクセルにし、ネットワークの該当ファイルを
見つけてダブルクリック。
どのシートか選択し次へ。あとは指示に従って進めて下さい。
出来あがると→マークのついたリンクファイルが出来あがりです。
あとは通常のアクセスのテーブルと更新クエリや選択クエリ等
普通に使えます。
使わなくなったら右クリックで削除しても、リンクが切れるだけで
基データファイル(エクセルファイル)は消えません。
お試しを。。
![「エクセルからアクセスへデータ転送」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/9/1309385_5497ed8c4835e/M.jpg)
この回答への補足
アクセス2007を使用していますが、テーブルが表示されている所で右クリックをしてもテーブルのリンクが有りません。間違っていたらごめんなさい。
開く、デザインビュー、インポート、エクスポート・・・とあります。
No.1
- 回答日時:
「エクセルから」「アクセスへ送る」よりも
「アクセスが」「エクセルに取りに行く」の方が簡単かも。
「テーブルのインポート」か「エクセルデータへのリンクテーブル」か
どちらかになるでしょうね。
実際には「アクセスで使うテーブル」と、(上記のテーブル)は別にしておくこと。
> 又、データを転送する場合に、アクセスのあるテーブルのデータを全て消去して転送するパターンと、テーブルのデータの最後に追加してデータを転送させたい場合と2種類あります。
テーブルは「コピー」後、貼り付けする際に「テーブルへの追加」指定が可能。
そうすれば「まずアクセスで使うテーブルを空にしてから始める」か
「テーブルはそのままで始める」かで対応できます。
この回答への補足
アクセスがエクセルに取りに行く方法は理解しました。
エクセルからアクセスへ送るのは難しいですか?
アクセスは私のパソコンにしかインストールしていないので、
他の人がエクセルのデータを更新したらその都度、エクセル側からデータを送ってもらえると大変便利なのですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSにEXCELからインポートし...
-
アクセス2003 複数の列に...
-
Access2010でVBAでのインポート
-
アクセスの容量がなぜか増加します
-
Excelで入力したデータをAccess...
-
Access2000の追加クエリについ...
-
Access(アクセス)でのインポー...
-
Access テーブルをデータシー...
-
access 2003 1万件以上がカット...
-
日付型のフィールドに空白を入...
-
差込印刷での全角表示について...
-
アクセスのエラー「クエリには...
-
SQL文で パラメータが少なすぎ...
-
アクセスで追加した項目に全て...
-
2つのテーブルに共通するレコ...
-
ACCESS クエリの抽出条件に他の...
-
ACCESS 「パラメータの入力」...
-
Access クエリで、レコードの無...
-
クエリ上でフィールド名が2つ...
-
Accessで、1つの項目に複数の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSにEXCELからインポートし...
-
Access フォームからの入力結...
-
アクセス2003 複数の列に...
-
Access テーブルをデータシー...
-
ACCESS、フィールドが異なるデ...
-
Access2010でVBAでのインポート
-
アクセスでの、固定長でのテキ...
-
access 2003 1万件以上がカット...
-
アクセスの容量がなぜか増加します
-
アクセス2010にエクセルデータ...
-
ACCESS ユニオンクエリ...
-
Access2016でフォーム内にExcel...
-
ACCESSのテーブルからデータを...
-
エクセルからアクセスへ貼り付...
-
Access(アクセス)でのインポー...
-
エクセルデータをアクセスにす...
-
accessのデータで重複している...
-
リンクされたテーブルのレコー...
-
accessのデータを検索するツー...
-
アクセス 日付を項目追加して取込
おすすめ情報