• ベストアンサー

数値型のテキストボックスを文字型に変えたい

環境:XP&ACCESS2003 数値型のコントロールソースを持つテキストボックスがあります。このテキストボックスに、例えば「8+7」と入力するために、文字型に変換したいのですが。 *このコントロールソースの更新後処理に Me!テキスト0 = Eval(テキスト0) と記述しています。 数値型なので、「数値型の為入力できません」旨のエラーが出てしまいます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.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)
回答No.1

> 例えば「8+7」と入力するために、 非連結のテキストボックスを作成して、そちらに入力してください。 で、 Me.フィールド名 = Eval(Me!テキスト1) のようにしてみてください。

関連するQ&A