プロが教えるわが家の防犯対策術!

Excelで作った下のようなデータを、Access2000のテーブルにインポートしようとしています。

グループ名(文字列) 納期(日付) 商品(標準)
()内は書式設定

納期の日付書式は「yyyy/m」に設定しているのですが、Accessにインポートすると、テキストとして認識されて「38565」のようの数値が返されてしまします。

Excelの日付データをAccessに日付型データとして
認識させる方法を教えてください。
なるべくシンプルな方法だと助かります。当方、
VBAなどの知識はほとんどありませんので・・・・。

よろしくお願いします!!!

A 回答 (6件)

確認ですが、その日付の列に、日付/時刻と認識できないデータが入っていませんか?


AccessにExcelのデータをインポートする場合、はじめの数行を見て、各フィールドの
データ型を決定します。

その数行の中に、数値型と認識されるデータがあれば、その列は数値型となります。
なので、日付/時刻型のデータをExcelで入力してあっても、シリアル値として
インポートされることが起きます。

Excel ワークシートをリンクする際のデータ型問題を回避する方法
http://www.f3.dion.ne.jp/~element/msaccess/AcTip …

こちらを見ていただければ、詳細に説明してありますので、参考になると思います。
    • good
    • 0

>デザインビューでデータ型を日付型に変更して、保管しようとすると、「データ変換中にエラーが起こりました」というメッセージがでて、該当するデータが全部消えてしまいます。


ということは該当するデータのみがおかしいんですよね?
ならば、原因はそのレコードにあると思われます。
1900年以前の日付が入力されているか、文字列が入力されていると思います。
エクセルのシートに連番を増やしてから、連番を含めてインポートして、日付が消えた連番を確認して、エクセルシートを修正してみてください。
    • good
    • 1

>補足: 上記の方法は試してみたのですが、だめでした。



一度、数値型(整数か長整数)に変換してテーブルを保存
再度、日付時刻型で直りませんか。
    • good
    • 3

本来Excelで正しく日付入力されていればAccessへも正しくインポートされるのですが・・・



とりあえずエラーの対処法として

(1)Accessの「納期」が数値型のシリアル値の場合
  データ型を「日付/時刻型」とすれば日付型として表示されます
  なお書式を未設定で保存するとエラーとなりますのでプルダウンで「日付(S)」を選択するか"yyyy/m"とでも入れておきましょう

(2)Accessの「納期」がテキスト型のシリアル値の場合
  一旦データ型を「数値型」にして保存します
  再度開いて(1)の作業を行えば日付表示になると思われます

参考になれば
    • good
    • 0

Excelでは日付データをシリアル値(「38565」)という形式で持っていて、表示形式とは別な値で保存されています。

(そのままAccessに取り込むと単なる「38565」という数字/テキストになるのはその為)

Accessに取り込む際に、インポートウィザードを使うと、何ページ目かで、フィールド(列)毎にデータの型を定義するところがあり、日付データの型を指定することができたはずです。(これで正しく認識されるはず)

以前、私はこれで解決できました。
    • good
    • 0

インポート後にテーブルデザインで書式指定をすればよいと思いますが、だめなのでしょうか?

この回答への補足

上記の方法は試してみたのですが、だめでした。

デザインビューでデータ型を日付型に変更して、保管しようとすると、「データ変換中にエラーが起こりました」というメッセージがでて、該当するデータが全部消えてしまいます。

補足日時:2005/06/21 15:17
    • good
    • 3

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A