我想做一个在access中查询是否从当日开始有连续日期  但是好像不对。请高手指点。
                         yyy = Year(Date)
                         mmm = Month(Date)
                         ddd = Day(Date)
                         ymd1 = yyy & "年" & mmm & "月" & ddd & "日"
                         ymd2 = yyy & "年" & mmm & "月" & ddd - 1 & "日"
                         ymd3 = yyy & "年" & mmm & "月" & ddd - 2 & "日"     strConnAcc = "select * from 黄色高温预警 where 年月日= '" & ymd1 & "'and 站点='" & righ(ii) & " '"
     RsAcc.Open strConnAcc, ConnAcc, 1, 1
     If RsAcc.RecordCount > 0 Then                            '连续一天,如果记录存在
     ss = "第一天出现"
     End If
     RsAcc.Close
                            
                           
      strConnAcc = "select * from 黄色高温预警 where 年月日= '" & ymd2 & "'and  年月日= '" & ymd1 & "'and 站点='" & righ(ii) & " '"
      RsAcc.Open strConnAcc, ConnAcc, 1, 1
      If RsAcc.RecordCount > 0 Then                            '连续二天,如果记录存在
      ss = "第二天出现"
      End If
      RsAcc.Close
      strConnAcc = "select * from 黄色高温预警 where 年月日= '" & ymd3 & "'and 年月日= '" & ymd2 & "'and 年月日= '" & ymd1 & "'and 站点='" & righ(ii) & " '"
       RsAcc.Open strConnAcc, ConnAcc, 1, 1
      If RsAcc.RecordCount > 0 Then                            '连续三天,如果记录存在
      ss = "第三天出现"
      End If
      RsAcc.Close

解决方案 »

  1.   

        
      strConnAcc = "select * from 黄色高温预警 where 年月日>='" & Format(Date-2, "yyyy年mm月dd日")"' and 年月日<='" & Format(Date, "yyyy年mm月dd日") & "' and 站点='" & righ(ii) & "' Order By 年月日 DESC"  RsAcc.Open strConnAcc, ConnAcc, 1, 1
      If (RsAcc.RecordCount > 0) And (RsAcc!年月日 = Format(Date, "yyy年mmm月ddd日")) Then
      ss = Mid("一二三", RsAcc.RecordCount, 1)
      ss = "第" & ss & "天出现"
      End If
      RsAcc.Close建议:
    1 日期字段用 DateTime 型,而不是 Text 型。查询更快,也易于处理。  strConnAcc = "select * from 黄色高温预警 where 年月日>=#" & Format(Date-2, "yyyy-mm-dd")"# and 年月日<=#" & Format(Date, "yyyy-mm-dd") & "# and 站点='" & righ(ii) & "' Order By 年月日 DESC"2 字段名最好用西文。