数値データを日付データとして扱いたい

このQ&Aのポイント
  • 違うDBからファイルをDLしてきて、テーブルに入れているデータがあります。その違うDBの日付データが分割してインポートされてしまいます。
  • Excelのような「Date」関数はAccessには存在しないため、表示だけでなく日付データとして扱いたい場合には別の方法を探す必要があります。
  • クエリーを使って[年]&"/"&[月]のような形式で表示することもできますが、Accessには日付データとして扱うための専用の関数はありません。
回答を見る
  • ベストアンサー

数値データを日付データとして扱いたい。

違うDBからファイルをDLしてきて、テーブルに入れているデータがあります。 その違うDBの日付データが分割してインポートされてしまいます。   2 | 9 | 18 ↑こんな感じです。 これを日付データとして扱いたいのです。(2002/09/18というように。) 表示だけでしたらクエリーとかに [年]&"/"&[月]・・ とかってやればいいのですが、そうではなくて、日付のデータとしたいのです。 Excelですと「Date」関数というのがあって、それに 「Date(年,月,日)」と入れれば、日付データとなると思うのですが、Access にはこのような関数はないのでしょうか?

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 Access(というかVBA)では、 DateSerial(year, month, day) という関数になります。 なお、引数yearは西暦でないといけません。 クエリの条件の中でも使用出来ます。

KODAMAR
質問者

お礼

すばやい回答ありがとうございます! できました! 関数がやはりExcelとAccessでは微妙に違うんですね。 ありがとうございました。

