设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1331|回复: 4
打印 上一主题 下一主题

[查询] 请教字段中部分不确定内容的统计

[复制链接]
跳转到指定楼层
1#
发表于 2009-12-18 14:54:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
字段中有若干人名,每人用空格分开,且顺序不固定。如何统计所有记录中每个人名出现次数 ?


如:下面字符分别代表汉字人名(两字或三字不等),人数不固定,之间有空格。


第一个记录 A B F Q
第二个记录 B C A
第三个记录 B
第四个记录 B S C
......
               B
               C
               J
               H L A
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2009-12-19 14:33:15 | 只看该作者
字段中有若干人名,每人用空格分开,且顺序不固定。如何统计所有记录中每个人名出现次数 ?


如:下面字符分别代表汉字人名(两字或三字不等),人数不固定,之间有空格。


第一个记录 A B F Q
第二个记录 ...
boczsg 发表于 2009-12-18 14:54





Private Sub Form_Close()
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM 表2;"
End Sub


Private Sub 统计_Click()
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset
Dim sql As String
Dim B As String
Dim i As Long

DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM 表2;"

sql = "select * from 表1"
rs1.Open sql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rs2.Open "表2", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
For i = 1 To rs1.RecordCount
    B = rs1("人员")
    Do While Nz(B, "") <> ""
        rs2.AddNew
        If InStr(B, " ") > 0 Then
            rs2("姓名") = Mid(B, 1, InStr(B, " ") - 1)
            B = Mid(B, InStr(B, " ") + 1)
        Else
             If InStr(B, " ") = 0 Then
                rs2("姓名") = B
                B = ""
             End If
        End If
        rs2.Update
    Loop
    rs1.MoveNext
Next
rs1.Close
rs2.Close
Me.列表.Requery
End Sub

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
 楼主| 发表于 2009-12-20 15:46:11 | 只看该作者
先谢谢!!
但是
提示:运行时错误‘429’
ACTIVEX部件不能创建对象。
4#
发表于 2009-12-20 15:51:05 | 只看该作者
具体问题需要看实例才能清楚
5#
 楼主| 发表于 2009-12-21 08:45:04 | 只看该作者
原来没有解压缩,直接在压缩文件内运行,所以提示出错。需要解压缩才能正常运行。
再次感谢todaynew!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-18 18:31 , Processed in 0.090427 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表