以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗口录入下拉窗口同步更新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=42413) |
-- 作者:643561836 -- 发布时间:2013/11/11 11:26:00 -- 窗口录入下拉窗口同步更新问题 现在有一个项目跟踪窗口,有客户名称,业主名称,设计公司名称,它们能否共用同一个下拉窗口录入数据后,继承样关的数据? \'如果除了客户名称列,还要同时从客户表选择其它多列内容输入到项目跟踪表,可以将DropDownClosed事件代码改为: If e.Selected Then \'如果选择了值 Dim tbl As Table = Tables("下拉客户名称_Table1") If tbl.Current IsNot Nothing Then \'e.Form.DropDownBox.Value = tbl.Current("客户名称") \' If Tables("项目跟踪表").Current IsNot Nothing Then Dim r As Row = Tables("项目跟踪表").Current r("客户地址") = tbl.Current("详细地址") \'将下拉窗口中的列同时输入==当前表中的对应列 r("客户固话") = tbl.Current("固定电话") r("客户传真") = tbl.Current("传真") \'r("设计地址") = tbl.Current("详细地址") \'将下拉窗口中的列同时输入==当前表中的对应列 \'r("设计固话") = tbl.Current("固定电话") \'r("设计传真") = tbl.Current("传真") \' \'r("业主地址") = tbl.Current("详细地址") \'将下拉窗口中的列同时输入==当前表中的对应列 \'r("业主固话") = tbl.Current("固定电话") \'r("业主传真") = tbl.Current("传真") \' e.Form.DropDownBox.Value = tbl.Current("客户名称") \' 下拉输入框的值=下拉窗口的值 End If End If End If |
-- 作者:狐狸爸爸 -- 发布时间:2013/11/11 11:35:00 -- 看看这个: http://www.foxtable.com/help/topics/1860.htm
通过窗口而不是表打开下拉窗口的时候,没有DropTable和DropCol, 但是你可以通过e.Form.DropDownBox.BindingField 属性,间接获取正在输入的表名和列名。
|
-- 作者:643561836 -- 发布时间:2013/11/11 12:25:00 -- 谢谢!请狐狸爸爸看看,是否还可以优化代码! \'如果除了客户名称列,还要同时从客户表选择其它多列内容输入到项目跟踪表,可以将DropDownClosed事件代码改为: If e.Selected Then \'如果选择了值 Dim tbl As Table = Tables("下拉客户名称_Table1") If tbl.Current IsNot Nothing Then \' If Tables("项目跟踪表").Current IsNot Nothing Then Dim r As Row = Tables("项目跟踪表").Current If e.Form.DropDownBox.BindingField = "项目跟踪表.客户名称" Then r("客户地址") = tbl.Current("详细地址") \'将下拉窗口中的列同时输入==当前表中的对应列 r("客户固话") = tbl.Current("固定电话") r("客户传真") = tbl.Current("传真") e.Form.DropDownBox.Value = tbl.Current("客户名称") \' 下拉输入框的值=下拉窗口的值 End If If e.Form.DropDownBox.BindingField = "项目跟踪表.设计名称" Then r("设计地址") = tbl.Current("详细地址") \'将下拉窗口中的列同时输入==当前表中的对应列 r("设计固话") = tbl.Current("固定电话") r("设计传真") = tbl.Current("传真") e.Form.DropDownBox.Value = tbl.Current("客户名称") \' 下拉输入框的值=下拉窗口的值\' End If If e.Form.DropDownBox.BindingField = "项目跟踪表.业主名称" Then r("业主地址") = tbl.Current("详细地址") \'将下拉窗口中的列同时输入==当前表中的对应列 r("业主固话") = tbl.Current("固定电话") r("业主传真") = tbl.Current("传真") e.Form.DropDownBox.Value = tbl.Current("客户名称") \' 下拉输入框的值=下拉窗口的值 End If End If End If End If |
-- 作者:狐狸爸爸 -- 发布时间:2013/11/11 12:38:00 -- 能用就行了,相同性质的列在不同的表,最好同名,否则没办法简化。
|