能不能具体的讲讲,最好给个例子。
我有个想法:能不能动态的显示数据库里的记录?比如,我在数据库里存了1为数据库,11为计算机111为电气自动化,在text文本框里输入连续的1,当输入1的时候显示数据库,11的时候显示计算机,111的时候显示电气自动化!!!而不需要执行事件。请帮我想想办法,谢谢。给我个例子,我感激不尽!!!!1

解决方案 »

  1.   

    不需要执行事件是不可能的,不过可以利用timer控件,这样不需要用户进行额外的操作(系统开销较大)。建议使用textbox的keypress事件,应该可以满足你的要求。不过,你的想法有问题,想输入11,必须要先输入1吧,就是说显示计算机之前必须要显示数据库,而很明显显示数据库是没用的,这样会增加计算机的开销,所以,我的建议是,加个按钮,处理按钮的事件。
      

  2.   

    用timer控件也需要事件吧??
    Private Sub Text1_Change()
        Select Case Text1.Text
            Case "1"
               text1.text="数据库"
            Case "11"
               text1.text="计算机"
            Case "111"
               text1.text="电气自动化 "
        End Select
    End Sub
      

  3.   

    首先明确一点,不执行事件计算机怎么才能更新textbox呢?不可能吧?建议你把这些数据都取出来放到数组里,在change事件里面根据.text来查找相应的数据,这样速度会比较理想。Option ExplicitPrivate strA(1 To 3, 1 To 2) As StringPrivate Sub form_load()
     strA(1, 1) = "1"
     strA(2, 1) = "11"
     strA(3, 1) = "111"
     strA(1, 2) = "数据库"
     strA(2, 2) = "计算机"
     strA(3, 2) = "电气自动化"
    End SubPrivate Sub textbox_change()
        Dim i As Integer
        For i = LBound(strA()) To UBound(strA())
            If strA(i, 1) = textbox.Text Then
                MsgBox strA(i, 2)
            End If
        Next i
    End Sub
      

  4.   

    没有事件WINDOWS怎么工作?不可能的,肯定要用过程或者函数来处理事件,解决你的问题。另外你这种动态方法不好,最好用无连接的记录集对象来操作,触发事件可以用TEXTBOX的LOSTFOCUS或CHANGE或干脆分出来用按钮什么的好了。不过LOSTFOCUS用的不好会死锁,不推荐。
      

  5.   

    使用text1_change嘛
    在这个事件里面查找数据库,找到了就显示,找不到就不显示