Office中国论坛/Access中国论坛

标题: 麻烦问一下在模块中怎么传递数组? [打印本页]

作者: chenkai_c    时间: 2006-6-1 04:44
标题: 麻烦问一下在模块中怎么传递数组?
我在一个模块中写了下面的代码:
Public Array(10) As String
Public Sub SetArray()
    Dim I As Integer
    For I = 0 To 10
        Array(I) = I
    Next
End Sub
Public Sub Getarray()
    Dim I As Integer
    For I = 0 To 10
        Debug.Print Array(I)
    Next
End Sub
为什么在运行了SetArray()之后,再运行Getarray(),结果输出都是0,有什么办法能够保存这个数组的值吗?


作者: andymark    时间: 2006-6-1 05:12
Array这个标识与系统的有冲突,改成MyArray试试


作者: wu8313    时间: 2006-6-1 05:25
Array 变量名称和变量命名的保留字相冲突。

第一个过程,setarray你并没有调用,当然也就没有完成 给第二个过程 getarray传递数组的值的任务。

参考下图运行代码,可以看到运行结果。

[attach]18179[/attach]

把光标移动到图片中所示 立即窗口的 call getarray 最后,按回车键,可以看到运行结果。


=================

另外,你觉得代码运行后返回数组的结果是0,也是不可能的。因为你定义的变量类型为string.也就不会得到0。

我觉得你当初数组的返回结果应该是 empty .


[此贴子已经被作者于2006-5-31 21:35:51编辑过]


作者: chenkai_c    时间: 2006-6-1 18:59
谢谢大家!这样子确实可以!但是我这有个非常奇怪的问题,两个过程在模块中单独先后执行时,变量不能传递,但是通过命令按钮先后调用,结果却正确了!不知道怎么搞得!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3