• 締切済み

日付の入力制御

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

みんなの回答

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.3

質問文より: > 「2008816」のように入力すると #1さんへの補足文より: > 桁数は8桁に制限をかけていますので えぇっと、どういうことでしょうか? 入力で、桁数に8桁の制限をかけているということですか? であれば、「2008816」は7桁なので、入力エラーですよね? もしかして、表示するときに8桁の制限をかけているということですか? それは、制限とは言いませんよ。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

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

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

ある程度制限をかけた入力求めた方がよさそうに感じます たとえば 最低年月日の入力には6桁必要であるとか 無制限の場合『08111』の入力を 2008/1/11と処理するのか 2008/11/1と処理するのか判断できますか? 6桁の制限をかければ 2008/1/11は 080111 2008/11/1は 081101 といった具合になりこれなら Left/Right/Midなどの文字列処理で年月日を分解できます

teruteru2
質問者

補足

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

関連するQ&A