Microsoft Access 掲示板

フィルターの式が正しく書けない / 12

14 コメント
views
4 フォロー
12

客先から受け取る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
通報 ...
  • 13
    驚天動地!前任者失踪丸 2024/03/12 (火) 08:33:07 23e8e@44ebd >> 12

    回答ありがとうございます!
    意図しない入力を防ぐ仕組みも必要ということですね。