我咋老搞不定這個問題啊?各位幫忙

shetianlang 2005-11-04 11:59:26
代碼:
IF not Rs.eof then
Board_volume = 0
Arrow_Num = ""
For i = 0 to Rs.recordcount -1
Total_weight = Total_weight + Rs("intact_boxes").value IF Board_volume >=46.7 then
Board_volume = 0
Total_weight = 0
Arrow_Num = Arrow_Num&","& i-1
Rs.MovePrevious
End IF
End IF
Rs.MoveNext
Next
End IF

目的:
假設rs有10筆記錄,我要到達如下效果:
For回圈運行為:
0,1,2,3,4,5,5,6,7,8,8,9

請各位高手指教,我總是得不到這個結果.怎么才可以呢?
...全文
148 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
shetianlang 2005-11-05
  • 打赏
  • 举报
回复
終于知道咋給分了,哈哈!
結帖!
shetianlang 2005-11-05
  • 打赏
  • 举报
回复
^-^
搞定了,謝謝各位指導!不勝感激啊!
lisoon 2005-11-04
  • 打赏
  • 举报
回复
不明白。。。
monkeyhjl 2005-11-04
  • 打赏
  • 举报
回复
没看懂。Board_volume 总等于0呀!
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
不好意思,代碼有錯,如下:
IF not Rs.eof then
Board_volume = 0
Arrow_Num = ""
For i = 0 to Rs.recordcount -1
Total_weight = Total_weight + Rs("intact_boxes").value IF Board_volume >=46.7 then
Board_volume = 0
Total_weight = 0
Arrow_Num = Arrow_Num&","& i-1
Rs.MovePrevious
End IF
Rs.MoveNext
Next
End IF

請指導,謝謝!
dh20156 2005-11-04
  • 打赏
  • 举报
回复
楼主,还是你啊,那个问题还没搞好么?
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
明白了,明白了,所以這里不需要Rs.MovePrevious了是不是?
Croatia 2005-11-04
  • 打赏
  • 举报
回复
那你输出的东西呢?什么意思?

哦,大概看懂了你什么意思。

也知道了你错误的地方。你在〉46.7的时候,
Total_weight = 0这句话错了,这个时候Total_weight应该是当前的这个值。
比如说你的数据第4条的地方,加上的时候,就超过,但是不能把Total_weight清成0。
应该是5.5。

你明白吗?错误就在这里。
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
運行結果跟我要的有點象,試下,謝謝掃街客!
lisoon 2005-11-04
  • 打赏
  • 举报
回复
dim a(10)
a(0)=20
a(1)=10
a(2)=5
a(3)=25
a(4)=8
a(5)=9
a(6)=5.5
a(7)=7
a(8)=20
a(9)=10

total=0
temp=0
getNum=""
commod=""
for i=0 to ubound(a)
total=total+temp+a(i)
if total>46.7 then
temp=a(i)
total=0
key=temp&","&temp
else
key=a(i)
end if
getNum=getNum&commod&key
commod=","
next
response.Write getNum
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
sorry,程序復制掉了一部分:
如下:
IF not Rs.eof then
bExist = true
Board_volume = 0
Arrow_Num = ""
For i = 1 to Rs.recordcount
Board_volume = Board_volume + Rs("volume").value
IF Board_volume >=46.7
Board_volume = 0
Total_weight = 0
Arrow_Num = Arrow_Num&","& i-1
Rs.MovePrevious
End IF
Rs.MoveNext
Next
End IF

就是要得到真確的Arrow_Num的值
monkeyhjl 2005-11-04
  • 打赏
  • 举报
回复
看不懂你的程序呀!
Board_volume = 0
Arrow_Num = ""
For i = 0 to Rs.recordcount-1
Total_weight = Total_weight + Rs("intact_boxes").value
IF Board_volume >=46.7 then
Board_volume的值没有变呀?真的读不懂你的程序。
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
哎,還是沒人理我的茬,重新想辦法好了.
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
不好意思重說一次:
數據例子如下:
id,volume
1,20
2,15
3,10
4,5.5 '此處由于20+15+10+5.5>46.7則表示要把1,2,3筆記錄放在一起(實際應用中是裝子)
5,20
6,15
7,10 '5.5+20+15=10>46.7所以把4,5,6放在同一個箱子,
依此類推,就是說當總體積>46.7時候就要把該筆記錄重新run一次,累加到第二個箱子中去.
不知道這么說大家明白沒有?
asp_m 2005-11-04
  • 打赏
  • 举报
回复
偶也看了好几遍了,楼主是啥意思哦,没表达清楚,我们怎么帮你呢?
monkeyhjl 2005-11-04
  • 打赏
  • 举报
回复
monkeyhjl(爬上墙头等红杏):

你還真沒看懂.謝謝關注.
---------------------------------------
我是看了好几遍了,Board_volume值有变化吗???
lisoon 2005-11-04
  • 打赏
  • 举报
回复
就是為了輸出這一串數字?0,1,2,3,4,5,5,6,7,8,8,9?
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
我暈了,大家指導一下啊,該咋改下才可以.
shetianlang 2005-11-04
  • 打赏
  • 举报
回复
monkeyhjl(爬上墙头等红杏):

你還真沒看懂.謝謝關注.

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