Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

如何查询帐号相同而姓名不同的多条记录

a63521557  发表于:2007-11-09 20:18:30  
复制

请教一个问题,数据表中相同帐号且相同姓名的记录有多条,但不允许帐号相同而姓名不同的多条记录存在,如何建一个查询,将数据表中帐号相同而姓名不同的数据筛选出来。盼知者相告为谢!

 

Top
竹笛 发表于:2007-11-09 20:26:50
建一个查询,按帐号分组,按姓名计数.然后排序一下

a63521557 发表于:2007-11-09 22:26:20


a63521557 发表于:2007-11-09 22:45:28

谢谢bamboo回复!恕我愚钝,仍不知该如何处理。现列出数据表的示例如下,该表是通过筛选帐号重复的记录而得到的

部分数据(实际数据有800多条记录),其中序号3~13的记录,出现了相同帐号不同姓名的情况,如何将其再筛选出来以

更正之?盼高手能给出具体的查询语句示例,多谢了!

序号 帐号    姓名   数目
1    12206802   陈朝金 2452
2    12206802   陈朝金 20
3    12367905   陈朝权 20
4    12367905   陈朝全 1994
5    17452704   陈大升 5
6    17452704   陈大生 7
7    17452704   陈大生 1368
8    17452704   陈大生 165
9    17452704   陈大生 55
10   0001857032 代德强 238
11   0001857032 代德强 40
12   0001857032 代德强 79
13   0001857032 代得强 1311
14   12291103   代宏建 30
15   12291103   代宏建 30
16   12291103   代宏建 2103
17   12291103   代宏建 90
18   12283808   代生华 235
19   12283808   代生华 1031
20   12283808   代生华 71
21   0002786313 代生菊 35
22   0002786313 代生菊 60
23   0002786313 代生菊 612
24   0001528724 董长学 605
25   0001528724 董长学 32
26   0001528724 董长学 114
27   0001528724 董长学 814
28   12301405   董祥英 25
29   12301405   董祥英 913



竹笛 发表于:2007-11-09 23:37:33
SELECT 帐号, Count(姓名) AS 重复次数 FROM 表名称 GROUP BY 帐号 ORDER BY Count(姓名) DESC;

a63521557 发表于:2007-11-10 00:46:21

不行呀,查询语句“

SELECT 帐号, Count(姓名) AS 重复次数 FROM 表名称 GROUP BY 帐号 ORDER BY Count(姓名) DESC;

”只能统计出帐号重复的次数,不能筛选出帐号相同且姓名不同的记录,也就是将示例数据表中序号3~13的记录筛选出来。



a63521557 发表于:2007-11-11 15:39:42

哈,看来还是求人不如求已,问题已通过编程,变通解决了!

方法如下:

先建一个带数据表查询的表格窗体(查询数据已按身份证号排序),然后,再在其表格窗体的页眉上,建一个命令按钮,

其代码内容为:

Private Sub 命令4_Click()

    Dim ZH0, XM0 As String
    Dim Check As Boolean

    Check = True
    DoCmd.GoToRecord , , acFirst
    Do While Me.Recordset.RecordCount > Me.CurrentRecord
        ZH0 = [帐号]
        XM0 = [姓名]
        DoCmd.GoToRecord , , acNext
        Do While [帐号] = ZH0
            If [姓名] = XM0 Then
                DoCmd.GoToRecord , , acNext
            Else
                Check = False
                Exit Do
            End If
        Loop
        If Check = False Then
            Exit Do
        End If
    Loop
    If Check = False Then
        MsgBox "出现同帐号且不同姓名的记录,请更正之!", , "出 错 了"
    Else
        DoCmd.GoToRecord , , acLast
        MsgBox "未有同帐号且不同姓名的记录,检查通过!", , "恭 喜 了"
    End If

End Sub

反复执行该命令,直到通过检查为止!



a63521557 发表于:2007-11-11 15:42:20
更正一点上面的内容:(查询数据已按帐号排序)

a63521557 发表于:2007-11-11 15:44:28
这个BBS怎么了?发帖及回复不能修改?

a63521557 发表于:2007-11-11 15:45:31


总记录:9篇  页次:1/1 9 1 :