我用ACCESS开发的SQL SERVER数据库,现在用户要求在窗体上只显示当前月的数据,就是说,这个月26号到下个月25号的数据才能显示,而我的查询是
SELECT [co_正极干混].[ID], [co_正极干混].[日期], [co_正极干混].[任务单号], [co_正极干混].[机号], [co_正极干混].[型号], [co_正极干混].[批号], [co_正极干混].[批量]
FROM co_正极干混
ORDER BY [日期];
窗体上已经绑定了这个数据源,如果为了满足要求,有两种方法,一种是窗体成为当前时,新建一能实现日期功能的查询,然后把这个查询绑定到窗体,二是修改这个查询本身。第2种方法不可取。
我不管什么方法,先要知道怎么写语句。
前面有人告诉我用convert函数,但在我的程序里,说这个函数没有定义。get_date()函数同样没有定义。
对日期处理一点都没经验,没有头绪,希望给点提示。

解决方案 »

  1.   

    Dim tempA As Date
    Dim tempB As Date
    tempA = Format(Date, "yyyy-mm")
    tempA = tempA + 25
    tempB = Format(Date, "yyyy-mm")
    tempB = tempB + 24
    tempB = DateAdd("m", 1, tempB)"SELECT [co_正极干混].[ID], [co_正极干混].[日期], [co_正极干混].[任务单号], [co_正极干混].[机号], [co_正极干混].[型号], [co_正极干混].[批号], [co_正极干混].[批量]
    FROM co_正极干混 where [co_正极干混].[日期]>=#" & Format(tempA, "yyyy-mm-dd") & "# and [co_正极干混].[日期]<=#" & Format(tempB, "yyyy-mm-dd") & "# ORDER BY [co_正极干混].[日期]"
      

  2.   

    "SELECT [co_正极干混].[ID], [co_正极干混].[日期], [co_正极干混].[任务单号], [co_正极干混].[机号], [co_正极干混].[型号], [co_正极干混].[批号], [co_正极干混].[批量] From co_正极干混 WHERE [日期] BETWEEN '" & Format(Date, "YYYY-MM") & "-26" & "' AND '" & Format(DateAdd("m", 1, Date), "YYYY-MM") & "-25" & "' ORDER BY [日期];"
      

  3.   

    也可以这样,已经在查询分析器里调试过:Select [co_正极干混].[ID], [co_正极干混].[日期], [co_正极干混].[任务单号], [co_正极干混].[机号], [co_正极干混].[型号], [co_正极干混].[批号], [co_正极干混].[批量] 
    From co_正极干混 
    Where [日期] Between
    Cast(SubString(Convert(NvarChar,GetDate(),111),1,8) + '26'  As DateTime) 
    And DateAdd(Month,1,Cast(SubString(Convert(NvarChar,GetDate(),111),1,8) + '25' As DateTime))
      

  4.   

    这个月26号到下个月25号的数据才能显示 这句话莫名其妙,下个月还没有到,哪来的数据呀。还有
    SELECT [co_正极干混].[ID], [co_正极干混].[日期], [co_正极干混].[任务单号], [co_正极干混].[机号], [co_正极干混].[型号], [co_正极干混].[批号], [co_正极干混].[批量]
    FROM co_正极干混
    ORDER BY [日期];
    看了半天发现是从一个表里取数据,我晕。看都看晕了,还写个屁。
      

  5.   

    二楼。。加个时间条件查询,>=最小时间
    <=最大时间