以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]录入定位问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75334) |
-- 作者:18929005187 -- 发布时间:2015/10/5 21:08:00 -- [求助]录入定位问题 窗口 录入 供应商名字 1. 如果此应商已经录入 ,则在自动定位到已录入的供应商列; 2. 如果此供应商没有录入 ,如果不存在此供应商,增加一行录入此供应商; 个人用的dorpdownbox控件录入供应商,并且绑定到 供应商表 的 供应商名称列 代码分别 leave 和 Valuechanged 事件中测试过 实现不了我的要求 代码如下 Dim de As String With Forms("供应商编辑").Controls("txname1") If .Value IsNot Nothing Then de = .Value With CurrentTable Dim r As Integer r = .FindRow("[供应商ID] = \'de\'", 0, True ) \'从第一行行开始查找 If r >= 0 Then \'如果找到的话 Tables("供应商表").Current.Delete .Position = r \'定位到找到的行. Else .Position = .Rows.Count - 1 \'定位到最后一行 End If End With End If End With |
-- 作者:18929005187 -- 发布时间:2015/10/6 18:38:00 -- 求助 解决 |
-- 作者:18929005187 -- 发布时间:2015/10/6 21:04:00 -- 去掉绑定 供应商表的供应商公司列在 leave 事件中 Dim de As String With Forms("供应商编辑").Controls("txname1") If .Value IsNot Nothing Then de = .Value With Tables("供应商表") Dim a As String = Tables("供应商表").Rows.Count - 1 Dim r As Integer r = .Find( de , 0, "供应商公司", True, True, True) MessageBox.show(r) If r > - 1 Then \'如果找到符合条件的 Tables("供应商表").Current.Delete .Position = r \'则选择该行 End If If r = -1 Then Dim dr As DataRow = DataTables("供应商表").DataRows(a) dr("供应商公司") = de .Position = a End If End With End If End With 好像解决了我这个问题。求大家给点意见,指出漏洞
[此贴子已经被作者于2015/10/6 21:05:25编辑过]
|
-- 作者:大红袍 -- 发布时间:2015/10/7 10:02:00 -- Dim de As String With Forms("供应商编辑").Controls("txname1") If .Value IsNot Nothing Then de = .Value With Tables("供应商表") Dim idx As Integer = Tables("供应商表").findRow("供应商公司 = \'" & de & "\'") If idx >= 0 Then Tables("供应商表").Current.Delete .Position = idx \'则选择该行 Else Dim dr As Row = Tables("供应商表").AddNew dr("供应商公司") = de End If End With End If End With |