vb的相减问题

来源:百度知道 编辑:UC知道 时间:2024/05/27 03:34:01
我在form1里的text里输入一个数,然后转到form2的text1中显示,而text2是链接数据库得到的数值。现在想在转到form2时除了text1,text2显示数值外,还想在text3中显示text1-text2的结果,我就在form2用了这段代码:Private Sub Form_Load()
Dim a As String
Dim b As String
a = Text1.Text
b = Text2.Text
Text3.Text = a - b
End Sub
可是运行时却提示我类型不匹配,都不知道哪里出了问题。那位高人能帮我指点下迷津,在下感激不尽!
我试过把string换成double,还是没解决。我想问题应该是出在text1的数据是从form1输入来的,而text2的数据是从数据库调用的,所以两者不匹配吧?不知道怎么解决呢?

在change事件里计算
private sub text1_change()
text3.text=val(text1.text)-val(text2.text)
end sub
private sub text2_change()
text3.text=val(text1.text)-val(text2.text)
end sub

注意咯!
string类型不能参与运算~
但是你这里把a,b都声明成了String类型
所以就在a-b这一句出错了
所以,在运算的时候要把这个变量变成数学变量例如Double
所以程序应该是这样的
Private Sub Form_Load()
Dim a As Double
Dim b As Double
a = Text1.Text
b = Text2.Text
Text3.Text = a - b
End Sub

关键是你数据库里面输出的时候有没有加杂String字符比如空格,引号等.这很重要

我是新手
多多交流
498483439

把a和b都设成integer(如果是整型的话)
并用函数val来处理即可
Private Sub Form_Load()
Dim a As integer
Dim b As integer
a = val(Text1.Text)
b = val(Text2.Text)
Text3.Text = a - b
End Sub