• ベストアンサー
  • すぐに回答を!

Officeアクセス テーブル「テキスト型」⇒「日付型」への変換について

テーブルにデータが保管されており、そのフィールドの一つに「テキスト型」で”20080301”のようなデータを持っています。これを「日付/時刻型」”2008/03/01”のように変換したいのですが、どのようにすればよいのでしょうか。 ※ちなみにこのオリジナルデータは毎日、自動的にテーブルにダウンロードされており、このテーブル自体の型を予め「日付/時刻型」に変換すると、日々のデータ取得時にエラーとなってしまいます。ですので、「日付/時刻型」のフィールドを持った新規のテーブルに、この”20080301”のデータを変換し格納したいのですがどのようにすればよろしいでしょうか。 テーブル⇒デザインより、該当のフィールドの型を「テキスト型」⇒「日付/時刻型」へ直接変換してしまうと、「データの変換中にエラーが発生しました。○○件のレコードのデータが失われました。」と表示されます。素人のため、なるべく追加クエリや更新クエリや簡単な関数のみでの方法を教えていただけたら幸いです。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数5384
  • ありがとう数5

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

  • ベストアンサー
  • 回答No.2
noname#79209
noname#79209

テーブルに日付時刻型フィールドを追加して、 更新クエリを使って、#1さんが提案されている 数式を使えばよいのでは?

共感・感謝の気持ちを伝えよう!

質問者からのお礼

そのように考えればよかったのですね。 解決しました。ありがとうございます。

関連するQ&A

  • アクセスのテキスト型フィールドの初期値

    アクセスのテーブルにテキスト型フィールド「●●日付」を作成しました。さらに、定型入力の方法として、日付(____/__/__)を指定しています。 このテーブルから、クエリでデータを取得する際、●●日付にデータを入力していないレコードのみを取得したいと思い、クエリの抽出条件として=""(ダブルクォーテーション)や=''(シングルクォーテーション)と記載したのですが、レコードが1件も抽出されません(もちろん●●日付にデータを入れていないレコードは複数あります)。一方で、<>""や<>''で、●●日付にデータが入力されているレコードを抽出しようとした場合は、●●日付にデータが入力されているレコードが抽出されます。 テキスト型フィールドにデータが入力されていないレコードを抽出するクエリはどのようにしたら作成できるのでしょうか?

  • Access テキスト型を日付/時刻型へ変更

    いつもお世話になっております。 Accessについてお願い致します。 テーブル「メインデータ」に日付と時刻が一緒になっているデータがあります。例:2004/01/01/ 10:00 現在、 フィールド名:受付時間 データ型:テキスト型 フィールドサイズ:12 定数入力:0000/00/00\ 00:00;0;_ と設定してあり、問題はこのデータをテキスト型から日付/時刻型「「yyyy/mm/dd @@:@@」)へ変更したいのですが、 テキスト型→日付/時刻型へ変更すればデータが消えてしまいます。 そこで、クエリでFormatを使ったのですがエラーが出てしまいます。 何か良い案はございませんでしょうか? 宜しくお願い致します。

  • Accessの日付/時刻型のデータ変換について

    Accessで日付/時刻型で持っているデータを整数型に変換したいと思っておりますがうまくいきません。 日付/時刻型の「時刻(S)」でテーブル上にデータを入れています。これを整数に変換したいと思っています。 例)10:20 → 1020 そこで、 CInt([変換したいフィールド名]) をクエリで実行してみたのですが、結果は「0」、「1」、「#エラー」が表示され、変換したい形に変換することができませんでした。 どのようにしたら、例にある変換の仕方ができるのか教えて頂けますでしょうか。宜しくお願いいたします。

その他の回答 (1)

  • 回答No.1
  • mshr1962
  • ベストアンサー率39% (7417/18947)

クエリで行なうなら CDate(Format([テキスト],"0000/00/00"))

共感・感謝の気持ちを伝えよう!

質問者からのお礼

cDateを利用して変更することができました。ありがとうございます。

