VB6,ACCESS2000开发一个工作日报系统。碰到一问题。
假设我的日报只填写到了8月9日,那么对应的日报表里面的日期最后到8月9日。补写日报的时候,如果只用SQL能否实现下面的查询结果:
8月10日
8月11日
8月12日
8月15日也就是从今天往前没有填写的日期列出来,并且把周六周日去掉。
我在窗体上放一个Spread,用来显示日期,然后用户通过选择日期,进行补写。如果只用SQL无法实现,应该如何处理,请高手给点思路!!

解决方案 »

  1.   

    看一下下面的贴有帮助不
    http://community.csdn.net/Expert/topic/4197/4197980.xml?temp=.5428583
      

  2.   

    select * from table where date > '2005-8-9' and DATEPART(week, select date from table where date > '2005-8-9') <> 0 or DATEPART(week, select date from table where date > '2005-8-9') <> 6
    没试
    不知道有好多错误 ^@^~
      

  3.   

    主要是"把周六周日去掉"有難度.
    在SQLServer中有判斷星期几的功能﹐ACCESS不太熟悉有沒有.
    建義加一個臨時表只要日期字段,用VB判斷日期并填入。
    SELECT 臨時表.日期,日报.內容 From 臨時表 Left Outer Join 日报 On 臨時表.日期=日報.日期.
      

  4.   

    各位大哥,
    8月10日
    8月11日
    8月12日
    8月15日
    这几个日期,在日报表中是不存在的。
    能通过SQL,显示出来吗?
      

  5.   

    没有的怎么能查找的到?
    自己在程序里添加记录到RecrodSet可能能行
      

  6.   

    用臨時表完全可以解決啊!想用Recordset讀取﹐一定要先在數據庫中存在的.
    如果你不是用的綁定式報表﹐也可以在VB中用代碼加到報表中.
      

  7.   

    在ACCESS中日期前后要加 # 号才可以查询!!SQL中不需要!!!
      

  8.   

    严重同意vansoft观点,添加一判断字段
      

  9.   

    用存储过程吧
    1、select max(日期字段) into :aaa from 表
    2、取当前服务器日期bbb
    3、得到aaa到bbb的间隔天数nnn
    4、for循环,取出日期,判断是星期六、星期日就不要
    5、输出最终结果
    6、在vb中填入combox
      

  10.   

    我刚才想了一下,好象直接通过JET-SQL里写出答案好象不大可能,我提供一个思路:用date()和你现有日期相减,知道相差的天数,在通过VB里的日期相加函数,这样就可以得到每一个可以补报的日期了。如果需要剔除星期六和星期天,也可以通过VB里的日期函数判断然后去掉!
      

  11.   

    感谢各位老大的指点,我换了一下思路:
    在Form上放一个MonthView,让使用者选择日期进行补写,
    这样程序就简单多了。以后如果需要的话,再改吧,呵呵