• ベストアンサー

Access2003 時刻の表示とインポート

ExcellのデータをAccessにインポートした所、時刻の表示がうまくいきませんでした。 Excellのデータで74:35とあります。ユーザー定義で[h]:mmと設定しています。 これをAccessにインポートすると、3.10763888と表示されました。 デザインビューで、数値型となっていたので、日付・時刻型に変更し、書式を時刻(s)に設定しましたが、思うような表示が得られませんでした。 ひょっとして、Excellでの表示を時間ではなく、10進数で表したらうまくいくかと思い、24を掛けて、74.5833333と10進数になおしインポートしなおしましたが、14:00となるのみです・・・ Excellで74:35ならば、Accessでも74:35と表示させる方法はありますでしょうか。 Accessを勉強し始めたばかりで、質問に見苦しい点があるかと思いますが、よろしくお願いいたします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

時刻と時間よく似ていますが数学的には全く異なる値です 時間には大きさがあり足したり引いたりできますが 時刻は時という座標上の1点です 時間は2つの時刻の間の距離ということになります ただし、時刻はある1点からの時間数値でその座標を表していますので そのことを理解していれば、時刻を時間計算に流用することができます Excelの世界ではこの流用が広く行われており、MSもこれに迎合して 本来時刻にはあり得ない24時以上の表示ができるよう書式の仕様を拡張しています Accessではデータ型というものがありますから 時間は数値型で、時刻は日付時刻型で扱う必要があるため 時刻を時間計算に流用するということはあまり行われず Excelのような書式の拡張サービスはありません 時間は数値型で行いxx:xx:xxのような表示をしたければ 時間数からそのような文字列を作成してやることになります

doragon-akiko
質問者

お礼

早速の回答ありがとうございます。 時刻と時間の説明、ありがとうございます。面白くてひきこまれてしまいました。 従業員の労働時間の管理をAccesで出来ないかと思い、元データのExcellからインポートしてテーブルを作るまでは出来たのですが、ここからつまづいてしまいました。 >時間は数値型で行いxx:xx:xxのような表示をしたければ >時間数からそのような文字列を作成してやることになります お手を煩わせて申し訳ないのですが、上記の方法を教えていただけませんか? 自分でも検索をかけてはいるのですが、なかなか思うようなサイトを見つけることが出来ずにいます。 貴重な時間をさいていただきありがとうございました。

その他の回答 (3)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.4

Excelの >74:35 をインポートするということでいいのですね これを時間数値と考えると、その単位は日です ですから24をかければ時間を単位とする時間数値になりますし 24*60をかけると分を単位とする時間数値になります >74:35 のように表示したいのなら 分を単位とする時間数値に変換してから、時間部分と分部分を切り出せばいいでしょう 元の数値を[時間]として Int([時間]*24) & ":" & [時間]*24*60 MOD 60

doragon-akiko
質問者

お礼

度々ありがとうございます。 一度、試してみます! また、結果ご報告いたします。ありがとうございました。

回答No.3

エクセル側で文字列として入力し、アクセス側でそのフィールドをテキスト型にするしかないかも。 出退勤管理上は時刻型を使わず、午前0時を基点とした分数で別に内部的に管理したほうが月間集計等も後々楽だと思います。例えば8:30出社翌0:30退社、所定内8H休憩1Hとして、出社830退社2430と入力させ、 出社8*60+30=510分 退社24*60+30=1470分 残業=1470-510-(所定内8*60)-(休憩1*60)=420分 =int(420/60)時間、mod(420,60)分 という感じです。

doragon-akiko
質問者

お礼

回答ありがとうございます。 なるほど。そういう考え方もあるのですね。 ただ、そうなるとエクセル側の数式をすべて変更しなければならないので、それは避けたいなと思っております。 ありがとうございました。 やっぱり無理なのかなぁ・・・

noname#140971
noname#140971
回答No.1

無理だと思いますよ。 そもそも、74:35 って日付・時刻型には存在しないですよね。 ここから、再検討じゃないでしょうか?

doragon-akiko
質問者

お礼

早速の回答ありがとうございます。 労働時間の合計を出したかったのですが、無理なのでしょうか。 困りました。 なんにせよ、回答ありがとうございます。

