アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2000で質問です。

画面フォーム上のテキストボックスの書式を
日付(S)に設定し、PCのコントロールパネルより
日付の短い形式を和暦に設定しました。

画面の入力は、H19/mm/ddなどで入力できますが、
テーブルに保存する際、西暦に変換されて保存
されてしまいます。

テーブルの列は文字型です。


Access2.0のmdbを変換したもので、
すでにテーブルには、19/04/26などの
データが保存されており、なんとか、
画面のまま登録したいと思っています。

お力をお貸しください!

A 回答 (5件)

#3です



恐らくですが・・・

フォームのテキストボックスの「Value」(値)が書式のために「Variant/Date」(日付時刻型)で扱われ、テーブルの値が「Variant/String」(文字型)で扱われるために、フォームのコントロールからテーブルのフィールドに保管される際に型を変換して保管ってことになってる可能性が高いような気がします

だから・・・テーブルの文字型の値は西暦でって・・・
mm/dd/yy
か?
mm/dd/yyyy
とかで、保管されてません?

Acc2000だと、挙動不審な事が良くあったのでSRで修正を行ったのですが、直らずAcc97へ戻しました・・・他のAccに比べると安定性が低い記憶があるので、あまり使ったことがないのですが・・・

日付を文字型で入力し、データも文字型として扱う場合、書式は設定しません^^;

まぁ・・・日付時刻型に変更することをお勧めしますが^^;
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

テーブルの中身は、登録される際、
yy/mm/ddで登録されます。

Access2000の問題?!

お礼日時:2007/04/28 13:37

>それがテキスト型なんです。


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

不思議な現象ですね~^^;



で、テーブルの文字型の表示形式、定型入力は、どうなってますか?
> H19/mm/dd
で、入力したものが西暦で保管され・・・
> 19/04/26
で保管されているものもあるって・・・気にはなるのですが・・・

フォームのテキストボックスの書式に「日付(S)」が入ってるのが原因かも知れませんが・・・そもそも選択に出てこないはずのような^^;
    • good
    • 0
この回答へのお礼

回答ありがとうございます!

不思議ですよね!
おそらくテキストボックスに日付(S)が
入っているためだと思えてきました。

旧アクセスのmdbをバージョンアップしたものですが、
旧アクセスでは、これでテーブルにきちんと画面の
表示状態のままで書き込まれていたんですよね。

いまのままだと過去のデータを検索できなく
なってしまうので、どうしようか検討しています。

ありがとうございました。

お礼日時:2007/04/28 13:34

日付時刻型というのは、表示されているような文字列が入っているのではありません


正体は浮動小数点型の数値が入っています(数値ですから和暦も西暦もありません)
それを書式でいろんな風に表示させているのです

>すでにテーブルには、19/04/26などの
>データが保存されており、
これはそのような書式が設定されているからです
設定無しの場合にはウインドウズの設定になりますから
その書式を削除すれば

>画面フォーム上のテキストボックスの書式を
>日付(S)に設定し、PCのコントロールパネルより
>日付の短い形式を和暦に設定しました。
こうしてあれば和暦になるはずですよ

>テーブルの列は文字型です。
これは間違いでしょう
    • good
    • 0
この回答へのお礼

早速回答ありがとうございます!

>>テーブルの列は文字型です。
>これは間違いでしょう

それがテキスト型なんです。

お礼日時:2007/04/27 17:21

>画面の入力は、H19/mm/ddなどで入力できますが、テーブルに保存する際、西暦に変換されて保存されてしまいます。



西暦に変換されるということは、フィールドのデータ型は日付型になっていると思います。

和暦で表示されればいいだけなら、日付型のデータ型のままでプロパティの書式を「gee/mm/dd」に設定すれば和暦表示してくれます。
    • good
    • 0
この回答へのお礼

早速回答ありがとうございます!

>西暦に変換されるということは、フィールドのデータ型は日付型になっていると思います。

それがテーブルはテキスト型で書式設定は
しておりません。

お礼日時:2007/04/27 17:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!