数据库里存储的是函数名,怎么读出来后让它执行该函数?
数据库存储的数据如下:
id function_name
1 selecttype1(str)
2 selecttype2(str)
现在我希望把里面的函数名selecttype1(str)读出来后给str赋予值,并自动执行该函数。(函数selecttype1\selecttype2是放在public里面,已经声明过了。)
假如第一条记录的id为1,即是把selecttype1(str)读出来,并把id值为1赋予它,变为selecttype1(1),读出来很简单,但是怎么让它执行这个函数呢,想了半天想不出,还望高手指点一下.
[解决办法]
顶......
[解决办法]
可以用callbyname,但函数放在模块中不行,要是对象中的函数,如果许多窗体要调用,就放在类中,比如:
public function tt(n as integer)as integer
tt=n * 2
end function
如果这个是窗体form1的函数,这样调用:
dim fun_name as string '函数名称
dim n as integer '参数
fun_nmae="tt"
n=3
debug.print callbyname(form1,fun_name,vbmethod,n)
如果这个是类cls的函数,这样调用:
dim o as nwe cls
dim fun_name as string '函数名称
dim n as integer '参数
fun_nmae="tt"
n=3
debug.print callbyname(o,fun_name,vbmethod,n)
[解决办法]
Option Explicit
Dim 另外一个变量 As Integer
Public Function tt(n As Integer) As Integer
tt = n * 2
End Function
Private Sub Form_Load()
Dim fun_name As String '函数名称
Dim n As Integer '参数
fun_name = "tt"
n = 3
另外一个变量 = CallByName(Form1, fun_name, VbMethod, n)
Debug.Print 另外一个变量
End Sub