Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 掲示板への投稿には会員登録(無料)が必要です。会員登録がまだの方はこちら
  • 掲示板ご利用上のお願い」に反するご記入はご遠慮ください。
  • Q&A掲示板の使い方はこちらをご覧ください
トピックに返信
質問

 
(指定なし : 指定なし)
Excelからテーブルに一部コピーできない
投稿日時: 26/01/28 15:04:55
投稿者: kkkc

お世話になります。
 
Excelで下のような表があります。
 
日付   曜日 行事予定 出勤時刻 退勤時刻
2026/2/1 日       8:00:00  8:00:00
2026/2/2 月       公休
2026/2/3 火       8:00:00  8:00:00
2026/2/4 水       8:00:00  8:00:00
 
Accessのテーブルにも、同じ形のテーブルがあります。
 
フィールドはすべてテキスト型です。
 
ExcelからAccessのテーブルにコピー・貼り付けをしたいのですが、
「公休」という部分が空白になってしまいます。
ほかは問題なく貼り付けになっています。
 
どうしてでしょうか?
 
Excelファイルは私が作ったものではありません。
公休を出勤時刻の中にいれなければいい、
ということには、できません。
 
 
 

回答
投稿日時: 26/01/29 09:36:55
投稿者: sk

引用:
フィールドはすべてテキスト型です。

そのテーブルが ODBC リンクテーブルではないと仮定した場合、
 
引用:
ExcelからAccessのテーブルにコピー・貼り付けをしたいのですが、
「公休」という部分が空白になってしまいます。

Excel ワークシート上の[出勤時刻]列に、
データ型が異なるセルが混在しているためでしょう。
 
恐らく Access のテーブルのデータシートビューに貼り付けようとする際、
クリップボードにコピーされたセル範囲の各セルに格納されている値を
サンプリングすることによってそれぞれの列のデータ型を類推し、
暗黙的な型変換が行なわれているのではないかと推測されます。
 
今回の場合、[出勤時刻]列のデータ型が日付/時刻型であると
Access が推定した結果、String 型のデータが格納されている
セルの値を型変換できず欠落してしまうのではないかと。
 
引用:
公休を出勤時刻の中にいれなければいい、
ということには、できません。

とりあえずの対応策の 1 つとしては、次のような方法が挙げられます。
 
1. Excel ワークシート上の表を範囲選択し、クリップボードにコピーする。
 
2. メモ帳などのテキストエディタを開き、クリップボードにコピーされた
   データを貼り付ける(通常はタブ区切りのテキストになるはず)。
 
3. テキストエディタに貼り付けられたテキストを全選択し、
   クリップボードにコピーする。
 
4. Access のテーブルをデータシートビューで開き、
   新規レコード全体を選択する。
 
5. Ctrl + V キーなどで[貼り付け]コマンドを実行し、
   クリップボードにコピーされたデータを貼り付ける。

回答
投稿日時: 26/01/29 09:56:57
投稿者: Suzu

逆に、Access のテーブル側で同じデータを手入力。
 
それを、Excel に張り付けて、違いを確認してみてはどうでしょうか?
 
一番はタブが視覚的に表示されるテキストエディター
Excel から と Access から のデータを貼付け比較します。

トピックに返信