Foxtable(狐表)用户栏目专家坐堂 → [求助]录入定位问题


  共有2894人关注过本帖树形打印复制链接

主题:[求助]录入定位问题

帅哥哟,离线,有人找我吗?
18929005187
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:79 积分:620 威望:0 精华:0 注册:2015/8/30 0:03:00
[求助]录入定位问题  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:79 积分:620 威望:0 精华:0 注册:2015/8/30 0:03:00
  发帖心情 Post By:2015/10/6 18:38:00 [只看该作者]

求助   解决


 回到顶部
帅哥哟,离线,有人找我吗?
18929005187
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:79 积分:620 威望:0 精华:0 注册:2015/8/30 0:03:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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

 回到顶部