a********t 发帖数: 1810 | 1 当i=1时.等号右的"MDS(nHomesA, j)"是MDS(1,1)*Totdays(1). MDS(1,1)=100,
Totdays(1)=44252,所以MDS(nHomesA, j)"=4425200
i的行数是1 to nHomes(200行), NhomesA=Nhomes+2, 就是第202行
谢谢回复
最后这第202行的数是前200行的乘积累加(在NHStatus(i) = 1的情况下),但最后的值总
是要把4425200再多加一遍.
我用MSGBOX 去CHECK 每一行累加的值,到最后一行,VB的值和我EXCEL算的值都MATCH,下
一行没有数了.VB就该STOP 了,可它还给我多蹦出个数,这一个数和最后一行的累加值的
差是4425200. 我就猜可能把第一行又加了一遍?
【 在 mdrealtor (md_realtor) 的大作中提到: 】
j
j |
|
vn 发帖数: 6191 | 2 粗看觉得这个有问题
“i的行数是1 to nHomes(200行), NhomesA=Nhomes+2, 就是第202行”
realtor觉得呢?
nm 单看命名 这个程序写的够呛啊 |
|
m*******r 发帖数: 8950 | 3 另外, 你在 TRACE "For i = 1 To nHomes"的时候, 当i = 200(nHomes), 是最后一个
LOOP吗? |
|
vn 发帖数: 6191 | 4 我才看出来 nhomes和nhomea应该是常量 我误导你了。。。
第二句 我觉得他应该是说nhomes+2那一行 不是“列” 但是“新表”是哪个我有点不
清楚
MHOMES |
|
a********t 发帖数: 1810 | 5 是的,是表MASTER 里的行数,每一年这个行数会变的.ID 增多或减少啥的.
新表里MHOMES +2 那一列之前就是把两表合并后,包括所有参数的表.行数和MASTER表
的行数是一样的=NHOMES. 最后这个新表要从VB里OUTPUT 出来.
NHOMES+1这一行是别的计算值.
MHOMES |
|
a********t 发帖数: 1810 | 6 I 从1开始的. 一般都是从0开始.
我知道肯定是LOOP有问题.
这一公试全部CODE
'Read MDS Scores
For j = 1 To 6: vDenominator(j) = 0: Next
msg$ = FY + "MDSScores.csv"
Open (fPath$ + "P4P" + FY + "MDSscores.csv") For Input As #1
For j = 1 To 7: Input #1, xx$: Next
While Not EOF(1)
Input #1, xx$: For j = 1 To 6: Input #1, L$(j): Next
PIN(0, 1) = Val(xx$)
For i = 1 To nHomes
If PIN(0, 1) = PIN(i, 1) Or PIN(0, 1) = PIN(i, 2) Then Exit For
Next
For j = 1 To 6
If L$... 阅读全帖 |
|
a********t 发帖数: 1810 | 7 有的.
我说的详细些
我有俩表: 表1=MDS, 表2= MASTER
表MDS 里第一列是ID(在VB里用PIN(0,1)表达). 2-7列是参数L$(J)
表MASTER里第一,二列都是ID,P(I,1),P(I,2)表达. 其它的列也是参数,包括 STATUS 和
TOTDAYS这两个.这个表的行数是NHOMES, 它是每年都变的.
VB的目地是把MDS 里的每一ID 都找到在MASTER 文件里的对应的STATUS,TOTDAYS这两个
参数.最后做计算. 最后计算出的值MDS(NHOMESA,J).放在新表里MHOMES+2 那一列
我现在说的值是在L$(2)这一列,, 但L$(J)都是不MATCH的. |
|
vn 发帖数: 6191 | 8 首先 你的表不是按i循环的 是那个While Not EOF(1) 在控制主循环
其次 这2个表行数都是nhomes对吗?就是说2个表其实可以拼一起? |
|