我在一个绑定数据库字段的更新事件里写程序:
Private Sub 领料_单录入_AfterUpdate()
Dim str As String
If Left(领料_单录入, 1) = "=" Then
str = 领料_单录入
领料_单录入.ControlSource = str
领料_单 = 领料_单录入
领料_单录入.ControlSource = "领料_单1"
领料_单录入 = str
Else
MsgBox ("请先输入'='")
领料_单录入.SetFocus
End If
End Sub
目的是强制要求使用者先输入“=”,但我只能想到用MSGBOX警告一下,并且警告一次后光标跳走了,
不但不能强制的再检查而且连光标也控制不住。
大家有没有什么好的解决方法。

解决方案 »

  1.   

    把 = 号做成一个label不就号了,为什么一定要输入=号呢?
      

  2.   

    或者用“领料_单录入” 的keypress事件,检查输入的第一个字符的asc码是不是61,如果是就接受,否则就不接受!
      

  3.   

    领料_单录入.SetFocus
    领料_单录入.SelLength = Len(领料_单录入)
      

  4.   

    代码如下:
    Private Sub 领料_单录入_KeyPress(KeyAscii As Integer)
    If Len(领料_单录入.Text) < 1 Then
      If KeyAscii <> 61 Then
        KeyAscii = 0
      End If
    End If
    End Sub