次の方法で共有

Accessのフォームのテキストボックスへの入力を監視し値が特定の条件のとき特定の処理をするには

Anonymous
2023-04-29T11:28:13+00:00

Accessのフォームのテキストボックスで、

ユーザーの入力を監視し

(おそらくChangeイベントで)、

テキストボックスの文字列が特定の条件に当てはまる場合に、特定の処理をしたいです。

たとえば、

「文字列が半角アルファベット2文字である場合は、値を "a" に変更して、Tabキーを送信する。

それ以外の場合は何もしない」

という動作をさせたいです。

目的は、入力の省力化です。

つきましては、どのようにコードを書けばよいかお教え願えないでしょうか。

なお、以前似た質問を申し上げて途中で切り上げましたが、やはり解決したく思っております。

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

環境: Windows11、Access2022、いずれも自動更新最新版

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

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

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

15 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2023-05-01T02:47:36+00:00

    > Accessのフォームのテキストボックスで、> ユーザーの入力を監視し> (おそらくChangeイベントで)、> テキストボックスの文字列が特定の条件に当てはまる場合に、> 特定の処理をしたいです。

    テキストボックスの Change イベントの発生時に
    そのテキストボックス自身の値を書き換えるのは
    連鎖イベントを招く恐れがあるため、基本的に推奨されません。

    > 文字列が半角アルファベット2文字である場合は、> 値を "a" に変更して、Tabキーを送信する。

    ・そのテキストボックスは、具体的にどのような属性の値を
     入力するためのものなのか。

    ・何故「半角アルファベット2文字」の入力を禁止するのか。

    ・「a」という値にどのような意味が込められているのか。

    > それ以外の場合は何もしない

    ・3 文字以上の長さの文字列が入力されてもよいのか。

    とりあえず、以上の点について明記されることをお奨めします。

    > 目的は、入力の省力化です。

    今のところの印象として、もっと適切な方法があるのではないかと思います。

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

    0 件のコメント コメントはありません
  2. Anonymous
    2023-05-01T01:44:33+00:00

    変更時じゃなくて、更新前処理か更新後処理か・・・確認撮らせずに変更して次の入力なら更新後の方かな

    Me.フィード名を検証、代入して入力確定すれば、タブオーダーをしっかり管理しとけば次のフィールドに進む、と

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

    0 件のコメント コメントはありません
  3. Makapu 92,110 評価のポイント ボランティア モデレーター
    2023-04-29T21:35:08+00:00

    Md Abdal Khanさん、こんにちは。

    せっかく回答いただいたモジュールが英語から日本語に翻訳されてしまい、VBA コードとして機能しない状況になっています。

    (例)

    Private Sub → プライベートサブ

    End Sub →エンドサブ

    IA のプラットフォーム外から修正、または投稿すると、確証はないのですが自動翻訳されずに済むかもしれません。

    よろしければお試しになってみてはいかがでしょうか。

    Accessのフォームのテキストボックスへの入力を監視し値が特定の条件のとき特定の処理をするには - Microsoft コミュニティ

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

    0 件のコメント コメントはありません
  4. Anonymous
    2023-04-29T14:40:47+00:00

    こんにちは

    残念ながら、これ以上のトラブルシューティングはありません。

    フォーラムには多くの知識のあるユーザーが活動しており、他の誰かがあなたの問題についてさらに洞察を提供できることを願っています。

    感謝 アブダル

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

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

    0 件のコメント コメントはありません
  5. Anonymous
    2023-04-29T12:25:18+00:00

    こんにちは

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

    Microsoft Access フォームのテキスト ボックスへのユーザー入力を監視し、値が特定の条件下で特定のアクションを実行するために使用できるサンプル コードを次に示します。

    プライベートサブtxtMyTextBox_Change() ' ユーザーが入力した値を取得します 文字列としての dirm strValue strValue = Me.txtMyTextBox.Value

    ' 値が特定の条件を満たしているかどうかを確認します len(strValue) = 2 かつ IsNumeric(Left(strValue, 1)) かつ IsNumeric(Right(strValue, 1)) の場合、 ' 文字列が 2 つの半角数字の場合は、値を "a" に変更して Tab キーを送信します。 Me.txtMyTextBox.Value = "a" DoCmd.RunCommand acCmdTab 終了する場合 エンドサブ

    コードの動作は次のとおりです。

    1.Private Sub txtMyTextBox_Change() イベントは、ユーザーがテキストボックスの値を変更するたびに発生します。 2. 「文字列として dirm strValue 」ステートメントは、ユーザーが入力した値を保持する strValue という変数を宣言します。 3. strValue = Me.txtMyTextBox.Value ステートメントは、ユーザーが入力した値を strValue 変数に割り当てます。 4. If Len(strValue) = 2 and IsNumeric(Left(strValue, 1)) and IsNumeric(Right(strValue, 1)) Then ステートメントは、値の長さが 2 かどうか、および最初と 2 番目の文字が数字であるかどうかをチェックします。 5. 手順 4 の条件が満たされている場合、Me.txtMyTextBox.Value = "a" ステートメントはテキスト ボックスの値を "a" に変更し、DoCmd.RunCommand acCmdTab ステートメントは Tab キーを押して次のコントロールに移動します。

    txtMyTextBox をテキスト ボックスの名前に置き換え、要件に基づいて条件とアクションを調整できます。

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

    よろしく

    アブダル

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

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

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