• ベストアンサー

oracle8に接続、Access97での質問

oracleのテーブルのフィールドには日付がありまして、このフィールドにはデータとして200010と入っています。これをAccess97のフォーム上で読み込んだときは2000/10という風に表示させたいのですがどうすればいいのですか?反対にAccess97のフォーム上に2000/10(定型入力で9999\/99;0、書式でyyyy/mm)と入力して登録ボタンをクリックしたときolacleのテーブルに200010という風にデータを格納したいのですがどうか教えてください。よろしくお願いします。

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

  • ベストアンサー
  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.1

DateValue(Left(文字列, 4) & "/" & Right(文字列, 2)) で日付型の2000/10/01になります(日付シリアル値です) ですから表示上やAccessのテキストボックスでの編集は日付で行えます。 oracleに格納するときはこの日付を文字列編集して上げれば言い訳です。 format(日付,"yyyymm") で200010と言う文字列に変換されるのでそれをSQLに渡してください。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Te-Sho
  • ベストアンサー率52% (247/472)
回答No.2

#1から補足です。 テキストボックスの値はVariant型です。そこに2000/10などの日付形式を入力するとその値は日付シリアル値で格納されます。(1970/01/01からの日数の数値) この日付シリアル値を文字列に変換するのがFormat関数です。数値のカンマ編集なども出来、非常に便利な関数ですので一度HELPを参照してみてください。 ちなみにDatevalue関数は日付形式の文字列を日付シリアル値に変換する関数です。

moshamosha
質問者

お礼

本当に親切丁寧な説明でありがとうございます!これでなんとかできそうです!また質問を今から書き込みますのでもしよろしくれば教えてもらえればこれ幸いです。

すると、全ての回答が全文表示されます。