関連するQ&A

  • テキスト型に入れた値を数値に変換し、「#エラー」を

    テキスト型に入れた値を数値に変換し、「#エラー」を0にしたいです。 access2003です。 テーブル1を ・テキスト型 ・主キーなし として データを 1 2 あ を投入します。 そして SELECT CLng(テーブル1!フィールド1) AS 数値型に変換 FROM テーブル1; クエリを作りました。 このクエリを開くと 1と2は数値に変換されますが、文字列を入れた「あ」は 「#エラー」になります。 「#エラー」を0にしたいのですが どうすえばいいのでしょうか?

  • Access2013で翌日のデータのみのクエリ

    お世話になります。 Access2013を使用しており、2つの日付フィールドを比較して 翌日のレコードのみ抜き出したい場合のクエリについて質問で ございます。 日付Aフィールド と 日付Bフィールドが あり、それぞれ日付と時刻が書式yyyy/mm/dd hhmmss で格納されております。 このうち、クエリで抽出したいのは、 日付Bフィールドに格納されている、 日付Aフィールドの翌日のレコードのみを 抽出したいです。 その際、時刻(hhmmss)は無視して翌日のレコードを 抽出したいです。 例えば、 日付Aフィールドに 2016/08/24 15:00:00 2016/08/24 16:00:00 2016/08/24 17:00:00 というデータが格納されていて、 日付Bフィールドに 2016/08/25 00:00:00 2016/08/25 17:00:00 2016/08/26 00:00:00 というデータが格納されていた場合、 日付Bフィールドの 2016/08/25 00:00:00 2016/08/25 17:00:00 のみ抽出したいです。 この場合のクエリの設定方法を教えてください。 どうぞ宜しくお願いいたします。

  • クエリ テキスト型 計算について

    Accessのクエリについて こんにちは。Access 2007のクエリについてお教えください。 テーブル「TABLE1」に「日付」というフィールドがあります。 日付はテキスト型です。 データは、「20130731」、「20130101」などの形で保管されています。 30日前、60日前のデータをクエリで引っ張ってきたいと思いますが、どのように処理すればよろしいでしょうか?

  • [MS Access]クエリで変換 hhmm(数値型)⇒hh:mm(日付/時刻型)

    テーブル上で”930”や”1030”というように数値型になっているデータを、 クエリ上では”9:30”や”10:30”の日付/時刻型へ変換したいと考えております。 この場合、どのようなSQL文で記述をすればよろしいでしょうか? テーブルやフィールは下記のようになっております。 ■テーブル名 tbl_サンプルテーブル ■フィールド名 ID(オートナンバー型) 時刻(日付/時刻型)

  • 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 この連結フォーム上で修正フィールドのデータを更新する仕様です。 クエリやレコードセット等でデータをそろえるために何か良い方法はございますでしょうか。

  • VBAで日付型とテキストでフィルタをかけるには?

    テーブルのデータは フィールド1 2012/1/1 2012/1/2 2012/1/3 2012/1/4 2012/1/5 2012/1/6 2012/1/7 2012/1/8 2012/1/9 2012/1/10 フィールド2 A A A A A B B B B B です。 このクエリをもとに票フォームを作成して、 ・txt_始まりテキスト ・txt_終わりテキスト ・txt_フィールド2テキスト を作りました。 あとコマンドボタン(cmd_抽出)も作りました。 このコマンドボタンを押して 日付とテキストを抽出したいのですがVBAでのやり方を教えてください。 クエリなら ------------------------------------------------------------ SELECT テーブル1.フィールド1, テーブル1.フィールド2 FROM テーブル1 WHERE (((テーブル1.フィールド1) Between #1/4/2012# And #1/6/2012#) AND ((テーブル1.フィールド2)="A")); でできました。 ------------------------------------------------------------ しかしVBAで ------------------------------------------------------------ Private Sub cmd_抽出_Click() Me.Form.Filter = "フィールド1 Between #" & Me.txt_始まりテキスト.Value & "# And #" & Me.txt_終わりテキスト.Value & "#" & _ "' And フィールド2 like '*" & Me.txt_フィールド2テキスト.Value & "*" & "'" Me.Form.FilterOn = True End Sub ------------------------------------------------------------ をすると、 ------------------------------ 実行時エラー3075 構文エラー:演算子がありません。 ------------------------------ になります。 どうすればいいか教えてください。 結果は、 ------------------------------ フィールド1 フィールド2 2012/01/04 A 2012/01/05 A ------------------------------ です。 ご回答よろしくお願いします。

  • アクセス 「例外テーブル」

    エクセルからデータをインポートしようとすると、『例外テーブルにレコードを追加できませんでした』というエラーが発生します。 1.例外テーブルとはなんでしょうか 2.エラーの回避方法を教えてください エクセルのデータはレコードが90万件ほどの日付データとテキストとから構成されております。 ネット検索すればたいてい答えは見つかるのですが、本件は見つけることができませんでした。 よろしくお願いします。

  • access2010 テーブルのフィルタでエラー

    access2010を使用していますがテーブル・クエリ共に日付/時刻型のフィールドでソートすると 指定した`|`は正しくありません。 と出てソートが出来ません。 テキスト型は問題なくできます。 新規にデータベースのファイルを作成しても同じエラーがでます。 何か原因があるのでしょうか?

  • ACCESS テーブルのフィールド値の書込方法

    T1というテーブルにフィールド名”日付”(データ型は日付/時刻型)があります。 この日付は通常Q1という更新クエリのレコードの更新欄に date() を記入してその日の日付を記入するようにしています。 そこでこの日付をF1というフォームの非連結テキストボックス”テキスト1”に、例えば2014/04/03などと書くことにより、任意の日付を記入する方法を教えていただけないでしょうか。 よろしくお願いいたします。

  • 【access】テキストから日付へ変換するとエラーになる

    環境 OS:windowsXP pro Access:access2000 こんにちは。いつもお世話になっております。 テキスト形式(20080119)のデータをクエリで日付型(2008/01/19)にしたいのですが上手くいきません。 過去ログ等からCDATE(format([フィールド名],"yyyy/mm/dd"))とすれば良いというのはわかったんですが クエリを実行すると「#Error」となってしまいます。 ちなみに書く場所は選択クエリの「フィールド:」の所でいいんですよね?別フィールドを隣に挿入して記入しました。 テーブルのプロパティから書式を日付(S)に変更するとデータが消えてしまったのでそれは避けたいです。 他のやり方などありましたらご教授願います。よろしくお願い致します。