以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]临时表输入问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=46797) |
-- 作者:syzsyk -- 发布时间:2014/2/27 18:07:00 -- [求助]临时表输入问题 关于临时表输入问题: 1、有一个表A: 第一列可重复,第二列不重复并与第一列有对应关系。 2、有一个打开项目就产生的临时表,第二列的数据是通过窗口的组合框从表A中取得的,确定的代码是: Dim s As Row = Tables("临时表").Addnew s("第二列")=e.form.controls("Combobox1").text If s("第二列") = Tables("表A").Current("第二列") Then s("第一列")= Tables("表A").Current("第一列") End If 3、我的问题是上面的红色代码如何改写确保临时表第二列自动输入后,第一列始终与表A对应的值同时自动输入?否则结果就是见下面的图,第三行第一列没有自动输入对应的数据: 例子: |
-- 作者:有点甜 -- 发布时间:2014/2/27 20:48:00 -- 代码 Dim s As Row = Tables("临时表").addnew s("第二列")=e.form.controls("Combobox1").text Dim fdr As DataRow = DataTables("表A").Find("第二列 = \'" & s("第二列") & "\'") If fdr IsNot Nothing Then s("第一列") = fdr("第一列") End If |
-- 作者:syzsyk -- 发布时间:2014/2/27 21:16:00 -- 自己刚才解决了,我的代码如下: Dim s As Row = Tables("临时表").addnew s("第二列")=e.form.controls("Combobox1").text With Tables("表A") Dim r As Integer r = .Find(s("第二列"), 0,"第二列", False, False, True) If r > - 1 Then \'如果找到符合条件的行 .Position = r \'则选择该行 End If End With If s("第二列") = Tables("表A").Current("第二列") Then s("第一列")= Tables("表A").Current("第一列") End If 但有点甜的代码更简洁,非常感谢有点甜! |