• ベストアンサー

和暦で入力してそのままテーブルに保存したい

Access2000で質問です。 画面フォーム上のテキストボックスの書式を 日付(S)に設定し、PCのコントロールパネルより 日付の短い形式を和暦に設定しました。 画面の入力は、H19/mm/ddなどで入力できますが、 テーブルに保存する際、西暦に変換されて保存 されてしまいます。 テーブルの列は文字型です。 Access2.0のmdbを変換したもので、 すでにテーブルには、19/04/26などの データが保存されており、なんとか、 画面のまま登録したいと思っています。 お力をお貸しください!

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

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.5

#3です 恐らくですが・・・ フォームのテキストボックスの「Value」(値)が書式のために「Variant/Date」(日付時刻型)で扱われ、テーブルの値が「Variant/String」(文字型)で扱われるために、フォームのコントロールからテーブルのフィールドに保管される際に型を変換して保管ってことになってる可能性が高いような気がします だから・・・テーブルの文字型の値は西暦でって・・・ mm/dd/yy か? mm/dd/yyyy とかで、保管されてません? Acc2000だと、挙動不審な事が良くあったのでSRで修正を行ったのですが、直らずAcc97へ戻しました・・・他のAccに比べると安定性が低い記憶があるので、あまり使ったことがないのですが・・・ 日付を文字型で入力し、データも文字型として扱う場合、書式は設定しません^^; まぁ・・・日付時刻型に変更することをお勧めしますが^^;

accessvba
質問者

お礼

回答ありがとうございます。 テーブルの中身は、登録される際、 yy/mm/ddで登録されます。 Access2000の問題?!

その他の回答 (4)

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

>それがテキスト型なんです。 テキスト型なら >画面の入力は、H19/mm/ddなどで入力できますが、 >テーブルに保存する際、西暦に変換されて保存 >されてしまいます。 こんなことにはなりません 入力した文字列が勝手に別のものに書き換わったりしたら データベースとして成り立たないことになりますね

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.3

不思議な現象ですね~^^; で、テーブルの文字型の表示形式、定型入力は、どうなってますか? > H19/mm/dd で、入力したものが西暦で保管され・・・ > 19/04/26 で保管されているものもあるって・・・気にはなるのですが・・・ フォームのテキストボックスの書式に「日付(S)」が入ってるのが原因かも知れませんが・・・そもそも選択に出てこないはずのような^^;

accessvba
質問者

お礼

回答ありがとうございます! 不思議ですよね! おそらくテキストボックスに日付(S)が 入っているためだと思えてきました。 旧アクセスのmdbをバージョンアップしたものですが、 旧アクセスでは、これでテーブルにきちんと画面の 表示状態のままで書き込まれていたんですよね。 いまのままだと過去のデータを検索できなく なってしまうので、どうしようか検討しています。 ありがとうございました。

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

日付時刻型というのは、表示されているような文字列が入っているのではありません 正体は浮動小数点型の数値が入っています(数値ですから和暦も西暦もありません) それを書式でいろんな風に表示させているのです >すでにテーブルには、19/04/26などの >データが保存されており、 これはそのような書式が設定されているからです 設定無しの場合にはウインドウズの設定になりますから その書式を削除すれば >画面フォーム上のテキストボックスの書式を >日付(S)に設定し、PCのコントロールパネルより >日付の短い形式を和暦に設定しました。 こうしてあれば和暦になるはずですよ >テーブルの列は文字型です。 これは間違いでしょう

accessvba
質問者

お礼

早速回答ありがとうございます! >>テーブルの列は文字型です。 >これは間違いでしょう それがテキスト型なんです。

  • nodatia
  • ベストアンサー率0% (0/4)
回答No.1

>画面の入力は、H19/mm/ddなどで入力できますが、テーブルに保存する際、西暦に変換されて保存されてしまいます。 西暦に変換されるということは、フィールドのデータ型は日付型になっていると思います。 和暦で表示されればいいだけなら、日付型のデータ型のままでプロパティの書式を「gee/mm/dd」に設定すれば和暦表示してくれます。

accessvba
質問者

お礼

早速回答ありがとうございます! >西暦に変換されるということは、フィールドのデータ型は日付型になっていると思います。 それがテーブルはテキスト型で書式設定は しておりません。

