以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]窗口中单选框逻辑取值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44608)

--  作者:weigqing
--  发布时间:2014/1/4 21:45:00
--  [求助]窗口中单选框逻辑取值

我想实现窗口中单选框逻辑取值乘以文本框字符,得到结果写入表金额列。如图片,选择“审定价”,输入“费率”在“金额”框得到结果。谢谢前辈不吝赐教。


图片点击可在新窗口打开查看此主题相关图片如下:单选框取值.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-1-4 21:48:13编辑过]

--  作者:有点甜
--  发布时间:2014/1/4 22:01:00
--  
 编写 窗口->事件->全局事件->valuechanged

Select e.Sender.Name
    Case "管理费控件", "水电费", "其他"
        Dim v As Double
        If e.Form.Controls("单选框1").checked Then
            v = 1
        Else If e.Form.Controls("单选框2").checked Then
            v = 2
        Else If e.Form.Controls("单选框3").checked Then
            v = 3
        End If
        e.Form.Controls("结果1").text = v * e.Form.Controls("管理费控件")
        e.Form.Controls("结果2").text = v * e.Form.Controls("水电费")
        e.Form.Controls("结果3").text = v * e.Form.Controls("其他")
    Next
End Select

--  作者:weigqing
--  发布时间:2014/1/4 22:35:00
--  回复:(有点甜) 编写 窗口->事件->全局事...

有点甜老师,谢谢你及时给我回复,刚才我问题没有描述清楚,单选框的控件值为取得表中三个数值,图片有洋红填充色的文本框,费率为手工输入,计算对应的金额值。感恩你!


图片点击可在新窗口打开查看此主题相关图片如下:单选框逻辑取值2.jpg
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2014/1/4 22:58:00
--  
 你直接把v=1,v=2,v=3设置成控件的值不就行了?

        If e.Form.Controls("单选框1").checked Then
            v = Tables("xxx").current("结算价")
        Else If e.Form.Controls("单选框2").checked Then
            v = Tables("xxx").current("审定价")
        Else If e.Form.Controls("单选框3").checked Then
            v = Tables("xxx").current("合同金额")
        End If

--  作者:weigqing
--  发布时间:2014/1/5 9:14:00
--  

有点甜老师, 窗口->事件->全局事件->valuechanged   代码不能运行:

Select e.Sender.Name
    Case "textbox23", "textbox24","textbox6"
        Dim v As Double
        If e.Form.Controls("RadioButton1").checked Then
            v = Tables("项目表").current("审定价")
        Else If e.Form.Controls("radiobutton2").checked Then
            v = Tables("项目表").current("决算价")
        Else If e.Form.Controls("radiobutton3").checked Then
            v = Tables("项目表").current("合同金额")
        End If
        e.Form.Controls("textbox19").text = v * e.Form.Controls("textbox23")
        e.Form.Controls("textbox20").text = v * e.Form.Controls("textbox24")
        \' e.Form.Controls("结果3").text = v * e.Form.Controls("其他")
        \' Next
End Select

 

错误如图:


图片点击可在新窗口打开查看此主题相关图片如下:错误.jpg
图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/1/5 22:15:00
--  
 写错了

Select e.Sender.Name
    Case "textbox23", "textbox24","textbox6"
        Dim v As Double
        If e.Form.Controls("RadioButton1").checked Then
            v = Tables("项目表").current("审定价")
        Else If e.Form.Controls("radiobutton2").checked Then
            v = Tables("项目表").current("决算价")
        Else If e.Form.Controls("radiobutton3").checked Then
            v = Tables("项目表").current("合同金额")
        End If
        e.Form.Controls("textbox19").text = v * e.Form.Controls("textbox23").Text
        e.Form.Controls("textbox20").text = v * e.Form.Controls("textbox24").Text
        \' e.Form.Controls("结果3").text = v * e.Form.Controls("其他").Text
        \' Next
End Select