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

Access2000のフォーム上でのデータの抽出で困っています。
[生年月日年]には、生年月日の年(和暦:2桁)が格納されています。
ここから、[生年月日年1]に生年の上1桁を抽出したいのですが、何も抽出
されません。

下記のようなコードを記述してみたのですが、うまくいきません。
どうしたらよいでしょうか?

Private Sub 生年月日年1_Enter()
Me![生年月日年1] = MidB([生年月日年], 1, 1)
End Sub

ちなみに、LeftB もやってみましたが、結果はやはり何も抽出されませんでした。
Mid や Left は固定文字列からの抽出にしか使えないのでしょうか?

おわかりになるかた、できるだけ簡単なコードをご教示いただければ、幸いです。

A 回答 (2件)

こんにちは。

maruru01です。
これでどうですか。

Me![生年月日年1].Text = Left(Me![生年月日年].Value, 1)

では。
    • good
    • 0
この回答へのお礼

ありがとうございました。
また、お礼が遅くなってしまってすいません。

やってみたところ、非常にうまくいきました。
MID でもうまくいきました。

お礼日時:2002/05/14 08:39

Accessでは、文字列には Unicode が採用されています(たしか、Access95 以降からだったと思います)ので、半角文字も2バイトになります。


そのため、MidB や LeftB 関数を使う場合には、数字も2バイト文字として考える必要があります。
(詳しくは、HELPの Unicode 形式 を参照してください。)

具体的には、
Me![生年月日年1] = LeftB([生年月日年], 2)
または、
Me![生年月日年1] = Left([生年月日年], 1)
とすれば、ご希望の処理が可能になると思います。
    • good
    • 0
この回答へのお礼

ありがとうございました。
また、お礼が遅くなってしまってすいません。

半角文字も2バイトだとは知りませんでした。
さっそくチャレンジしてみます。

お礼日時:2002/05/14 08:42

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