以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 下拉窗口数据录入错乱 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126107) |
-- 作者:andy123 -- 发布时间:2018/10/14 15:30:00 -- 下拉窗口数据录入错乱 用下拉窗口录入数据,录入数据错乱。 明明选择的工序A,品名B,结果填入的是工序A,品名C 关键代码如下: Dim tbl As Table = Tables("机加工价选取_table1") If tbl.Current IsNot Nothing Then Dim tbc As Row = Tables(e.Form.DropTable.Name).Current \'取得当前表当前行 Select e.Form.DropCol.Name Case "产品" e.Form.DropDownBox.Value = tbl.Current("产品") \'产品列填入产品 tbc("工序")= tbl.Current("工序") tbc("工价")= tbl.Current("工价") tbc("版本")= tbl.Current("版本") Case "工序" If tbc.IsNull("产品") Then \'产品列为空值 e.Form.DropDownBox.Value = tbl.Current("工序") tbc("产品")= tbl.Current("产品") tbc("工价")= tbl.Current("工价") tbc("版本")= tbl.Current("版本") Else e.Form.DropDownBox.Value = tbl.Current("工序") tbc("工价")= tbl.Current("工价") tbc("产品")= tbl.Current("产品") tbc("版本")= tbl.Current("版本") End If End Select End If Forms("机加工价选取").DropDownBox.CloseDropDown() 操作录像如下: 查了一天了,实在查不出哪里有问题了。 [此贴子已经被作者于2018/10/14 17:01:45编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/10/14 16:47:00 -- \'If e.Selected Then \'如果选择了值 Forms("机加工价选取").DropDownBox.CloseDropDown() |
-- 作者:andy123 -- 发布时间:2018/10/14 17:01:00 -- 今天还在回复,太感谢了 没明白为什么
|
-- 作者:有点甜 -- 发布时间:2018/10/14 18:28:00 -- tbl.Current 每一次调用的时候,有可能不是同一行。
比如,你设置值的过程中,触发了事件代码对表格进行了筛选以后,表格数据改变,这个时候current就不是你本来那个了。 |