用vb程序在sql表中某删除用户名的操作
txtyhm  用户名
txtmm   密码
txtmm1  确认密码我写的代码如下:
Private Sub cmddel_Click()
    Dim txtsql As String
    Dim mrc As ADODB.Recordset
    Dim msgtext As String
    
   If Trim(txtyhm.Text) = "" Then
        MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "警告"
        Exit Sub
        txtyhm.SetFocus
    Else
        txtsql = "select * from user_xinxi "
        Set mrc = ExecuteSQL(txtsql, msgtext)
        While (mrc.EOF = False)
            If Trim(mrc.Fields(0)) = Trim(txtyhm) Then
                MsgBox "用户名存在,请输入密码!"
                txtmm.SetFocus
                txtmm.Text = ""
                txtmm1.Text = ""
            Exit Sub
         Wend
    
    If Trim(txtmm.Text) <> Trim(txtmm1.Text) Then
        MsgBox "两次输入密码不一样,请确认!", vbOKOnly + vbExclamation, "警告"
        txtmm.SetFocus
        txtmm.Text = ""
        txtmm1.Text = ""
        Exit Sub
        
    Else
        If txtmm.Text = "" Then
            MsgBox "密码不能为空!", vbOKOnly + vbExclamation, "警告"
            txtmm.SetFocus               
            txtmm.Text = ""
            txtmm1.Text = ""
        Else
            mrc.Delete                             
            mrc.Fields(0) = Trim(txtyhm.Text)
            mrc.Fields(1) = Trim(txtmm.Text)
            mrc.Update
            mrc.Close
            Me.Hide
            MsgBox "删除用户成功!", vbOKOnly + vbExclamation, "删除用户"
        End If
    End IfEnd Sub    在运行时出现错误,可能是if语句的嵌套不对,请帮我详细地改改,谢谢! mrc.Delete 删除语句是这样吗?

解决方案 »

  1.   

    老大,你的if语句真的错了很错地方
    有if 却没有end if 
    有个地方还把exit sub 放在txtyhm.SetFocus的前面,都退出了,后面的怎么执行啊 
    建议你仔细检查一下啊
      

  2.   

    Private Sub cmddel_Click()
        Dim txtsql As String
        Dim mrc As ADODB.Recordset
        Dim msgtext As String
        
       If Trim(txtyhm.Text) = "" Then
            MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "警告"
            Exit Sub
            txtyhm.SetFocus
        Else
            txtsql = "select count(*) from user_xinxi where 用户名='" & txtyhm.text & "'"
            Set mrc = con.execute(txtsql)
            if mrc.fields(0).value>0 then
                if msgbox("用户存在,确认要删除该用户吗?",vbyesno)=vbyes then
                    txtsql="delete user_xinxi where 用户名='" & txtyhm.text & "'"
                    Set mrc = con.execute(txtsql)
                    MsgBox "删除用户成功!", vbOKOnly + vbExclamation, "删除用户"
                    unload me
                end if
            else
                msgbox "用户不存在"
                exit sub
            end if 
        end if
    End Sub
      

  3.   

    MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "警告"
            Exit Sub
            txtyhm.SetFocus
    应为
            MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "警告"
            txtyhm.SetFocus
            Exit Sub
      

  4.   

    谢谢cpliu,我按你的程序改了,可以实现删除功能,但我希望加上以下语句:
    If Trim(txtmm.Text) <> Trim(txtmm1.Text) Then
            MsgBox "两次输入密码不一样,请确认!", vbOKOnly + vbExclamation, "警告"
            txtmm.SetFocus
            txtmm.Text = ""
            txtmm1.Text = ""
            
    请帮我再改一下,谢谢!
      

  5.   

    我把窗体改为只需两个条件就可以删除记录,用户名txtyhm和密码txtmm
    程序如下:
        Private Sub cmddel_Click()
        Dim txtSQL As String
        Dim mrc As ADODB.Recordset
        Dim MsgText As String
        
       If Trim(txtyhm.Text) = "" Then
            MsgBox "请输入用户名!", vbOKOnly + vbExclamation, "警告"
            txtyhm.SetFocus
      Else
            txtSQL = "select count(*) from user_xinxi where user_id='" & txtyhm.Text & " '"
            Set mrc = ExecuteSQL(txtSQL, MsgText)
            If Trim(mrc.Fields(0)) = Trim(txtyhm) Then
             MsgBox "此用户存在,请输入密码!", vbOKOnly + vbExclamation, "警告"
             txtmm.SetFocus
                                
           If Trim(mrc.Fields(0)) = Trim(txtmm.Text) Then
              If MsgBox("用户名和密码输入都正确,确定要删除该用户吗?", vbYesNo) = vbYes Then
                    txtSQL = "delete user_Info where user_id ='" & txtyhm.Text & "'"
                    Set mrc = ExecuteSQL(txtSQL, MsgText)
                     MsgBox "删除成功!", vbOKOnly + vbExclamation, "删除用户"
                    Unload Me
             
             
              Else   MsgBox "密码输入不正确,请重新输入!"
              txtmm.SetFocus
                                                     
            Else
                MsgBox "用户不存在"
                Exit Sub
            End If
            End If
            End If
            
    if和else我搞的比较乱,运行后弹出的信息顺序很乱,希望大家帮我改改