hatena
hatena
2024/03/11 (月) 16:33:56
客先から受け取るCSVデータをインポートすると短いテキスト型になっており、値も"240311”の6桁です。
ということなら、下記のような感じで入力チェックするといいかと思います。
そうしないと、正しくない値が入力されたときに、抽出結果も正しいものになりません。
StartDueDate = Trim(Nz([txb_納期検索1], ""))
If StartDueDate Like "######" Then
If Not IsDate(Format("20" & StartDueDate, "0000/00/00")) Then
MsgBox "日付としてありえない値です。yymmddの書式で日付を入力してください。"
txb_納期検索1.SetFocus
Exit Sub
End If
Else
MsgBox "数字6桁で入力してください。"
txb_納期検索1.SetFocus
Exit Sub
End If
'EndDueDate も同様にチェック
あるいは、テキストボックスの定型入力プロパティに
000000;;_
と設定しておくと数字6桁の入力が強制されますので、日付チェックのみで済みます。
StartDueDate = Trim(Nz([txb_納期検索1], ""))
If Not IsDate(Format("20" & StartDueDate, "0000/00/00")) Then
MsgBox "日付としてありえない値です。yymmddの書式で日付を入力してください。"
txb_納期検索1.SetFocus
Exit Sub
End If
通報 ...
回答ありがとうございます!
意図しない入力を防ぐ仕組みも必要ということですね。