Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


515 / 2272 ツリー ←次へ | 前へ→

【11336】エクセルからアクセスに取り込み SS 09/12/31(木) 10:23 質問[未読]
【11338】Re:エクセルからアクセスに取り込み よろずや 09/12/31(木) 21:26 発言[未読]
【11339】Re:エクセルからアクセスに取り込み かみちゃん 09/12/31(木) 22:53 発言[未読]
【11340】Re:エクセルからアクセスに取り込み SS 10/1/1(金) 18:41 質問[未読]
【11342】Re:エクセルからアクセスに取り込み 小僧 10/1/5(火) 11:25 発言[未読]

【11336】エクセルからアクセスに取り込み
質問  SS  - 09/12/31(木) 10:23 -

引用なし
パスワード
   下記のようなエクセルファイルがあります。

   A    B    C    D  E  F  G ・・・・
 ファイル日付  番号  氏名  GOT GPT ALP LDH ・・・
1 20091209   12   ○○  12  23  100 23 ・・・
2 20091210   14   ○×  14  13  90 13 ・・・
3 20091210   19   ○△  19  20  120 53 ・・・
・  ・    ・
・  ・    ・

番号は個人別で重複していません。

上記のファイルをアクセステーブルの
採血日   氏名  番号  TP   ZTT  GOT  LDH  ALP・・・
2008/4/4  ○○   12   6.7  211  45  34  54・・・
2009/10/10 ○△   19   5.5  112  12  23  34・・・
 ・     ・
 ・     ・

これに追加取り込みしたいです。エクセルとアクセスの項目の並びが違います。
行の氏名の並びも違います。

アクセステーブルの項目をエクセルに合わせてコピペしか思いつかないのですが
テーブルにコピペってできるんですか?。何か良い方法は?
希望は、自動に行いたいです。

【11338】Re:エクセルからアクセスに取り込み
発言  よろずや  - 09/12/31(木) 21:26 -

引用なし
パスワード
   >これに追加取り込みしたいです。エクセルとアクセスの項目の並びが違います。
>行の氏名の並びも違います。
エクセルファイルの形のまま取り込んで、
その結果を追加するのが分かりやすいかと。

>希望は、自動に行いたいです。
もちろん自動化可能ですよ。

【11339】Re:エクセルからアクセスに取り込み
発言  かみちゃん E-MAIL  - 09/12/31(木) 22:53 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>下記のようなエクセルファイルがあります。
>
>   A    B    C    D  E  F  G ・・・・
> ファイル日付  番号  氏名  GOT GPT ALP LDH ・・・
>1 20091209   12   ○○  12  23  100 23 ・・・

Excelファイルには、タイトル行はないのですか?

>これに追加取り込みしたいです。エクセルとアクセスの項目の並びが違います。

Excelの項目名は常に固定されているのでしょうか?
固定されているならば、Accessへの取り込みは、比較的簡単かと思います。

>アクセステーブルの項目をエクセルに合わせてコピペしか思いつかないのですが
>テーブルにコピペってできるんですか?。何か良い方法は?
>希望は、自動に行いたいです。

自動で行なうことは、可能ですが、そのためには、しっかりと要件を固める必要があります。

ちなみに以下と何か関係がありますか?
http://park7.wakwak.com/~efc21/cgi-bin/exqalounge.cgi?print+200912/09120093.txt

【11340】Re:エクセルからアクセスに取り込み
質問  SS  - 10/1/1(金) 18:41 -

引用なし
パスワード
   お世話になります。
ご指摘については以後気をつけたいと思います。
>Excelファイルには、タイトル行はないのですか?
1行目がタイトル行になります。(意味が違いますか?)

>Excelの項目名は常に固定されているのでしょうか?
常に固定となりますが、項目名、数値の空欄のところもあります。(未検査の所は空欄となります)
または空欄の項目名、数値を詰めた形でも結構です。
下記にて解決すみです。
http://park7.wakwak.com/cgi-bin/sbox/~efc21/exqalounge.cgi?print+200912/09120093.txt


>ちなみに以下と何か関係がありますか?
質問方法がルール違反でした。すみませんでした。

  A        B   C    D   E    F    G   H  I・
1ファイル日付    ID   GOT  GPT  ALP  LDH  GTP    ALB・・・
2 2009/12/14  01        12  112  110  34     3.5  ・・
3 2009/12/14  02   15   23   45  145  45  
4 2009/12/14  03   25   15   44  120          ・・ 
・ 

上記のような項目の固定されたエクセルファイルがあります。(C1にはGOT、H1には必ずTPが入りますが、検査されていないと項目、数値とも空欄です。)
(または、検査されていない空欄を詰めた形でも結構です)

これをアクセステーブル(既存)に
採取日    氏名 患者番号 TP Alb got gpt LDH・・・・
2009/10/1       01   6.0 2.5  45  56  110・・・・


の後に追加したいのですが。
氏名は空欄のままです。エクセルとアクセスの項目名の並びは違います。大文字、小文字の違いもあります。(GOT=got、GPT=gpt等)
アクセスの方は項目名など変更したくありません。

以上ですが、宜しくお願いします。

【11342】Re:エクセルからアクセスに取り込み
発言  小僧  - 10/1/5(火) 11:25 -

引用なし
パスワード
   ▼SS さん、みなさま:
こんにちは。

上のかみちゃんさんのご回答にもありますが

> 自動で行なうことは、可能ですが、そのためには、
> しっかりと要件を固める必要があります。

ここが肝心ですよね。

・Excel起動
・Excelマクロ実行
・Excel終了
・Access起動
・AccessVBAの実行(←ここが知りたい)

という流れで宜しいでしょうか。

それとも
A) ExcelVBAのみで
  Accessのテーブルにデータ登録を行いたい

B) AccessVBAのみでデータの並び替えから
 テーブルへのデータ登録までを行いたい

のどちらかなのでしょうか。


ExcelデータをAccessのテーブルに取り込むには
TransferSpreadsheet メソッドを使用する方法がありますが、
既存のテーブルに取り込む際には
Excelの1行目とAccessのフィールド名を合わせないといけません。

よろずやさんのご回答にある様に
Excelファイルをそのまま取り込み
AccessVBA等を使って
既存テーブルへの取り込みを行うか、

Excelファイルの1行目をAccessテーブルの項目名に書き換えてから
一気に取り込むかが一般的だと思います。
(流れとしては
 Excelファイルのコピー
 コピーしたファイルの1行目書き換え
 コピーしたファイルからAccessへ取り込み
 コピーしたファイルの削除)

515 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078197
(SS)C-BOARD v3.8 is Free