我在MSFlexGrid中加了一个文本框Text进行编辑(焦点在MSFlexGrid中移动时候Text可以一起移动,在Text中输入的数据自动填充到MSFlexGrid对应的单元格中)。
我的问题是:在输入时怎么校验输入的数据是否合法?比如:某列的值必须为数值,某列的值必须存在数据库中???

解决方案 »

  1.   

    '限制输入框只能输入数字
    Public Sub KeyValid(KeyAscii As Integer)
    Dim strValid As String
        strValid = "0123456789.-"
        If KeyAscii > 26 Then
            If InStr(strValid, Chr(KeyAscii)) = 0 Then
                KeyAscii = 0
            End If
        End If
    End Sub
      

  2.   

    Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
        If  (KeyAscii < 48 Or KeyAscii) > 57 Then
            KeyAscii = 0
        End If
    End Sub
      

  3.   

    to:cuilei197979(风)
    strValid = "0123456789.-"
    其中的"-"表示什么意思,通配符??
      

  4.   

    还有一些问题:
    我是通过设置Text1.locked=true来控制MSFlexGrid的某些列不可编辑,不知道有没有其它更好的办法。
    另外,我不知道是不是因为这个原因,导致在MSFlexGrid中敲回车时不能左右移动单元格,现在只能通过左右上下键来移动单元格。
      

  5.   

    MSFlexGrid中敲回车本来就不能左右移动单元格。