• ベストアンサー

三菱のタッチパネルで収集した、装置の運転ログ(CSV)をaccessに

三菱のタッチパネルで収集した、装置の運転ログ(CSV)をaccessにインポートすると 時刻のデータyy/mm/dd tt:mm:ssが:yyyy/mm/dd tt:mmに変わってしまいます。 一度excelに読み込んでセルの書式設定を変更してaccessにインポートすればできるのですが、 CSVを直に読み込んで、秒のデータを残すにはどうすればいいでしょうか

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

  • ベストアンサー
noname#192382
noname#192382
回答No.1

助言ですが、CSVデータを中間処理をして日付と時刻にわけてから、アクセスに取り込むようにしたらどうでしょうか。 私のテストの結果は、エクセルにyy/mm/dd tt:mm:ssのデータを入れておいて、アクセスにインポートしましたら、エクセルは正しく表示してくれない(書式は秒を書くようになっていないので無理も無い)のに、アクセスはyyyy/mm/dd tt:mm:ssと正しく読んでくれました。 このことから、日付と時刻は分けて扱えばいいのかと思いました。

aonokoji
質問者

お礼

さっそくのご回答ありがとうございます。 私は装置の製作側なのですが、ユーザーの方が、中間処理をしないでアクセスにインポートしたい。 かつ、時刻のデータは秒までデータを残すことはできないかということなのです。 CSV自体のデータとしてはyy/mm/dd tt:mm:ssになってるのですが、access側の設定でなんとか ならないものでしょうか。

その他の回答 (2)

noname#192382
noname#192382
回答No.3

NO1です。 例えば 2010,10,01,14,31,28 というテータが、アクセスのあるテーブルのCSVという名のフィールドにテキスト形式で読み込まれ保存されてているとすると クェリーでこのテーブルを追加し、CSVのフィールドを読み込み、 その横の新しいフィールドに =Mid([CSV],18,2) と入れて実行すると、28という秒の数値が得られます。

aonokoji
質問者

お礼

さっそくユーザー様に連絡して試してもらいましたが、うまくいかなかったとのことです。 詳細をご報告できなくて申し訳ありません。 当面は秒データのかわりに連番をつけることで対処していただくことになりました。 たびたびのご回答ありがとうございました。

noname#192382
noname#192382
回答No.2

No1ですが、お尋ねします。インポートするときに、受ける側の書式を時刻とせずに一般数値とした場合には、どんな数値になるでしょうか、教えてください。

