Foxtable(狐表)用户栏目专家坐堂 → [求助]代码筛选问题求助


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

主题:[求助]代码筛选问题求助

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 17:15:00 [显示全部帖子]

 呃,代码应该没有问题,可能是和别的代码冲突了。

 

 具体做个例子发上来看看。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 18:05:00 [显示全部帖子]

If e.Table.Current Is Nothing Then '如果Current为Nothing
    Return '则返回
End If
If Forms("存款管理").Opened Then
    Forms("存款管理").Controls("社员ID").Text=e.Table.Current("社员ID")
    Forms("存款管理").Controls("姓名").value=e.Table.Current("对方户名")

    If Forms("选择存款会员").Opened =False Then
        Forms("选择存款会员").Open
    End If

    Dim txt As String = e.Table.Current("对方户名")
    Dim tbl As Table = Tables("社员基本信息")
    If txt Is Nothing Then
        'tbl.Filter = ""
    Else
        txt = "'*" & txt & "*'"
        tbl.Filter = "社员信息_社员姓名 Like " & txt & " Or 社员信息_常用联系人 Like " & txt & " Or 社员信息_付款人 Like " & txt     
    End If
   
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 19:07:00 [显示全部帖子]

 卡,是因为你后面的代码,你去掉,或者换种思路去实现(触发了【社员基本信息】对应的事件了)

 

If Forms("存款管理").Opened Then
    Forms("存款管理").Controls("社员ID").Text=e.Table.Current("社员ID")
    Forms("存款管理").Controls("姓名").value=e.Table.Current("对方户名")
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 20:32:00 [显示全部帖子]

 回复15楼,你可以把代码全部写到PositionChanged事件里去。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 20:42:00 [显示全部帖子]

 你删除currentChanged的代码,拷贝到positionChanged里面,应该不会出现你这种情况的。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 21:03:00 [显示全部帖子]

 测试了一下,确实有问题。

 

 放到click事件或者doubleclick事件才没有问题。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 21:24:00 [显示全部帖子]

 代码没有问题,但是你要写到表事件keydown和社员基本信息表keydown事件去,才有效。
[此贴子已经被作者于2014-7-22 21:23:55编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 21:50:00 [显示全部帖子]

 哦,代码这样写

 

If Forms("选择存款会员").Opened Then
    Dim t As Table = Tables("社员基本信息")
    If e.keycode = keys.Down
        t.position = t.Position +1
        e.Cancel = True
    ElseIf e.keycode = keys.up
        t.position = t.Position -1
        e.Cancel = True
    ElseIf e.Keycode = keys.Enter
        'e.Text = t.Current("品种名称")
        Forms("选择存款会员").close()
    End If
    e.Cancel = True
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/7/22 22:12:00 [显示全部帖子]

 是keydown事件,不是keyDowEdit事件

 回到顶部