两个列在datagrid输出如下图  
name  nc  
a          b  
b          c  
c          b  
d          t  
e          y  
如果在datagrid控件nc列出现两个b那么程序给出提示信息“以经有两个B了”,如果出现两个c在给出提示信息“以经有2个c了”  
谢谢各位兄弟!!这个问题我会令加分的!!

解决方案 »

  1.   

    这样看看:
    select1="select nc from table_name group by nc having count(*)=2 "
    if rs.state=1 then rs.close
    rs.open select1,cn,1,3
    if rs.eof or rs.bof then exit sub
    do while not rs.eof
     msgbox "有2个"+rs.fields("nc")
    rs.movenext
    loop
      

  2.   

    Set Conn = New ADODB.Connection
       Set Rs = New ADODB.Recordset
        Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\wlj.mdb;Persist Security Info=False"
        Conn.Open
      If Rs.State = 1 Then Rs.Close
    Rs.Open "select xb from d1 group by xb having count(*)=2", Conn, 1, 3
    If Rs.EOF Or Rs.BOF Then Exit Sub
    Do While Not Rs.EOF
     MsgBox "有2个" + Rs.Fields("nc")
    Rs.MoveNext
    Loop------------------
    根本没有什么提示啊!!兄弟。。把那里换成要 找的东西(b) 啊。。
      

  3.   

    没有提示,那就可能没有记录啊。如果只是为了找B的话:
    Set Conn = New ADODB.Connection
       Set Rs = New ADODB.Recordset
        Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\wlj.mdb;Persist Security Info=False"
        Conn.Open
      If Rs.State = 1 Then Rs.Close
    Rs.Open "select xb from d1 where xb='b' group by xb having count(*)=2", Conn, 1, 3
    If Rs.EOF Or Rs.BOF Then Exit Sub
    Do While Not Rs.EOF
     MsgBox "有2个" + Rs.Fields("nc")
    Rs.MoveNext
    Loop
      

  4.   

    在DataGrid控件中
    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
     Dim i As Integer,str(100) as string,g as integer
     For i = 0 To DataGrid1.VisibleRows
        DataGrid1.Row = i
        str(i)=dataGrid1.Columns(1).Text
        for g=0 to i
          If DataGrid1.Columns(1).Text = str(g) Then
             MsgBox str(i) & " 以经存在", vbInformation + vbOKOnly, "数据重复"
          End If
        next g
     Next i
    end sub