• 締切済み

日付がインポートされない

csvファイルをAccessにインポートしようとしたところ日付だけ取り込まれませんでした。 csvファイルの中身を見てみると日付のフィールドが 8/2/2002 1:08:11 PM のように入っていました。 それが原因だと思いますがなんとかこの日付を取り込む方法はないでしょうか?

みんなの回答

回答No.3

日付のフィールドに格納されているのは、シリアル値だと思います。 表示する時に、TEXT関数などを使って、お目当ての日付形式で 表示するようにしてみてはいかがでしょうか?

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

CSVファイルをExcelで取り込んで、そいつを時刻値に変換したものを新たにCSVとして書き出すとか。 変換のための計算式例 =DATEVALUE(MID(B1,FIND(" ",B1)-4,4)&"/"&LEFT(B1,FIND(" ",B1)-6))+TIMEVALUE(RIGHT(B1,LEN(B1)-FIND(" ",B1))) セルB1に「8/2/2002 1:08:11 PM」とあったら、「37470.54735」になります。表示形式を適当に適当に設定してみて下さい。 かなり決めうちな計算式なので、失敗例もでるかも。 Accessで文字列として取り込んでから、VBAで変換という手も。 データ次第では、 perl -i.bak -pe 's#([01]?d/[0-3]?d)/(d{4}) ([01]?d:[0-5]?d:[0-5]?d [AP]M)#\2/\1 \3#' で十分かも。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

日付の形式が違うのではないでしょうか。 コントロールパネル→地域で ・カレンダーの種類:西暦(日本語)or (英語) ・短い形式: MM/dd/yyyy にすればいいと思います。

