vb 调用模块中的函数

在模块中定义如下函数:
Public Function AlConsume() As Double
Dim AlConsume1 As Double
Dim AlConsume2 As Double
Dim AlConsume3 As Double

AlConsume1 =3*4
AlConsume2 =4/1.5
AlConsume3 = -10
AlConsume = AlConsume1 + AlConsume2 + AlConsume3
End Function

在form窗体中直接调用AlConsume() 函数,a=AlConsume(),为什么a值为0呢。
form窗体中的代码:
dim data3() As Double '定义数组
Dim iData3 As Long
ReDim data3(30)
iData3 = 0
Do Until rs.EOF
If rs.Fields("钢种") = Form1.Combo1.Text Then
data3(iData3) = AlConsume() + 5
iData3 = iData3 + 1
Exit Do
End If
rs.MoveNext
Loop
在该段代码中,data3(iData3)的值为5。

dim data3() As Double '定义数组

Dim iData3 As Long

 Do Until rs.EOF

   If rs.Fields("钢种") = Form1.Combo1.Text Then

    data3(iData3) = AlConsume() + 5                    

   iData3 = iData3 + 1       

            Exit Do

   End If 

    rs.MoveNext

   Loop


你数组是动态数组 你连redim 都没有 怎么可能使用数组元素


追问

不好意思,有 redim语句,只是原文太长,我贴出来代码的时候漏掉了。上面又做了更改

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-11-29
a定义的什么类型啊追问

都是double类型

追答

这个函数写得没什么问题
看你怎么用的

那部分代码贴一下看看

追问

已做补充(在上面),请帮忙寻找原因。

追答

我在我这里测试的没有问题

相似回答