- ベストアンサー
数値型のテキストボックスを文字型に変えたい
環境:XP&ACCESS2003 数値型のコントロールソースを持つテキストボックスがあります。このテキストボックスに、例えば「8+7」と入力するために、文字型に変換したいのですが。 *このコントロールソースの更新後処理に Me!テキスト0 = Eval(テキスト0) と記述しています。 数値型なので、「数値型の為入力できません」旨のエラーが出てしまいます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
エラーは、Trim(str(N)) で回避します。 1、A {Enter} --> 0 を許容する。 2、A + A ----> ヌルとする。 などの基本形は、次のようです。 Private Sub Test_AfterUpdate() On Error GoTo Err_Test_AfterUpdate Dim strShiki As String Dim N As Long strShiki = Me.Test & "" If InStr(1, strShiki, "+", vbTextCompare) Or InStr(1, strShiki, "-", vbTextCompare) Then N = Eval(strShiki) Else N = Val(strShiki) End If Exit_Test_AfterUpdate: Me.Test = IIf(N = -99999, "", Trim(Str(N))) Exit Sub Err_Test_AfterUpdate: N = -99999 Resume Exit_Test_AfterUpdate End Sub *0をヌルに置換する場合は、-99999 を 0 に!
その他の回答 (1)
- Gin_F
- ベストアンサー率63% (286/453)
> 例えば「8+7」と入力するために、 非連結のテキストボックスを作成して、そちらに入力してください。 で、 Me.フィールド名 = Eval(Me!テキスト1) のようにしてみてください。