Private Sub Command2_Click()
If MsgBox("真的要删除~~这“”条~~数据吗?", vbQuestion + vbYesNo + vbDefaultButton2, "提示") = vbNo Then
Exit Sub
End IfDim i     As Long
With MSHFlexGrid1
For i = 1 To .Rows - 1                 '循环删除选种的行
If .TextMatrix(i, 0) = "√" Then             '删除选中的行
Adodc1.Recordset.ActiveConnection.Execute "Delete From Data Where " & Adodc1.Recordset.Fields(0).Name & "='" & Trim(MSHFlexGrid1.TextMatrix(i, 1)) & "'"
End If
Next i
End With以上代码运行没有问题,就是在msgbox里怎么判断我删除了几条记录啊?比如我选择删除2条数据,msgbox的提示就是~~真的要删除这2条数据吗?~~~

解决方案 »

  1.   

    改成这样子试试:
    Private Sub Command2_Click()Dim i     As Long
    With MSHFlexGrid1
    Dim sMsg As String
    For i = 1 To .Rows - 1
        If .TextMatrix(i, 0) = "√" Then
            If Len(sMsg) = 0 Then
                sMsg = "记录" & i
            Else
                sMsg = sMsg & vbCrLf & "记录" & i
            End If
        End If
    Next
    i = 0If MsgBox("真的要删除~~" & sMsg & "~~数据吗?", vbQuestion + vbYesNo + vbDefaultButton2, "提示") = vbNo Then
        Exit Sub
    End If
    For i = 1 To .Rows - 1                 '循环删除选种的行
    If .TextMatrix(i, 0) = "√" Then             '删除选中的行
    Adodc1.Recordset.ActiveConnection.Execute "Delete From Data Where " & Adodc1.Recordset.Fields(0).Name & "='" & Trim(MSHFlexGrid1.TextMatrix(i, 1)) & "'"
    End If
    Next i
    End With
      

  2.   

    Private Sub Command2_Click()
    Dim i As integerWith MSHFlexGrid1
    For i = 1 To .Rows - 1
        If .TextMatrix(i, 0) = "√" Then
            i=i+1
        End If
    NextIf MsgBox("真的要删除这" & i & "条数据吗?", vbQuestion + vbYesNo + vbDefaultButton2, "提示") = vbNo Then
        Exit Sub
    End If
    For i = 1 To .Rows - 1                 '循环删除选种的行
    If .TextMatrix(i, 0) = "√" Then             '删除选中的行
    Adodc1.Recordset.ActiveConnection.Execute "Delete From Data Where " & Adodc1.Recordset.Fields(0).Name & "='" & Trim(MSHFlexGrid1.TextMatrix(i, 1)) & "'"
    End If
    Next i
    End With
      

  3.   

    还是没解决。我想要的是~~比如我选择删除2条数据,msgbox的提示就是~~真的要删除这2条数据吗?hupeng213(小鹏) 的代码结果是~~比如我选择删除第1条和第3条数据,msgbox的提示的是~~真的要删除这第1条数据 第3条数据吗?hjker007() 的代码结果是~~选几条显示的结果都是一样的。
      

  4.   

    dim seltnum as long
    seltnum=0
    For i = 1 To .Rows - 1
        If .TextMatrix(i, 0) = "√" Then
         seltnum=seltnum+1
        End If
    Next i
     dim style,msg1,msg2,msg,retval
    msg1="真的要删除这"
    msg2="条记录吗?"
    msg=msg1 & seltnum & msg2
    style=vbquestion+vbyesno+vbdefaultbutton2
    retval=msgbox(msg,style,"提示")
    if retval=vbyes then
    ...
    else
    ...
    endif
      

  5.   

    scteam1() 的代码变量用错了,在加个变量就行了Private Sub Command2_Click()
      Dim i As integer
      Dim n As integer'添加的变量
      n=0
      With MSHFlexGrid1
        For i = 1 To .Rows - 1
            If .TextMatrix(i, 0) = "√" Then
               n=n+1
            End If
        Next    If MsgBox("真的要删除这" & n & "条数据吗?", vbQuestion + vbYesNo + vbDefaultButton2, "提示") = vbNo Then
           Exit Sub
        End If    For i = 1 To .Rows - 1                 '循环删除选种的行
            If .TextMatrix(i, 0) = "√" Then             '删除选中的行
               Adodc1.Recordset.ActiveConnection.Execute "Delete From Data Where " & Adodc1.Recordset.Fields(0).Name & "='" & Trim(MSHFlexGrid1.TextMatrix(i, 1)) & "'"
            End If
        Next i
    End With