関連するQ&A

  • <アクセスのデザインビューでの設定>

    <アクセスのデザインビューでの設定> こんにちわ。 エクセルで作成したデータをアクセスにインポートして作成したテーブルがあります。 そのフィールドに日にちを入れるところがあります。 2010/7/5と表示されるように,デザインビューで設定しましたが, 「定義されているフィールドが多すぎます」とエラーがでて保存できませんでした。 解決方法はありますでしょうか。 よろしくお願いします!! (行った,設定方法) 1)テーブルをデザインビューで開く。 2)日にちのフィールドのデータ型を「日付/時刻型」へ 3)標準タブの書式を「日付(S)」としました。 4)保存→エラー (アクセスのバージョン)  アクセス98 (PCのOS)XP

  • Access97日付/時刻型の表示

    WindowsXPに昔購入したAccess97を載せてみました。 日付/時刻型データの表示でお訊きしたいことがあります。 データシートビューで「日付/時刻型」を選択し、同じ画面上の「書式プロパティ」で西暦の表示書式を選びました。 テーブルに戻って実際にデータ入力を始めましたところ、「****年**月**日」というテンプレートがきちんと表示されました。ところが「2003年04年24日」と入力したはずなのに、表示されるデータは「15/04/24」と和暦表示なってしまい、西暦表示ができません。 西暦で「2003/04/24」または「03/04/24」と表示するにはどうすればよろしいでしょうか。 なお、セットアップの段階で、拡張子DLLのファイルがいくつか読み込めないままインストールしております。

  • Excel→Accessへの日付データのインポート

    Excelで作った下のようなデータを、Access2000のテーブルにインポートしようとしています。 グループ名(文字列) 納期(日付) 商品(標準) ()内は書式設定 納期の日付書式は「yyyy/m」に設定しているのですが、Accessにインポートすると、テキストとして認識されて「38565」のようの数値が返されてしまします。 Excelの日付データをAccessに日付型データとして 認識させる方法を教えてください。 なるべくシンプルな方法だと助かります。当方、 VBAなどの知識はほとんどありませんので・・・・。 よろしくお願いします!!!

  • アクセス:インポートできないデータ

    色々な型のデータが入ったエクセルデータをアクセスにインポートした時に出るエラーに関してです。 数値と文字列が含まれているためにアクセスのデータ型を”テキスト型”(フィールドサイズ255 書式@)にしております。しかしインポートすると文字列のデータがはじかれます。 アクセス側をテキスト型に設定すればどんなデータが来ても受け入れ可能だと思っていました。 数値、文字列両方のデータがインポートできる設定を教えてください。

  • ACCESSの日付け型

    日付け型のフォーマットの設定とかはあるんでしょうか? 僕のクライアントの日付型は2002/02/22のように西暦を4桁で表示することができるのですが、あるクライアントのACCESSは02/02/22のようにレコードに西暦を2桁しか表示しません。4けたに統一する方法はありますか? デザインビューの書式設定をいじりましたがyy/mm/ddのようになっていました。

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

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

  • Accessの日付時刻型から日付、時刻カラムを作る

    お世話になります。 Accessのデザインビューでクエリを作ろうとしています。 テーブルの日付時刻型のカラムから日付、時刻を分離して日付カラム、時刻カラムを得るようなクエリを作りたいのですが、どのようにすればできますか? よろしくお願いします。

  • アクセスの日付/時刻についてなんですが

    今テーブルを作成しています。そこで日付を入れる項目を つくりデータを入れていこうと思ったのですが、 00/00/00の形式(年/月/日)の設定の仕方がよく分かりません。 以前はうまくいっていたのですが、今回なぜか’(例として) 99年08月09日と入力した時に、数値が11とか12に変換されて 表示されてしまいます。 デザインビューからフィールドの書式設定と 定型入力をしてみましたがうまくいきませんでした、多分 定型入力を完了した後に下に設定された数字を変更したからかと 思うのですが、宜しくお願いします。

  • Excelのデータ(数字)をテキスト型としてaccessにインポートする方法

    Excelの「セルの書式設定」を「文字列」にして、数字を入力し、accessで「インポート」すると「データ型」が「倍精度浮動小数点型」となって「1(2)」や「1&2」と入力した行がインポートできずerrorとなります(普通の数字はインポートできます)。Excelの書式設定を「ユーザ定義」→「@」としても同じです。またaccessでテーブルのデザインでそのインポートするフィルドを「データ型」としておいてインポート操作をしてもインポートされません。Excelを開きそのセルや行の書式設定を確認しましたが文字列となっています。どこが問題なのでしょうか? また正しくインポートできる方法を教えてください。 accessとExcelのバージョンは2003です。 よろしくお願いします。

  • Access(アクセス)でのインポートについて

    テーブルのインポートでエクセルファイルをインポートしたいのですが「ワークシートインポートウィザード」の画面でテーブルを指定して保存すると 「Microsoft Access」の画面で「すべてのデータをテーブルに追加できませんでした。 キー違反のため、0件のレコードのデータが失われ、0件のレコードが削除されました。」と出てきて、保存できません。 もとのテーブルのデータ型を使ってインポートするにはどうしたらいいのでしょうか。よろしくお願いします。 インポートする元のデータ(エクセル)とインポート先(アクセス)の関係は次の通りです。 エクセルファイル    アクセスのテーブル (セルの書式設定)   データ型、フィールドサイズ --------------------------------------------- 数値          数値型、長整数型 文字列         テキスト型、16 インポートする前に元のエクセルデータをアクセスのデータ型に合わせただけではダメなのでしょうか

専門家に質問してみよう