请问以下代码的怎么改?错误点在select case a(i)

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:25:28
代码如下:
Dim a(1 To 50) As Double
Dim i, j As Integer
Dim max, min, d, b, cdow, c(1 To 11) As Double
Dim h As Double
Dim q1, q2, q3, q4, q5, q6, q7, q8, q9, q10 As Integer
Dim cnn As Connection
Set cnn = New Connection
Dim rst As Recordset
cnn.CursorLocation = adUseClient
cnn.Open "PROVIDER=MSDASQL;dsn=myspc;uid=saa;pwd=123;"

Set rst = New Recordset
rst.Open "select 样本1 from " & Combo1.Text, cnn, adOpenStatic, adLockOptimistic
i = 1
While Not rst.EOF
a(i) = rst.Fields(0)
rst.MoveNext
i = i + 1
Wend

min = a(1): max = a(1)

For i = 2 To 50
If a(i) > max Then max = a(i) '计算最大值与最小值
If a(i) < min Then min = a(i)
Next i

Label1.Caption = "MAX=" & max
Label2.Caption = "MIN=" & min
Label5.Caption = "N=50"
d = max
b = min
h = (d - b) / 10 &

Select Case a(i)应该放在for 循环中,具体用法:
for i=1 to 50
Select Case a(i)
....
End Select
next i
否则,先不说你只能选择一个 a(i)的值,单说前面i已经循环过了,i的值是51,才退出循环,你下面再选择a(i),a(51)当然下标越界了。