Private
Sub
Open_Click()
‘
每次点击"open"时都会蹦出来一小框“子程序或函数未定义”
Data1DatabaseName
=
F:
实验九
"\studentmdb"
Data1RecordSource
=
"基本情况"
Data1Refresh
End
Sub
你的这段代码中的这句话Data1DatabaseName
=
F:
实验九
"\studentmdb"
有错误,传的是字符串应该Data1DatabaseName
="
F:
\实验九\studentmdb"
这样才把数据库的名字赋给它另外
Private
Sub
Open_Click()
‘
每次点击"open"时都会蹦出来一小框“子程序或函数未定义”
msgbox
"Hello"
'Data1DatabaseName
=
F:
实验九
"\studentmdb"
'Data1RecordSource
=
"基本情况"
'Data1Refresh
End
Sub
你再把这3句注释一下,只加一个msgbox看看执行还出那个窗口么,如果不出就是里边的代码错误了,再把刚刚那句错了的语句改了试试看,有问题可以继续讨论
Private Sub Command1_Click()
Dim l%, m%, n%, o%, x%, y%, A%, B%, C%, D%, i%, j%
n = 7
m = 14
l = 14
o = 21
For i = 1 To 6
n = n + 1
A = Controls("Text" & n) - Text7
For j = 1 To 6
m = m + 1
B = Controls("Text" & m)
If B = A Then
For x = 1 To 6
l = l + 1
C = Controls("Text" & l) - Text21
For y = 1 To 6
o = o + 1
D = Controls("Text" & o)
If D = C Then
Print D
End If
Next
Next
End If
Next
Next
End Sub
1、打开VB60,新建一个工程,在窗体中添加一个命令按钮,caption分别改为“调用函数”,将窗体Form1的caption属性改为“VB60自定义函数”,将界面设置成下图:
2、双击窗体Form1,进入代码编辑窗口,单击左侧下拉三角形,选择通用。
3、在通用段输入如下代码:
Public Sub F1(n%, ByVal m%)
n = n Mod 10
m = m \ 10
End Sub
并将Form_Load事件删除。
以上代码就定义了函数F1,其中包括两个参数,类型均是整型,%表示 短整型,Byval表明了值传递方式,表示值传递,与地址传递相对应。这也是默认的传递方式。
4、双击“调用函数”命令按钮,进入代码编辑窗口,输入如下代码:
Dim x%, y%
x = 12: y = 34
Call F1(x, y)
Print x, y
yongcall进行函数的调用,参数与自定义函数中参数一一对应。
5、然后关闭代码窗口,按下F5运行程序,单击“调用函数”命令按钮,在窗体中打印输出2 34,可以自己想下为什么是这个结果,这个结果和函数的值传递方式有关,
原因:
vb将你的数组o默认为有一个sub(过程)或者function(函数)的名字就做o,你的数组下标被认为是向过程或函数传输的参数。
然后在你的代码里vb没有找到名称叫做o的过程或函数。所以给出这个错误的提示。
解决方法:
你要做的是告诉vbo是一个数组,也就是声明数组。
声明数组应该根据数组的作用范围来决定声明语句的位置、根据需要决定声明的数据类型。
你这个form_load过程显然是数组初始化,准备在别的地方使用,所以至少要声明为窗体级数组。因为初始化是0,难以看出类型,要是整数就用integer,要是有小数就用single,要是对精度要求超过7位有效数的用双精度……
综上,以整数为例,在所有代码的最前面写一行
dim o(1 to 4)as integer
问题就会得到解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)