関連するQ&A

  • EXCELを使って、アクセスログを分析をする方法を教えてください。

    アクセス生ログを用いて、何時何分にアクセスが多いかという分析をしたいのですが、エクセルを利用した良い方法をご存じないでしょうか? YYYY/MM/DD TT:MM:SSというまとまりが羅列されているだけのアクセスログです。 お手数をおかけいたしますが、よろしくお願いします。

  • ACCESSのデータをEXCELにコピーすると日付が必ずYYYY/MM

    ACCESSのデータをEXCELにコピーすると日付が必ずYYYY/MM/DD→DD-MONTH-YYになります。書式を変えずにコピーする方法を教えてください。 WIX XP SP3 ACCESS 2007

  • MySQLのTimestamp(14)型のフィールドにYYYY/MM/DD hh:mm形式のデータをインサートするには

    MySQLのTimestamp(14)型のフィールドに YYYY/MM/DD hh:mm形式のデータをインサートするには どのようにしたらよいのでしょうか? MySQL の Timestamp(14)型(YYYY-MM-DD hh:mm:ss)のフィールドに YYYY/MM/DD hh:mm 形式のデータ(ssに該当するデータがない)を インサートするには、 PHPでどのようにしたらよいのでしょうか? できれば、インサートの際にssに自動的に00をつけたいです。 現在、PHPでinsert文を実行すると、データの桁数が足りないため、 フィールドの値は、0000-00-00 00:00:00になってしまいます。 同じ形式(YYYY/MM/DD hh:mm)のデータをphpMyAdminで インポートすると、自動的にssに00がつき、 YYYY-MM-DD hh:mm:ss(例 2009-10-20 12:10:00) となってくれます。 PHPでもphpMyAdminと同じ処理をしたいのですが、 インターネットで検索してもやり方が見つからず、 どのようにしたらよいのか、わかりません。。。 インサートするデータサイズが83MBと大きいので、 PHPで処理したいと思っています。 (phpMyAdminは8MBまでなので) ご存知の方がいましたら、教えていただけると、 助かります。m(_ _)m レンタルサーバー:さくら インサートするファイル:CSVファイル PHP 5.2.x MySQL 5.1 phpMyAdmin 3.1.3.1

    • ベストアンサー
    • MySQL
  • CSVファイル

    質問の説明がうまくなくてごめんなさい。 エクセル作成したデータをCSVファイルで保存をしたのですが、メモ帳などで見るとそのときはいいのですが もう一度作成したエクセルと開くと日付入力をyyyy.mm.dd→yy.mm.ddに変更して保存をしたのですが yyyy.mm.ddになったままです。なぜなのでしょうか? よろしくお願いします。

  • 元のテーブルはいじらずフォーム上のみで表示形式を変

    アクセスのフォームにコンボボックスを作り、値集合ソースにテーブル日付型のフィールドを指定し、 値集合タイプをテーブル/クエリにしてあります。 そのコンボボックスには問題なくデータは表示されるのですが、 コンボボックスに表示する日付の形式を、yy/mm/dd形式で表示させたいのです。 コンボボックスの書式をyy/mm/ddにしてみましたが、 yyyy/mm/ddのままです。 元のテーブルのデザインビューでフィールドの書式をyy/mm/ddにしたら、 連動してフォームのコンボボックスもyy/mm/ddになりましたが、 元のテーブルはいじらずフォーム上のみで表示形式を変えることは不可能なのでしょうか? よろしくお願いします。

  • 「yyyy/mm/dd hh:mm」が「yyyy/mm/dd hh:nn」へ変化する

    access2003を使用しています。 時刻の「分」の表示形式で気になることがあるのですが テーブルのデザインで フィールド1のデータ型を「日付/時刻型」にし 書式を「yyyy/mm/dd hh:mm」と入力しても 「yyyy/mm/dd hh:nn」に変化してしまいます。 問題なく「2009/02/28 20:33」と表示されるのですが なぜmからnへ変化してしまうのでしょうか? また デザインで書式を「hh:mm」だけ入力した場合は 「時刻 (S)」へ変化します。 何か少しでもわかる方ご回答よろしくお願いします。

  • Access VBA DoCmd.TransferTextについて

    ACCESS VBAでテーブルの情報をDoCmd.TransferTextを用いて CSV出力しようとしています。 しかし、"YYYY/MM/DD"形式のデータがどうしても"YYYY/MM/DD HH:mm" 形式で出力されてしまいます。 このメソッドを用いると必ずこうなってしまうのでしょうか? よろしくお願いいたします。

  • Access2007の日付/時刻型フィールドで、時を二桁にする書式

    お世話になります。 Access2007の日付/時刻型フィールドで、日時を「2007/07/09 01:22:33」というふうに表示させるにはどういう書式にしたらいいんでしょうか? 「yyyy/mm/dd hh:nn:ss」と入れてみたのですが、時が一桁だと一桁になってしまいます。 ヘルプの「hh」のところには「時を 2桁の数字で表示します (00 ~ 23)。」と書いてありますが、「h」の場合と同じようになってしまいます。 時も二桁にする書式を教えてください。よろしくお願いします。

  • 日付や時刻の"01"を" 1"に変換したいです。

    下記のような問題で悩んでいます。何かよいアイディアがありましたら教えて下さい。 【要件】 ・SimpleDateFormatで指定された書式の文字列にした後、年月日時分秒ミリ秒の"01"~"09"を" 1"~" 9"のように前0を半角スペースに一括変換したい(年は書式がyy形式の場合のみ)。 ・SimpleDateFormatへの書式はエラーが起きない限りどんなものでも受け入れる(通常、書くわけがない書式についても)。 例) "yyyy/MM/dd HH:mm:ss:SSS" "'yyyy/MM/dd HH:mm:ss:SSS形式:'yyyy/MM/dd HH:mm:ss:SSS"  ※''の中にあるMMはテキストなので英字のまま。 "yyyy/MMMMMMMMMMMMMMMMMMMM/dd HH:mm:ss:SSS"  ※Mの数は不明 "yyyy/MM/dd MM MM HH:mm:ss:SSS"  ※月の表示指定が複数 引数 :日付(yyyyMMddHHmmssSSS形式), SimpleDateFormatへの書式 戻り値:SimpleDateFormatで変換後に"01"~"09"を" 1"~" 9"にした文字列 自分なりの検討案としては下記になります。 a.引数の書式をそのままSimpleDateFormatに引き渡ずに、一部修正してから呼び出す。 例)"yyyy/MM/dd HH:mm:ss:SSS"→yyyy/_M/_d _H:_m:_s:__S" ※"_"は半角スペースです。 実際はMやdなどが2桁になる場合は変換しません。 かなりごりごり200行ぐらい試しに書いたのですが、対応できないケースが出てきてその都度エンドレス状態です。 ちょっとこのまま実装するわけにいきません。いつバグがでるか・・・。 b.SimpleDateFormatで変換後に年月日時分秒ミリ秒に該当する箇所に"01"~"09"があったら置換する。  引数の書式からMMやddのindexを保持して、SimpleDateFormatで変換後の該当indexに置換。 例) 書式:"yyyy/MM/dd_HH:mm:ss:SSS" 日付:"20090101010101001" "2009/01/01_01:01:01:001"→"2009/_1/_1__1:_1:_1:__1" ※"_"は半角スペースです。 但し前提として、書式とSimpleDateFormatで変換後の文字列が1対1になっている必要があります。 単純な例ですと 書式:"yyyy/MMMM/dd HH:mm:ss:SSS" 書式のddは11~12桁目ですが、SimpleDateFormatで変換後は下記のようにインデックスがずれます。 "2009/1月/01 01:01:01:001" "2009/12月/01 01:01:01:001" もしかしたら下記のような感じで吸収できるのかもしれませんが、ちょっと個人的に出来そうに思えませんでした。 月が1桁 かつ 書式が"M"の場合 月が1桁 かつ 書式が"MM"の場合 月が1桁 かつ 書式が"MMM"の場合 月が1桁 かつ 書式が"MMMM"の場合 月が1桁 かつ 書式が"Mxn"の場合 月が2桁 かつ 書式が"M"の場合 月が2桁 かつ 書式が"MM"の場合 月が2桁 かつ 書式が"MMM"の場合 月が2桁 かつ 書式が"MMMM"の場合 月が2桁 かつ 書式が"Mxn"の場合 ここ1,2週間ほど煮詰まっています。どなたかアドバイス頂けると助かります。 自分的なネックは書式が限りなくフリー形式なところです。

    • ベストアンサー
    • Java
  • 【PL/SQL】DATE型の時刻の表示と非表示

    PL/SQLでのDATE型の取扱いについて教えてください。 初期化パラメータNLS_DATE_FORMATが'YY-MM-DD'で、 ある列を'YYYY/MM/DD HH24:MI:SS'形式でDBにINSERTしたい場合、 dtWorkEndDate := to_date(charWorkEndDate, 'YYYY/MM/DD HH24:MI:SS'); としてINSERTにdtWorkEndDateを用いると、 YY-MM-DD形式でDBに登録されてしまいます。 (dtWorkEndDateはDATE型。) ORACLEの設定かPL/SQLの問題なのかわからないのですが、 なにかアドバイスを頂けないでしょうか。 よろしくお願いします。

専門家に質問してみよう