我要把公式放入数据库,然后从数据库内取出公式,而现在要如何把这段公式转成一段VB代码来执行.
例如:我现在要计算 Text3.text 的值.我将其公式写成 Text3 = Text1 + Text2 / (Text4+Text5)我现在从数据库中提取出这段话,现在把这段话放在一个变量里面,然后再执行此"字符"请问各位高手怎么搞!!!!!
例如:我现在要计算 Text3.text 的值.我将其公式写成 Text3 = Text1 + Text2 / (Text4+Text5)我现在从数据库中提取出这段话,现在把这段话放在一个变量里面,然后再执行此"字符"请问各位高手怎么搞!!!!!
http://perlchina.sun126.com/cgi-bin/ccb/topic_view.cgi?forum=5&article_id=0005060422170700&publishtime_id=0005060425024051&t=0&page=15
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
VB只能對SQL語句做到這個功能。
如果有誰做到了,我也來學習學習。
忽然想到一个变通的办法,既然是SQL的服务器,就转换成 sql 语句,然数据库服务器来做运算好了
比如:Text3 = Text1 + Text2 / (Text4+Text5),
在代碼里面可以對每個text進行解釋,讓其有自己對應的意義。
由于时间问题,在下面只做一个演示讲解,这也算是抛砖引玉吧。例如计算:
1/有以下控件(10个TextBox,1个Commandbutton,1个Script(VB自带)):Text(0)="0": Text(1)="1"
Text(2)="2": Text(3)="3"
Text(4)="4": Text(5)="5"
Text(6)="6": Text(7)="7"
Text(8)="8": Text(9)="9"2/计算公式:
Text(3) = Text(1) + Text(2) / (Text(4)+Text(5))
Text(3) = Text(1) + Text(2) / (Text(4)+Text(5))*Text(8)3/计算公式替换:Option ExplicitPrivate Sub Command1_Click()
JiSuan "Text(3) = Text(1) + Text(2) / (Text(4)+Text(5))"
'JiSuan "Text(3) = Text(1) + Text(2) / (Text(4)+Text(5))*Text(8)"
End SubPrivate Sub JiSuan(ByVal Gs As String)
Dim DENLen As Long, lNext As Long
Dim LeftID As String, Rpc As String
Dim DENLeft As String, DENRight As String DENLen = InStr(Gs, "=")
If DENLen > 0 Then
DENLeft = Left$(Gs, DENLen - 1)
DENRight = Mid$(Gs, DENLen + 1)
For lNext = 0 To 10
If InStr(DENRight, "Text(" & lNext & ")") > 0 Then
Rpc = Text(lNext)
DENRight = Replace(DENRight, "Text(" & lNext & ")", Rpc)
End If
Next lNext
LeftID = Trim$(Mid$(DENLeft, InStr(DENLeft, "(") + 1))
'// ScriptControl1是一个控件 Microsoft Script Control 1.0
Text(Val(Left(LeftID, Len(LeftID) - 1))) = ScriptControl1.Eval(DENRight)
End If
End Sub4/总结:
以上只是计算Textbox内容的方法,如果还有其他控件要包括在计算之内,那代码就要相应更改。
不就是计算工资吗?那能有多少计算元素啊?
给每个元素都分配一个字符
如:工作日,工资系数,加班时间 分别用 X Y Z 表示
然后组合公式,取实际值替换,再计算