• ベストアンサー

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

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

質問者が選んだベストアンサー

  • ベストアンサー
  • sgh
  • ベストアンサー率61% (75/121)
回答No.2

横から失礼します。 オフコン系のシステムを使っているところではよくある話です。 まずは、インポートする前にCSVファイルをリンクします。 日付フィールドは文字型とします。 リンクしたテーブルを使って、アクションクエリでテーブルを更新・作成する手順がいいと思います。 日付の変換方法は以下の式で実現できます。 CDate(Left(RS!日付, 4) & "/" & Mid(RS!日付, 5, 2) & "/" & Mid(RS!日付, 7, 2)")

tamagotamago
質問者

お礼

遅くなりましたが、やり方わかりました!ありがとうございました!

その他の回答 (1)

  • boya
  • ベストアンサー率22% (44/193)
回答No.1

アクセスにそのまま取り込み(数字列)必要な時に Mid関数やLeft関数Right関数で細切れにして使用しましょう。 この3つの関数はよく使うので覚えて損は有りません。

tamagotamago
質問者

お礼

さっ、さすがです。 かなり核心をついておられるとみた。 しかし私は初心者でして、具体的にデザインビューのここにこれを入れたらよい、というようなご意見をいただければありがたいです。 お手数ですがよろしくお願いします。 早速のご対応をありがとうございました。

関連するQ&A

  • accessのフィールドに10桁の数字は入らない??

    あるCSVからAccessのテーブルに読みこんだのですが 一部のフィールドで文字の欠落がありました。 元のCSVの内容どおりに、手入力で欠落した箇所に 値を入れようとしたのですが、どうも9ケタの数字は入るのですが 10桁の数字は入らないようでエラーが出ます。 ★メッセージは以下の通りです。  このフィールドに入力した値が正しくありません。  たとえば、数値型のフィールドに文字列を入力しました。 Accessの仕様として、数字の桁数制限があるのでしょうか? また、解決策は何かないでしょうか? XP2、ACCESS200です

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

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

  • エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。

    エクセル上の8桁の数字を一括して日付に変換する方法を教えて下さい。 ダウンロードしたエクセルデータのA列に日付として8桁の数字が入っているのですが、文字列として認識してるようで日付に変換出来ません。 例えば2010年1月1日の欄には20100101と入っていて、2001/01/01と変換したいのですがどうすればいいでしょうか。 セルの書式設定→表示形式→ユーザー定義で試してみましたが上手くいきませんでした。 データの量が何千行もあって膨大なので、1行ずつスラッシュを入れていくという作業は出来ません。 8桁の数字を一括して日付に変換出来る方法はあるのでしょうか。 教えて下さい。 宜しくお願い致します。

  • アクセスで小数点以下1桁までをインポートしたい

    アクセスのインポートで小数点1桁までをインポートしたいです。 インポートするデータはCSVファイルです。 インポート定義をつける為に、エクセルのデータをCSVにし、CSVをアクセスにインポートしています。 エクセルの時点では、小数点下1桁まで表示されているのですが、CSVに加工した時に小数点以下1桁が0のものは整数表示になってしまいます。 (例)  エクセル → CSV   38.5  → 38.5   35.0  → 35 アクセスでインポートした後に、全部のレコードを小数点下1桁にするのはどうしたらよいのでしょうか?

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

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

  • エクセルのテキストファイルのインポートで数字が日付に変換されてしまう

     エクセルのテキストファイルのインポートの際に、数字が日付に変換(例えば「4-4」が「4月4日」のように)され、元に戻すことができずに困っています。  インポートの際に日付に変換されないようにする方法か、日付になってしまった値を元に戻す方法はないのでしょうか。  「4-4」を複数のセルに分けて読み込めば日付に変換はされませんが、できれば「4-4」をそのまま1つセルに読込みできる方法があればとても助かります。  お助けください。よろしくお願いします。

  • 日付/時刻型フィールドで時刻データのみを扱うには?

    アクセスのテーブル管理について質問させてください。 現在アクセス上で処理しているテーブルの一つ、日付/時刻型フィールドには時刻データが入っています。 形式:定型入力 時刻(L) 13:12:00 このテーブルをCSVデータとしてエクスポートしたところ、1899/12/30という日付データが時刻データの前に追加されてしまいました。 定型入力をしていたので日付データは扱われないものだと思っていたのですが、見えない部分で日付データも扱われていたということですね。 これを日付/時刻型フィールドのまま時刻データのみを扱う様にするにはどのようにしたらよいのでしょうか? 具体的には、アクセス上で作成した時刻データを含む計測値を日付毎のCSVファイルとしてエクスポートし、後に必要になった場合指定された日付のファイルをインポートします。 よって日付データは必要ないので時刻データのみで管理をしたい、ということです。 レコード数が多いため、ファイル容量を減らすためデータはなるべく少なくしたいのが実情です。 それでも必要ない日付データを加えておいた方がよいのでしょうか? よろしくお願いいたします。

  • Accessへのインポート時に数字が正しく設定されない

    Access2000で、あるCSVをインポートしたところ、数字の項目正しく入らない 事象が起きました。 (CSVでは"665554368"という数字が、Accessでは"665554340"になってしまいます。) 金額に該当する項目なので、正しく入らないと困るのですが、原因は何が 考えられ、どうすれば解決するでしょうか? 以下の方法を試しましたが、いずれもダメでした。 ・該当の値が入るフィールドのデータ型を以下のものにする。  →通貨型、単精度浮動小数点型、倍精度浮動小数点型  (いずれもダメです) ・CSVの区切り文字を別の文字に置換する。  →"|"だったものを、","区切りにしましたがだめでした。 ・CSVをExcel2003形式で保存し、Excelをインポートする。  →直接CSVをインポートしたときと同じ数字になりました。 お手数ですが、皆様の知恵を貸していただけないでしょうか。 よろしくお願いします。

  • ACCESS2000でExcelから特定フィールドをインポートしたい

    ACCESS2000でExcelから特定のフィールドをインポートしたいのですが、 うまくいきません。 Excelはフィールド数が254フィールドもあり、 テーブルにインポートしたいフィールド数は30フィールドです。 Excelでは特定フィールドをインポートすることができないようなので、 一時テーブルに全てのフィールドをインポート後 必要なフィールドだけ取り出そうとやってみたのですが、 以下のコードを実行すると、13のフィールドが「解析不能なフィールド」と インポートエラーが出てしまいます。 DoCmd.TransferSpreadsheet acImport, 8, "TEMPテーブル", "c:\data.xls" また、Excelファイルをcsv形式に変換して、インポート定義を作る方法も やってみたのですが、インポート定義作成時に 「フィールド'ID'はインポートまたはエクスポートしようとしている テーブルまたクエリに存在しません」 というエラーが出てしまいます。 どうしたらインポートできるでしょうか。よろしくお願いします。

  • Access 会員番号4桁にする方法

    会員データをAccessで管理しております。 CSVファイルで送られてくるデータをAccessにインポートして 運用しております。 そこで、会員データは4桁の数字(0001・0002・・・)で 管理しているのですが、送られてくるCSVファイルは 頭の000がない状態で送られてきます。 この000を一括で付けるにはどのようにすればいいでしょうか。 会員データは0001から9999までランダムに1000件から2000件程度 送られてきます。 よろしくお願いします。