初めて、利用します!!
テキストボックスに日付型のデータを入れたら、
指定した日付型のフォーマットに変換する関数を作ってます。
例えば、[20010101]と入力したら[2001/01/01]に変換!
それで、入力桁数によって・・・年月日をそれぞれ算出しようとしてました。
例えば、2桁入力時は[1桁目]を「月」[2桁目]を「日」という具合に!
そうしていくうち、5桁入力時に、年と月と日の判断をどうやったら良いのか
わからなくなってしまいました。
今、考えられるケースとしては [YYYYM][YYMMD][YYMDD]なのですが
判断の方法を教えてください。_(_^_)_
※Y:年 M:月 D:日
No.1ベストアンサー
- 回答日時:
>今、考えられるケースとしては [YYYYM][YYMMD][YYMDD]なのですが
そうですね。定まりませんね。
11111
と入力されたとき、
1年11月11日
11年11月1日
11年1月11日
111年1月1日
これは判断がつきません。
入力の書式が決まらないことには、プログラムで勝手に判断をつけるわけには行きません。
なので制限をつけるとか、MsgBoxを出して注意を促したり、Popupのフォームを出し、候補をリスト一覧に出し、ユーザー側に選択させるとかが必要になると思います。
なんにしても、この仕様では無理だと思います。(^^;)
ありがとうございます。<m(__)m>
やはりそうですよねぇ・・・
各年月日の間に[/]が入っていれば以下の要領で大丈夫なのですが・・・
If IsDate(変数) Then
変数 = Format(変数, "yyyy/mm/dd")
End If
No.5
- 回答日時:
(1)日付の入力桁は固定とし指定桁数以外の入力桁ははじく。
(2)IsDate関数を使用し日付値としての整合性チェックを行う。
(3)整合性が確認できれば任意のフォーマットに変換し出力。
でどう?
No.4
- 回答日時:
再度、田吾作7です。
>各年月日の間に[/]が入っていれば以下の要領で大丈夫なのですが・・・
そうですね[/]が入っていたら、日付の区切りが定まりますね。
しかし、[/]が存在しない要領では、法則がありません。
2つ以上のパターンが存在するならば、プログラムで勝手な判断をするわけにはいきません。
ユーザーの意思と反する結果を生む恐れがあるからです。
ユーザーの意思を反映させるためには
(1)ありえない法則はエラー
(2)ユーザーに問い合わす
という処理を行うべきだと思います。
No.3
- 回答日時:
こんにちは。
maruru01です。No.1の方の言う通り、桁数を自由にして自動的に判断というのは、限界があります。
したがって、年、月、日を別のテキストボックス(またはコンボボックス)で入力するか、8桁連続入力にして、文字数判定をする(+日付として無効かどうかの判定も)などにした方がよいと思います。
日付の入力程度のことに自由度を持たせても、プログラムが煩雑になるのでやめた方がいいと思います。
では。
ありがとうございました。_(._.)_
やはり桁数は固定で10桁、もしくは8桁固定が作る方としても楽です!
とにもかくにも、(ソフトとか別のOCXを使わずに)テキストボックスで
フォーマットが上手くできればいいのですがねぇ!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング初心者です。 Py...
-
プログラミングの問題で、キー...
-
WindowsでEOF
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
Excel VBAで、Application.Inpu...
-
C言語 While文(ループ)内の...
-
C言語 逆ピラミッドの作り方
-
Eclipseコンソール表示を、リセ...
-
わかりません・・・。
-
getchar()について 教えてくだ...
-
ワードで文字を入力する時の変...
-
C言語でgetchar();が上手く使え...
-
C言語scanf_sで何故か2回入力に...
-
電卓の小数点
-
最大公約数と最小公倍数を求め...
-
Userformの入力順序をタブオー...
-
C言語の勉強しています。すみま...
-
C言語の非標準コンソール関数ge...
-
[WOLF RPG エディター] 音ゲー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング初心者です。 Py...
-
正負を反転させて出力するプロ...
-
数字以外が入力されたらエラー...
-
Eclipseコンソール表示を、リセ...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
cout関数を使っているのですが...
-
ワードで文字を入力する時の変...
-
VB.NETで16進数+16進数や16進...
-
scanf が無視されます
-
batプログラム上で文字列を入力...
-
入力候補を表示させるには・・・?
-
getchar()について 教えてくだ...
-
プログラミングの問題です 「金...
-
Linuxで入力待ちなしkeyread関...
-
Userformの入力順序をタブオー...
-
コマンドプロンプトからのEOFの...
-
VisualStudio2019のコードアナ...
-
WindowsでEOF
-
"gets"は危険なのでしょうか?
おすすめ情報