主题:  请问,这样能实现吗?

云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#12003/6/20 10:31:27
有四个文本框,分别是起始年,起始月,结束年,结束月,当用户输入2002.10-2003.1提交后,如果要显示2002.10,2002.11,2002.12,2003.1,代码应该怎么写啊



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#22003/6/23 19:44:18
老大,能帮助我一下吗,很急



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#32003/6/24 2:19:53
提供一个算法吧,刚刚想的,不一定是最优。 哦不,一定不是最优。

自己写个程序看看? 如果有问题发上来大家帮你解决。

读取起始年起始月,Do ... Loop until 年变量=中止年 and 月变量 = 中止月。

循环体:月变量++,如果大于12,年变量++,月变量=1,输出。



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#42003/6/24 15:23:32
一个新的算法。 刚又看到这个,想出来的。

这个应该是最优了,我想。

变量a=中止年 - 起始年

if a = 0 then
 for 临时变量 = 起始月 to 中止月
  输出
 next
else
for 临时变量 = 起始月 to 12
 输出
next
for 临时变量 = 1 to a-1
 for 临时变量1 = 1 to 12
  输出
next
next
for 临时变量1 = 1 to 中止月
 输出
next



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#52003/6/25 11:42:20
老大,你真是太厉害了,佩服啊,但是我怎么把它应用到统计里去呢,比如
set conn=server.createobject("adodb.connection")
conn.Open strDBDSN
set rs=server.createobject("adodb.recordset")
sql="Select sum(a1) as b1 from count where (接下去怎么写啊,就是老大的程序用进去)"
rs.open sql,conn,0,1



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#62003/6/25 13:10:50
倒了…… 原来是要做这个用啊…… 有现成的函数的。

select * from TABLE where xxxx between 时间1 and 时间2



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#72003/6/25 14:07:34
昏,原来这么简单啊,我先前也问过这样的问题,没人理我,只好分步问了,不过也学到了知识,还是感谢老大的精彩回答

编辑历史:[这消息被stephen编辑过(编辑时间2003-06-25 14:08:38)]


云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#82003/6/25 15:34:57
老大,这样做的话如果输入2003.1-2003.3这种可以统计查询,如果输入2002.11-2003.2这种就不可以统计查询,这要怎么改啊



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#92003/6/26 9:20:06
老大,再帮忙看一下



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#102003/6/26 16:34:29
研究了一下午,还是找不到原因,帮忙各位看看啊



绿茶

职务:普通成员
等级:8
金币:10.0
发贴:19267
#112003/6/26 16:36:31
你得先把它转换成合法的日期表达式



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#122003/6/27 9:06:41
转成日期表达式(如:2002-12),我怎么跟数据库比较啊,数据库里的字段一个是year,一个是month



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#132003/6/27 13:10:06
stephen在上个帖子中说
引用:
转成日期表达式(如:2002-12),我怎么跟数据库比较啊,数据库里的字段一个是year,一个是month


倒了…… 存成一个字段不好吗? 叫time,类别是日期时间。



云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#142003/6/30 17:17:12
是不是这样啊,好像还是不会来,帮忙看看啊,可能红色地方不对吧我想
aaa=request("yearbof")"&-&"request("monthbof")
bbb=request("yeareof")"&-&"request("montheof")

set conn=server.createobject("adodb.connection")
conn.Open strDBDSN
set rs=server.createobject("adodb.recordset")
sql="Select sum(a1) as b1 from count where year"&-&"month between aaa and bbb"
rs.open sql,conn,0,1

编辑历史:[这消息被stephen编辑过(编辑时间2003-06-30 17:18:34)]


云中游

职务:普通成员
等级:2
金币:1.0
发贴:397
#152003/7/1 14:43:36
各位帮忙看看啊