Foxtable(狐表)用户栏目专家坐堂 → 奇怪了,怎么定位不了??


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

主题:奇怪了,怎么定位不了??

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
奇怪了,怎么定位不了??  发帖心情 Post By:2023/1/28 15:31:00 [只看该作者]

下面这段代码是放在字符框控件的keydown事件里面,希望达到找到对应单据就自动定位的功能。

If e.KeyCode = keys.Enter Then
Dim x As String = e.Form.Controls("TEXTBOX1").text
Dim dr As DataRow
dr = DataTables("工作单").sqlFind("[工作单号] = '" & x & "'")
If dr Is Nothing Then
msgbox("找不到此工作单")
Else
    Dim wz As Integer = Tables("入库单_table1").FindRow(dr)
    If wz >= 0 Then
        Tables("入库单_table1").Position = wz

    End If
End If
End If

入库单_table1是副本表,用fill方式加载,输入单号后回车,没有吧焦点定位到此行,而是在第一条记录原地不动???
单号肯定没错,试了几十次了
尝试 用
With Tables("入库单_table1")
    .Position = .Position + 1
End With
可以正确移动

[此贴子已经被作者于2023/1/28 15:42:30编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111416 积分:567156 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/28 15:50:00 [只看该作者]

FindRow功能只能定位已经加载的数据,Table的所有功能都针对已经加载的数据的。

sqlFind改为Find

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/1/28 16:05:00 [只看该作者]

蓝老师好,然而我吧代码改为下面这样,也是不会定位?

If e.KeyCode = keys.Enter Then
Dim x As String = e.Form.Controls("TEXTBOX1").text
With Tables("入库单_table1")
    Dim r As Integer
    r = .Find("'& x &'", .RowSel + 1, "工作单号", False, False, True)
    If r > - 1 Then '如果找到符合条件的行
        .Position = r '则选择该行
    End If 
End With
End If

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111416 积分:567156 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/1/28 16:08:00 [只看该作者]

r = .Find(x, .RowSel + 1, "工作单号", False, False, True)

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2023/1/28 23:10:00 [只看该作者]

谢谢蓝老师!我太糊涂了图片点击可在新窗口打开查看

 回到顶部