Private Sub Comexit_Click()
  
  If firstflag Then
     msg = Trim(InputBox("请输入类别名称,使用“X”代替任意字符,用“?”代替单个字符"))
     msg = "ProductName like'" & msg & "'"
     Data1.Recordset.FindFirst msg
     If Data1.Recordset.NoMatch Then
            MsgBox "找不到记录", vbOKOnly
     Else
        firstflag = False
        Comexit.Caption = "下一个"
     End If
  Else
     Data1.Recordset.FindNext msg
     If Data1.Recordset.NoMatch Then
        MsgBox "已经搜索到了结尾", vbOKOnly
        
'     Else
        firstflag = True
        Comexit.Caption = "搜索...."
     End If
'     If Comadd.Value = True Then '这两句代码,是为了解决当运行“检索”后,再按一下“添加”,则“检索” 上的字符恢复为检索。但还是解决不了。
'        Comexit.Caption = "退出" '
'     End If
  End If
End Sub

解决方案 »

  1.   

    在你的这个过程中,Comadd.value永远都不会为真的,因为这个时候Comexit.value为真。
    建议你定义一个全局变量boolAdded,在Comadd_click中赋值为真,然后在Comexit中判断并把它设为假。
    If boolAdded Then 
        Comexit.Caption = "退出" 
        boolAdded = False
    End If
      

  2.   

    这位兄台,先谢谢你热心的帮我解答问题,但我用过后还是不行,我现在也糊涂了,可否请兄台将booladded的用法说得再详细一点。谢谢!
      

  3.   

    我不太清楚你的目的,你的Comexit是什么按钮?(添加、删除、更新、检索)?
    请说具体一点
      

  4.   

    哈哈,看名字就知道啦 comexit 就是com_exit ,这还看不懂吗
      

  5.   

    gogogovb(没故事的男孩): 我知道,可能你没有看他的问题,他一共有四个按钮(添加、删除、更新、检索),没有说有退出按钮呀。
    lk0707(刘珂):昨天太忙,没有详细跟你说。你最好把你的这个form发给我,我帮你改好后发回给你。[email protected]
      

  6.   

    lk0707(刘珂):你把Form2_Load改为Form_Load。
      

  7.   

    Data1.Recordset.Update改为Data1.UpdateRecord