次の方法で共有

Accessのテキストボックスのキー入力イベントで特定条件に当てはまったら指定書式に整形したい

Anonymous
2023-04-24T11:20:55+00:00

Access2020において、

テキストボックスへのキーボード入力を監視し、

もしテキストボックスの値が特定条件に当てはまるときは、

その値を特定の書式に自動的に整形するようにしたいです。

コードの例をお教えいただけないでしょうか?

例:もし半角数字4文字であれば、時刻形式に自動変更する

1)テキストボックスにすでに "031" とあり、その文字列の最後にフォーカスがある

2)"5" と打つ("0315" となる)

3)半角数字4桁という条件に合致するので、テキストボックスの文字列を自動的に "03:15" に変更する

環境:Windows 11 Home、Access 2020(いずれも自動更新で安定最新版)

どうかよろしくお願い申し上げます。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2023-04-27T06:53:53+00:00

> もしテキストボックスの値が特定条件に当てはまるときは、> その値を特定の書式に自動的に整形する> もし半角数字4文字であれば、時刻形式に自動変更する

「テキストボックスに入力できる値を時刻データのみに制限したい
というのが本来の目的なのであれば、テキストボックスの
[書式]プロパティと[定型入力]プロパティの設定だけで
充分そうですが。

少なくとも「半角数字4文字」という条件では単純すぎるでしょう。

例えばテキストボックスに "9999" という文字列が入力されたとして、
それを強制的に "99:99" という文字列に変換しても
それは時刻データとしては扱うことの出来ない値です。

もしそのテキストボックスのコントロールソースが日付/時刻型の
フィールドであるなら、当然その値を保存することは出来ません。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2023-04-27T11:23:00+00:00

    ありがとうございます。その方法で解決できました。

    IMEから「いま」などの文字列を変換して現在時刻を入力したりしていたので

    定型入力を使うのはよく考えないまま避けていたのですが、

    特定のキーが押された時には現在時刻に変換するようにしました。

    大変お世話になりました!

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2023-04-27T05:28:34+00:00

    記事が翻訳されていて、うまく動作しませんでした。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2023-04-24T13:06:14+00:00

    こんにちは

    私はアブダルです、そして私はあなたの質問を手伝ってくれてうれしいです。

    はい、Access では、テキスト ボックス コントロールの After Update イベントを使用してこれを実現できます。使用できるコード例を次に示します。

    プライベートサブYourTextBox_AfterUpdate() 文字列としての strInput の薄暗い

    strInput = Me.YourTextBox.Value

    '入力が正しい形式であるかどうかを確認します(例:4つの半角数字) Len(strInput) = 4 かつ IsNumeric(strInput) の場合、

    '入力を目的の形式(時間形式など)にフォーマットします strInput = Left(strInput, 2) & ":" & Right(strInput, 2)

    '書式設定された入力でテキスト ボックスを更新します Me.YourTextBox.Value = strInput

    終了する場合

    エンドサブ

    これで、ユーザーが指定された条件(4つの半角数字)を満たす値をテキストボックスに入力すると、コードは自動的に入力を目的の形式(時間形式など)にフォーマットします。

    この情報がお役に立てば幸いです。

    よろしく

    アブダル

    この回答は自動翻訳されています。文法や表現の誤りが発生した場合はご容赦ください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません