Access VBA質問箱 IV

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

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


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

【4871】2行目からインポートしたい にしもり 05/4/11(月) 16:50 質問[未読]
【4875】Re:2行目からインポートしたい かろちん 05/4/12(火) 1:31 回答[未読]
【4878】Re:2行目からインポートしたい にしもり 05/4/12(火) 9:11 お礼[未読]
【4887】Re:2行目からインポートしたい にしもり 05/4/13(水) 10:03 質問[未読]
【4903】Re:2行目からインポートしたい 小僧 05/4/15(金) 14:58 発言[未読]
【4907】Re:2行目からインポートしたい にしもり 05/4/15(金) 18:38 お礼[未読]

【4871】2行目からインポートしたい
質問  にしもり  - 05/4/11(月) 16:50 -

引用なし
パスワード
     こんにちは。
名古屋名東区.xlsを2行目から、愛知2課という既存のテーブルに追加するようにインポートしたいのですが、次の記述ではタイトル行も入ってしまいます。
どうすれば2行目からインポートできますか?
どなたかご教示ください。

 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, "愛知2課", "C:\DB\名古屋名東区.xls"

【4875】Re:2行目からインポートしたい
回答  かろちん  - 05/4/12(火) 1:31 -

引用なし
パスワード
   >どうすれば2行目からインポートできますか?

HELPをよく読んでみましょう。
2行目からインポートすると言うより1行目をフィールド名として扱えば
良いんですよ。

【4878】Re:2行目からインポートしたい
お礼  にしもり  - 05/4/12(火) 9:11 -

引用なし
パスワード
   ▼かろちん さん:
>2行目からインポートすると言うより1行目をフィールド名として扱えば
>良いんですよ。

ヘルプ等を参考にしつつ、やってみました。
 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, "愛知2課", "C:\DB\名古屋名東区.xls",True にしたらできました。
どうもありがとうございました。

【4887】Re:2行目からインポートしたい
質問  にしもり  - 05/4/13(水) 10:03 -

引用なし
パスワード
   > DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel97, "愛知2課", "C:\DB\名古屋名東区.xls",True にしたらできました。

再々すみませんが、3行目からインポートする必要が出ました。
どうすればよいかわかりません。
どなたかご教示お願いします。

【4903】Re:2行目からインポートしたい
発言  小僧  - 05/4/15(金) 14:58 -

引用なし
パスワード
   ▼にしもり さん:
こんにちは。なかなかレスがつかないようですので…。

>既存のテーブルに追加するようにインポートしたいのですが

>3行目からインポートする必要が出ました。
の2つの条件が重なると、単純に TransferSpreadsheet メソッドが
使用できなくなってしまします。そこで考えられる方法として

1.「手動で」あらかじめエクセルを取り込める形に加工してから
   TransferSpreadsheetにて取り込む。

2.一度TransferSpreadsheetでワークテーブルに全てを取り込んでから、
   必要な分だけを追加クエリにて既存のテーブルに書き込む。

3.Access側からExcelを操作しながら取り込む。

etc...

3は既存のテーブルのフィールド構成のチェックなど、複雑なコードが
必要になる可能性があるので、私であれば2番で行うと思います。

【4907】Re:2行目からインポートしたい
お礼  にしもり  - 05/4/15(金) 18:38 -

引用なし
パスワード
   ▼小僧 さん:
>2つの条件が重なると、単純に TransferSpreadsheet メソッドが
>使用できなくなってしまします。

レスありがとうございます。
また、お手数をおかけしました。
実はわたくしもTransferSpreadsheet メソッドをあきらめ、小僧さんのおっしゃる2番でやることにしておりました。
通常Accessにインポートすることを想定するなら1行のみフィールド名を入れますが、わたくしがAccessにインポートすることを考えない仕事相手が作ったExcelファイルに、2行にわたってフィールド名が入っていたのです。
3行目からと言ったのはそういう理由でした。
みなさん、仕事をするときは相手の身になって作りましょう。

グチを言ってすみません・・

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