
No.5ベストアンサー
- 回答日時:
>例えば「8+9」と入力しEnterを押すと「17」と表示されるようにしたい
#4の方も回答してありますが
テキストボックスのプロパティでフォーカスの喪失時のイベントで
Private Sub テキスト0_Exit(Cancel As Integer)
Me!テキスト0 = Eval(テキスト0)
End Sub
とすれば出来ます。
Enterキーを押してフォーカスが次のコントロールに移動するときに8+9であれば17となります。
Evalを使えば+だけでなく*や-でも評価して値を返してくれます。
No.4
- 回答日時:
Enterキー以外でも実行されてしまいますが。
Private Sub テキスト0_AfterUpdate()
On Error Resume Next
テキスト0 = Eval(テキスト0)
End Sub
No.3
- 回答日時:
テキストボックスのKeyDownイベントで、
If KeyCode = vbKeyReturn Then
'ここに処理
End If
とします。
処理内容は、
「Val(Left(TextBox.Text, InStr(1, TextBox.Text, "+") - 1)) +
Val(Mid(TextBox.Text, InStr(1, TextBox.Text, "+") + 1))」
とでもします。
ただし上記の例では、「+」がひとつの場合なので、
複数あるときは「+」の位置を取得しながらそれぞれの数値を取得し、計算してください。ループ処理ですね。
1個目の[+]位置:InStr(1, TextBox.Text, "+")
2個目の[+]位置:InStr(InStr(1, TextBox.Text, "+") + 1, TextBox.Text, "+")
No.2
- 回答日時:
まあ、何でもかんでも CutStr関数を使うのが私のやり方です。
Private Sub Test_AfterUpdate()
Me.Test = Val(CutStr(Me.Test, "+", 1)) + Val(CutStr(Me.Test, "+", 2))
End Sub
Public Function CutStr(ByVal Text As String, _
ByVal Separator As String, _
ByVal N As Integer) As String
Dim strDatas() As String
strDatas = Split("" & Separator & Text, Separator, , 0)
CutStr = strDatas(N * Abs((N <= UBound(strDatas))))
End Function
No.1
- 回答日時:
テキストボックスの値をを一文字づつ判定して”+”を割り出します。
”+”の前後の数値を変数に退避後足してテキストボックスの値に返します。イベントはフォーカスが外れるときを使うと自然な動きになると思いますが、キーダウンで”ENTER”を拾うとご質問の動作になると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- Access(アクセス) Accessの参照フィールドの列がずれてしまいます 1 2023/07/19 15:00
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- Access(アクセス) Dlookupにエラーがでてしまう 1 2022/10/31 14:35
- MySQL データベースの複製の仕方(mysql) 2 2023/05/30 18:24
- Visual Basic(VBA) テキストボックスの値を該当セルに登録する方法 2 2022/11/23 18:47
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Windows Me・NT・2000 widows xpのエラーで利用ができなくなりました 3 2022/12/21 13:43
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
passwordが入れられません・・・・
-
アクセスで数値型のフィールド...
-
access 通貨型 表示桁数 4捨...
-
MYSQLのTEXT型で?表示
-
Accessの定型入力
-
フォームで入力しても反映されない
-
オートコンプリートの仕組みは?
-
率のデータ表記について
-
アクセスで「8+9」→Enter→「17...
-
テーブルを3つにするとクエリ...
-
ワードで、一部分だけ書き込め...
-
access日付チェックの方法
-
MA ACCESSデータベースに詳しい...
-
このオブジェクトに値を代入す...
-
アクセス2007 フォーム入力で...
-
Access2003について教えてください
-
アクセス コンボボックスのリ...
-
顧客管理について教えて下さい。
-
ひらがな、カタカナ、漢字をま...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースのINT型項目にNULL...
-
アクセスで数値型のフィールド...
-
passwordが入れられません・・・・
-
フォームで入力しても反映されない
-
Excelで入力したデータを自動的...
-
アクセスのテキストボックスの...
-
Access(office)のマクロの「値...
-
Access2007、フォームのテキス...
-
このオブジェクトに値を代入す...
-
入力規則違反-任意のエラーメ...
-
Accessで西暦の年だけ表示したい
-
Access2007 textboxに入力でき...
-
ACCESS2000にて「うるう年」の...
-
Access2000VBAでEscキーを禁止!
-
【Access】 VBA 入力漏れを防...
-
EXCELのユーザーフォームで入力...
-
Accessで小数の入力について
-
ファイルメーカー 一ヵ月後の...
-
アクセス2003 入力規則
-
ユーザーフォームで数字にカン...
おすすめ情報