プロが教える店舗&オフィスのセキュリティ対策術

使っている環境はVB6.0です。
テキストボックスで例えば、「2008816」のように入力すると西暦・月・日にちの順で「20080816」のように「西暦」や「月」や「日にち」に必要があれば「0」を挟んで表示できるように入力制御をかけたいのですが何か良い方法はないでしょうか?
西暦も「08」と打つと「2008」となるようにしたいです。

A 回答 (3件)

ある程度制限をかけた入力求めた方がよさそうに感じます


たとえば 最低年月日の入力には6桁必要であるとか
無制限の場合『08111』の入力を
2008/1/11と処理するのか 2008/11/1と処理するのか判断できますか?

6桁の制限をかければ
2008/1/11は 080111
2008/11/1は 081101
といった具合になりこれなら Left/Right/Midなどの文字列処理で年月日を分解できます

この回答への補足

桁数は8桁に制限をかけていますので良い方法はないでしょうか?

補足日時:2008/08/18 12:02
    • good
    • 0

質問文より:


> 「2008816」のように入力すると

#1さんへの補足文より:
> 桁数は8桁に制限をかけていますので

えぇっと、どういうことでしょうか?

入力で、桁数に8桁の制限をかけているということですか?
であれば、「2008816」は7桁なので、入力エラーですよね?

もしかして、表示するときに8桁の制限をかけているということですか?
それは、制限とは言いませんよ。
    • good
    • 0

こういうのは理論的に筋が通らないので、プログラマーはやりません。


入力データは厳密な入力チェックをしてデータを処理に入れないと、世の中を騒がす事態になる場合があるからです。
なるべくデータを生かそうなんて甘い考えはやめるべきです。
年、月、日は別のボックスに入れさせて各々チェックするとか、カレンダコントロールを使うのがよいのかなと思いますが。
    • good
    • 0

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