関連するQ&A

  • エクセルの日付データの変換

    あるDBからデータを抜いてCSVに落としてAccessにインポートしようとしていますが、日付のデータが、普通1970/2/28というシリアルデータを表示形式で「昭和45年2月28日」と表示しているところが、「昭和45年2月28日」という文字データそのままになっています。 なんとか日付のシリアル値に変換したいのですが・・・ ちなみにdatevalue関数を使用しても元が単なる文字列ですから、もちろんシリアル値なんか出ません。

  • 日付データ変換

    itunesでバックアップしたデータから、メッセージの送受信日時を調べています。 1388793751という数値(dateという項目)が、「2014年1月4日09時02分31秒」だとわかりました。 (かろうじて残っていたデータからわかりました。) 数値の変換式というんでしょうか、10桁の数値から、正確な日付データになおすときの法則のようなものがあれば嬉しいです。 この数値から日付を割り出すのって無理でしょうか? ファイル形式は.dbとなっています エクセルのシリアル値でもないような(詳しくなくてすみません) お助け願います

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

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

  • Access 日付データのテーブル上での不具合

    Access 日付データのテーブル上での不具合 OS:Windows10 Access:2013 ⇒ Office365 お世話になっております。 現在クライアントのデータベースをクリーニングしております。 日付型フィールド(フィールド名:日付)に見た目上日付が入っているのですが、 連結フォーム上に表示するとデータによって不具合が生じます。 例) テーブル格納データ:2019/11/05 フォーム上のテキストデータ:令01年11月(フォーム上は和暦年月表示) 同じテキストボックス(表形式)なのに、クリックした時の反応がデータによって違います。 あるデータは「2019/11/05」に戻るのに対して不具合があるデータは「令01年11月」のままです。 テーブルで直修正をするとそのデータはクリック時に「2019/11/05」に戻ります。 見た目上は同じでも格納データは型が違うようです。 いちいち不具合のあるデータを探して手で修正するわけにもいかないで、検索して見つけた情報を基に コード等で変換をしているのですが、改善されません。 <試したこと> (1)更新クエリ format関数による変換(Format([日付],"yyyy/mm/dd")) (2)コードで変換   Dim h_date As String   Dim h_date_true As Date If Not IsNull([日付]) Then h_date = Left([日付], 4) & Mid$([日付], 6, 2) & Right([日付], 2) h_date_true = DateSerial(Left(h_date, 4), Mid(h_date, 5, 2), Right(h_date, 2)) h_date_true = CDate(Format(h_date_true, "@@@@\/@@\/@@")) End If   レコードセット![西暦] = h_date_true この連結フォーム上で修正フィールドのデータを更新する仕様です。 クエリやレコードセット等でデータをそろえるために何か良い方法はございますでしょうか。

  • エクセルで作成したデータをアクセスにインポートしましたが・・

    エクセルからアクセスにデータをインポートしたところ生年月日が20○○/○○/○○と表示されます。アクセスのテーブルのデータで和暦日付を選択しますが、変換されません。アクセスで平成○○年○○月○○と表示させたいのですが、どのようにしたらいいのでしょうか?

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

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

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

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

  • Excelからインポートしたデータがクエリに反映されない

    OSはWin98SEでAccess2002です。最近Accessを始めたばかりです。 Excel2000で作成した売上管理台帳をAccessの売上管理テーブルへインポートします。 Excelでは日付/社員名/取引先名/販売商品名/売上金額のフィールドを設定し、関数を使って社員別/取引先別/商品別の集計や累計を出してきました。 AccessにインポートするにあたりExcelでは(1)データを全て別Sheetに値のみでコピー&ペーストした。 (2)売上金額は通貨から数値に書式設定し直した。(3)それをCSV形式で保存した。 Accessでは社員/取引先/商品の3つのサブテーブルを作成しそれぞれにID(データ型は全てテキスト型)をつけました。 Excelデータをインポートし、社員名/取引先名/商品名を編集の置換機能を使ってID番号に変換し、データ型とフィールドサイズをサブテーブルのIDと一致させ、売上台帳としてメインテーブルにしました。 4つのテーブルにリレーション設定し、クエリで売上台帳を作ったのですが、Excelでインポートしたデータが1つもレコードとして表示されていません。 試しにこのクエリを元にフォームを作り、データを入れてみたところ、これについてはクエリでレコード表示されています。 AccessではExcel以上にデータの精度が求められると聞き、編集置換では慎重にも慎重にやったつもりです。 リレーションがうまくいっているのに、どうしてクエリでインポートしたデータが反映されないのでしょうか。全部で1600余りのレコードになり、ぜひExcelからインポートして活用したいと思います。よろしくお願いします。

  • Access format関数を使わず日付を変換

    Access2016で、あるテーブルからクエリを作成して日付フィールド(西暦/月/日)を(西暦/年)のようにさせたいのですが、以下のようにformat関数を入力して実行すると完了するまでに非常に長い時間がかかってしまい困っています。 別の方法で処理をしたいのですが、ご存知の方いらっしゃるでしょうか。 SQLとかは使わず、初心者でも後から解読・編集できるような方法があればありがたいです。 元となるテーブルのデータ型は都合上変えられません。 フィールド名 日付 データ型 日付/時刻型 データサンプル 2024/2/27 クエリでやりたいこと 元のテーブルのデータを日別ではなく月別で集計したいため、 日付データを 年/月/日 ではなく 年/月 に変換したい ※同月のデータを同一の値に変換できさえすれば合計できるので、表示される形式は「2024/2」でも「2024年2月」でも「202402」でも構いません。 今回入力した式 「年月:format([日付],"yyyy/mm")」 以上、よろしくお願いします。

  • 入力フォームからエクセルデータをアクセスにインポートしたい

    入力フォームからエクセルデータをアクセスにインポートしたいと考えています。 入力フォームに、参照ボタンをつけて対象となるエクセルファイルを指定することはできましたが、その後、そのデータをアクセスのテーブルにインポートしたいと考えています。可能でしょうか。 宜しくお願い致します。 *********入力フォーム***************** <form method="POST" action="test.asp"> <input type="file" name="excel"> <input type="submit" value="送信"> </form> *********test.asp***************************************** *******ACCESSに接続まではできるが、エクセルのデータを testテーブルにインポートする方法がわからない。 また、インポートする前にtestテーブルのデータを 全て削除したいと考えています。****** Set db=Server.CreateObject("ADODB.Connection") db.Provider = "Microsoft.Jet.OLEDB.4.0" db.ConnectionString = Server.MapPath("test.mdb") db.open

専門家に質問してみよう