Office中国论坛/Access中国论坛

标题: [求助]假如某个地方连续5次以上数据超标的,如何将这个地方筛选出来? [打印本页]

作者: vicever    时间: 2006-4-14 23:27
标题: [求助]假如某个地方连续5次以上数据超标的,如何将这个地方筛选出来?
我的表中有不同地区很多时间采集到的数据,现在已经根据地区和时间排了序,现在要把那些连续好几次采集的数据均超标的地区的数据全部

我的表中有不同地区很多时间采集到的数据,现在已经根据地区和时间排了序,现在要把那些连续好几次采集的数据均超标的地区的数据全部筛选出来.




不知道怎么在ACCESS中做,要读取各个行的数据,然后留出来判断

如附件的表中的一样,根据时间进行排序后,从上往下进行数据读取,假如在连续的3次测试中,指数都超过了75,则要把这个地区的所有数据全部提取出来。
[attach]17136[/attach]


[此贴子已经被作者于2006-4-14 15:56:15编辑过]


作者: andymark    时间: 2006-4-14 23:35
把例子简化上传
作者: vicever    时间: 2006-4-14 23:59
连续数据的读取,不懂


作者: wwwwa    时间: 2006-4-15 00:06
结果贴出来看看
作者: vicever    时间: 2006-4-15 00:08
结果??我就是想知道怎么得到结果,结果就是包括指标满足和不满足的所有的这个地区的数据都要。



假如这个地区连续三次指标超过75,那么这个地区所有的数据,包括指标没有超过75,但是是这个地区的数据,都要被筛选出来
作者: fan0217    时间: 2006-4-15 00:31
还是把你的例子放上来吧.
作者: vicever    时间: 2006-4-15 00:32
我放上了阿~
作者: andymark    时间: 2006-4-15 01:36
Dim ICount As Integer
Dim RsSql As String
Dim TemRsSql As String
Dim Sql As String
Dim StrName As String
Dim conn As New ADODB.Connection
Set conn = CurrentProject.Connection

TemRsSql = "SELECT First(地区) FROM 表1 GROUP BY 地区 "
TemRs.Open TemRsSql, CurrentProject.Connection, adOpenDynamic, adLockOptimistic


Do While Not TemRs.EOF
   StrName = TemRs.Fields(0)
   RsSql = "select * from 表1 where 表1.地区=  '" & Trim(StrName) & "' ORDER BY 表1.测试时间 DESC"   
   Rs.Open RsSql, CurrentProject.Connection, adOpenDynamic, adLockOptimistic

  ICount = 0
  Do While Not Rs.EOF
     If Rs.Fields("指数") > 75 Then
        ICount = ICount + 1
     Else
       ICount = 0
     End If
   
   If ICount = 3 Then
      MsgBox StrName & ICount
      GoTo ABC
   
    End If
    Rs.MoveNext
   Loop

ABC:

Set Rs = Nothing

TemRs.MoveNext

Loop



[attach]17140[/attach]


[此贴子已经被作者于2006-4-14 19:52:22编辑过]


作者: fan0217    时间: 2006-4-15 02:45



根据你的要求做的,不知道是否是你需要的.[attach]17151[/attach]


[此贴子已经被作者于2006-4-15 10:42:22编辑过]


作者: vicever    时间: 2006-4-19 17:00
标题: 对了~说的就是这个
谢谢了大侠~感激不尽




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3