日付の入力チェック

解決


ぺこ  2005-11-11 22:52:46  No: 127562

VB1ヶ月の初心者です。皆さんのご意見を伺いたく質問しました。Maskプロパティで日付の入力を####/##/##と設定しました。この入力された日付に対して入力された日付が日付として扱えるかチェックするプログラムを作りたいのですが、入力された値をMid関数で月と日を取得しそのデータが日付として変換できなければエラーという風にしてもうまくいきません。入力された値<>日付とするソースをどのように書けばいいのか困っています。過去ログやネットでも調べましたが調べるのが下手で自分の納得できる回答が得られませんでした。開発環境はVB6.0です。よろしくお願いします。


ガッ  2005-11-11 22:58:01  No: 127563

> Maskプロパティで日付の入力を####/##/##と設定しました。
何の.Maskプロパティ?
下に書かれていることを考えれば、これは自作?

> この入力された日付に対して入力された日付が日付として扱えるかチェックするプログラムを作りたいのですが、
> 入力された値をMid関数で月と日を取得しそのデータが日付として変換できなければエラーという風にしてもうまくいきません。
どうしたのですか?なぜうまく行かないの?

> 入力された値<>日付とするソースをどのように書けばいいのか困っています。
CDate(入力された値)<>日付 ですか?


ぺこ  2005-11-11 23:06:40  No: 127564

ガッさんレスありがとうございます。
>何の.Maskプロパティ?

mskedBirthday.Mask = "####/##/##"      '型宣言
mskedBirthday.PromptChar = "_"         '下線
mskedBirthday.SelStart = 0             '選択されたテキストの開始点
mskedBirthday.SelLength = Len(mskedBirthday.Text) '選択されたテキストの文字数を設定します
誕生日をyyyy/mm/ddという形で入力できるようにしたものです。

>どうしたのですか?なぜうまく行かないの?
私のソースの書き方が悪いと思うのですがエラーメッセージ”型が一致しません”
と表示されます。

>CDate(入力された値)<>日付 ですか?
そうです。


ぶぶ  2005-11-11 23:42:10  No: 127565

どんなふうに組んでいて、どこの部分でエラーがでるのか?
そのエラーがでている分のコードを出されたほうが回答は早いかも・・・

>>何の.Maskプロパティ?
>mskedBirthday.Mask = "####/##/##"      '型宣言
>mskedBirthday.PromptChar = "_"         '下線
>mskedBirthday.SelStart = 0             '選択されたテキストの開始点
>mskedBirthday.SelLength = Len(mskedBirthday.Text) '選択されたテキストの文字数を設定します
>誕生日をyyyy/mm/ddという形で入力できるようにしたものです。
何のコントロールを使用しているのか聞かれているかと思うのですが・・・・


ぺこ  2005-11-11 23:57:18  No: 127566

>何のコントロールを使用しているのか聞かれているかと思うのですが・・・・
すいません。そういう意味だったんですね。コントロールはMicroSoft Mask Edit Control6.0(SP3)です。

>どんなふうに組んでいて、どこの部分でエラーがでるのか?
>そのエラーがでている分のコードを出されたほうが回答は早いかも・・・
いろいろ思考錯誤して上手くいかなくてコードを全部消してしまったんですが、Midで取得した月をCDateで変えてって言うふうにすると日付以外の数字を入力した場合に"型が一致しません"と当然エラーが出てしまいます。なので入力された数字が変換出来ない数であると判断させたいのです。説明になってなかったらすいません。


あん  2005-11-12 00:05:27  No: 127567

IsDateを調べてみましょう


ぺこ  2005-11-12 00:11:58  No: 127568

こういう関数があったのですね。勉強不足です。ご協力いただいたみなさんありがとうございました!!


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加