関連するQ&A

  • Accessで、和暦で入力、西暦で保存は問題ないですか?

    宜しくお願いします。 Accessで相手先や書類送付した日付等をテーブルで保存し フォームに配置したテキストボックスで表示、更新等を行おうとしています。 テーブルの方ではデータ型を『日付/時刻型』に設定したのみ。 テキストボックスの書式に『gggee\年mm\月dd\日』 テキストボックスの定型入力に『"平成"99\年99\月99\日;0;_』 と設定しています。 すると、テキストボックスでの表示や入力は和暦で行われるのですが テーブルに保存されたデータは西暦になります。 入力や表示は和暦の方が業務上分かりやすく、今後和暦が変更になったりソートをかけたりする時にはデータは西暦が良いと思っていたので 丁度良い状態なのですが、何か気をつけないといけない事などあるのでしょうか? 熟知していないのに作っているので、後々に問題点が出たら困ると思って、稼動開始前に質問させて頂きました。 何かご存知の情報などありましたら、お願いいたします。

  • Accessでの和暦の入力

    Accessで、データベースづくりをすることになりました。 初歩的な質問なのですが、教えてください。 日付入力で、今まで西暦は作ったことがあるのですが、今回和暦を入力する 方法がわからなくて困っています。 テーブルから、日付/時刻型を選び、定型入力から「和暦日付(T,S,H)」を 選びました。 入力できるようになったのはいいのですが、表示が西暦に直されて出てきます。 和暦でそのまま出したいのです。 どこが間違っているのでしょうか。本を見ても書いてなかったので、教えていただきたいと思います。 お願い致します。 OSはWinxp、office2000を使って作っています。

  • エクセル2007で西暦を和暦に

    エクセル2007ですが、生年月日が西暦で「1958/07/18」と入力されているものを、昭和33年7月18日という具合に変換させるにはどうすればよいですか? マニュアルには、セルの書式設定→日付→カレンダー種類を西暦から和暦に変更すればよいように 書いてますが、うまくいきません。

  • 和暦入力の方法

    ACCESS2000を使用して社員情報を作成しました。 生年月日などの日付入力のフィールドを西暦で入力して、その横に和暦を表示させているのですが、書類は和暦表示になっている場合が多いので、入力を和暦にして横に西暦表示も出来ればと考えています。 H14.09.12 平14.09.12 と入力すると、横に自動で2002/09/12 と表示したいのです。 よろしくお願いします。

  • 日付データの西暦・和暦について

    よろしくお願いします。 Vb2005とAccess2003でWinアプリを開発しています。 データベースに日付データを西暦で蓄積して、期間合計を出したりその他の処理を行っていました。 フォーム上にDateTimePikerやMonthCalendarといったユーザーコントロールを配置していますが、これも西暦です。 印刷等もすべて西暦表示で行っています。 これを、すべて和暦にして欲しいと言われたのですが、Accessのデータベースも和暦で日付データを蓄積するのが良いのでしょうか? それとも、フォーム上で和暦で入力されたデータを西暦に変換して蓄積するほうが普通なのでしょうか? 元号が変更になった場合等を考えれば、帳票類も西暦のほうがプログラムの変更(更新)の手間がなく良いような気がするのですが、和暦って結構ニーズがあったりしますでしょうか?(私は経験が浅いのでよくわからず、素朴な疑問です) DateTimePikerの和暦表示については、紹介サイトがあったのですが、MonthCalendarについては和暦表示できるのかわかりませんでした。方法がありましたら教えてください。 日付の西暦・和暦について、アプリケーションを作るうえでのアドバイス等もありましたらあわせてお願い致します。

  • Accessで和暦でも西暦でも入力・表示可能にするには?

    Accessのフォームで生年月日を入力するテキストボックスを配置しています。 基本は和暦入力なのですが、外国人の方もいるため、西暦入力のこともあるのです。 和暦で入力した場合は和暦で、西暦で入力した場合は西暦で表示されるようにしたいのですが、何かよい方法はないでしょうか?

  • Access 生年月日を西暦入力し和暦表示方法は

    Access2013 テーブルに短いテキスト形式で生年月日を西暦(0000/00/00)と入力してあるのですが、これを基に、フォームでは和暦(昭和00年00月00日)と表示させる設定方法を教えてください。よろしくお願いします。

  • ACCESSでの和暦表示

    ACCESSでの日付のデータを和暦で表示したいのですがどのようにしたら良いのか分かりません。エクセルのように表示形式についてレパートリーはないのでしょうか。 データ入力段階では平成などとして入力するようには出来ましたが、「書式」の中に表示に関してはどうしても和暦が見つかりません(西暦表示ならいくつかありました)

  • アクセスでのテーブルデータ入力

    テーブルでデータ入力を作成してますが 日付フィールドで    56/12/01 と入力したいのに、エンターキーで確定すると    31/12/01 と和暦で表示されてしまいます。 どうしたら西暦2桁で表示できますか? データ型は日付/時刻、定型入力は西暦日付の 年/月/日 に設定してあります。

  • Excelで和暦直接入力

    Excelで、和暦を直接入力したいのですが可能なのでしょうか? 西暦を書式設定で和暦表示にするとかではなく、直接できるようにしたくて、、、 あと年だけ表示にして、月と日は、表示されないようにしたいです、、 わかる方いたら教えて下さい!

専門家に質問してみよう