関連するQ&A

  • csvファイルのインポート

    Accessでcsvファイルをインポートさせようとしています。しかし、「F1フィールドがありません」のようなエラー表示が出て、できません。私の予想では、テーブルの型とcsvファイルの型が違うのではないかと思っています。テーブルには、数値型、テキスト型、日付/データ型があります。 保存したcsvファイルをExcelで開くと日付がApr-01や、2001/06/26となったりしていました。どこかで型変換のようなことをするのでしょうか?csvのことはよく分かりません。どうか、よろしくお願いします。

  • Aceess2000で8桁の数字を日付型のフィールドにインポートする方法

    Access2000でマクロを使って簡単にデータ取り込み等を実現しようとしています。 しかし、インポート元のCSVに、日付を表わす8桁の数字(2000年12月1日なら20011201)があり、これを日付型のフィールドにインポートしようとすると、データが削除されてしまいます。 どなたか、簡単にデータを変換、取り込む方法をご存知の方がおりましたら、お教えください。お願いします!!!

  • Access2000 csvファイルのインポート

    Access2000のVBAを使用してcsvファイルを用意されたテーブルにインポートをしたいのですが、 やっかいな条件があります。 ある決められたフォルダに複数のファイルが存在している、そこから全てのCSVファイルを読み込み、3フィールド目(1行目はタイトル行)の値が「"3"」のものだけインポートする。 あるフィールドには、255文字以上のフィールド(改行文字あり)があります。このフィールドはインポートしてもしなくてもよい 今までは、インポート定義を設定してインポートしていたのですが、csvファイルを判別して、インポート前にフィールドの判別をする方法がわかりません。また、255文字以上の対応もうまくいきません。   

  • Accessのインポートについて

    マイクロソフトアクセス2010でテーブルを作り、そこにCSVファイルを読みこませたいです。 テーブルのフィールドはテキスト型です。 例えば、Table_TESTというテーブルにF1というテキスト型のフィールドを設けます。 Access標準のTEXTインポート機能を使い、インポートを行おうとします。 CSVファイルのデータは、「12345678912345678ABCD」といったように数値とアルファベットです。 なぜか、このようなデータをインポートする時にデータ変換エラーと表示されて、正しくインポートできません。 これは、なぜこのような現象が起こるのでしょうか?

  • Outlook2013で外部形式日付もエクスポート

    外部形式でメールの保存をしたくて、ファイルにエクスポートよりテキストファイル(カンマ区切り)でCSV出力したのですが、受信日付や送信日付がエクスポートされません。 以前のOutlook2010ではAccess2010からのインポートで日付付きにCSVを読み込めたのですが、Access2013ではその機能も無いようです。 なんとか日付付きに受信、送信メールをCSVでエクスポートあるいは、ほかのアプリでインポートできる方法がないものでしょうか?

  • access2010でメモ型がインポートできない

    以前のACCESS2000では出来ていたのですが、ACCESS2010(windows7)にバージョンアップしたところ、csvファイルのインポートで、メモ型のデータが255文字までしかインポートできなくなりました。 調べてみたところ、そのフィールドを、クエリなどで使用しているとキャスト(型変換)されるのでメモ型ではなくなり255文字の制限がかかる、との記述がありましたが、新しいテーブルを作成してインポートしてもできませんでしたので、別の原因かと思われます。 また、ACCESS2000のデータを、ACCESS2010の[ファイル]-[保存して発行]・・・・も行い、拡張子を.accdbにしてみましたが、やはり255文字を超えるインポートができませんでした。 インポート時の[設定]のところのフィールドの情報で、メモ型にしてあるフィールド名が表示されていないのが気になりますが。 文字列の引用符は ” にしています。 ACCESSはデータの25行目までを読み込んでデータ型を自動選択している、という記述もあり、1行目のデータに256以上の文字を入れてインポートもして見ましたが255文字で切られてしまいます。 よろしくお願いいたします。

  • アクセス インポートファイルの再インポートを防ぐ

    アクセス2003を使用しています。 アクセスにて、エクセルファイルをインポートしています。 既にインポートしたエクセルファイルを再度インポートしないように、再取込みを行おうとした場合、 「既に取り込んでいるファイルです」とエラーメッセージを表示させて、取込み防止を行おうとしています。 クエリの重複チェックを設定していたのですが、行き詰ってしまいました。 アクセスのテーブル先頭フィールドの日付データ(yyyy/mm/dd)でチェックしたいと思っています。 教えてください。よろしくおねがいいたします。

  • phpMyAdminでインポート

    ■phpMyAdminでint型フィールドへインポート int型のフィールドへcsvファイルからインポートする際に、元データが空白の場合にインポートするとそのフィールドに勝手に「0」が入ってしまいます。 勝手に「0」が入らないようにするにはどのようにしたらいいのでしょうか。 宜しくお願いします。

  • Accessにインポートしようとするとエラーに

    Access2000にcsvファイルをインポートしようとすると、最後の「完了」ボタンクリック時に、下記エラーが表示され、 インポートが行われません。 「フィールド'フィールド名'の開始位置'35642'が有効ではありません。開始位置は32,767以内で指定してください。」 「インポート/エクスポート定義 'ファイル名 インポート定義'を保存するときにエラーが発生しました。」 これは、どこを修正すればいいのでしょうか?

  • アクセス:エクセルからのインポートエラーについて

    よろしくお願いします。アクセス初心者です。 エクセルから名簿形式のシートをアクセスにインポートしたときの次のようなエラー対策について教えてください。 ・エクセル側で日付と文字が混在しているフィールドがいくつかあります。(例)「2005/10/10」と「入院中」 ・日付と文字が混在しているフィールドがいくつかあっても、アクセスにインポートしたら、アクセス側であるものは「日付/時刻型」、あるものは「テキスト型」に自動でなっています。 ・このとき、アクセス側で「日付/時刻型」となっているフィールドでは、エクセル側で日付がはいっているものは取り込まれ、文字が入っているものがはじかれるようです。 ・逆にアクセス側で「テキスト型」と自動でなっているフィールドの場合には、日付も文字もインポートできています。(但し、日付が文字形式となっているようです) ◆まず、なぜ、同じ日付と文字が混在しているフィールドなのに、「日付/時刻型」になったり「テキスト型」になるのでしょうか? ◆このエラー回避対策はどうすればよいでしょうか。 「テキスト型」に統一してインポートできればいいのですが・・・ 以上、よろしくお願いいたします。