Foxtable(狐表)用户栏目专家坐堂 → [求助]如何实现:在单元格中录入数据时自动弹出下拉窗口,并根据所录入的内容自动模糊查询


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

主题:[求助]如何实现:在单元格中录入数据时自动弹出下拉窗口,并根据所录入的内容自动模糊查询

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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2012/1/7 14:08:00 [显示全部帖子]

'表事件-编辑-KeyDownEdit
If Forms("窗口1").Opened Then
    If e.Col.Name = "第一列"  Then
        Dim t As Table = Tables("窗口1_Table1")
        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 'And t.Current IsNot Nothing
            e.Text = t.Current("省市")
            e.Row("第二列") = t.Current("县市")
            e.Row("第三列") = t.Current("区号")
            e.Row("第四列") = t.Current("邮编")
            Forms("窗口1").close()
        End If
    End If
End If

 

 


图片点击可在新窗口打开查看此主题相关图片如下:3.gif
图片点击可在新窗口打开查看

 

根据上面设置,选择行时只能用箭头键操作,当使用鼠标左键选择"窗口1_Table1"中的行按Enter时出错,请问如何设置?


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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2012/1/7 23:05:00 [显示全部帖子]

整理了一下,测试基本通过.(原来打开的窗口位置不理想,重新调整)
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据表作为列表.table

[此贴子已经被作者于2012-1-7 23:06:22编辑过]

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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2012/1/8 8:24:00 [显示全部帖子]

是这样子吗?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:数据表作为列表.table


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


加好友 发短信
等级:二尾狐 帖子:558 积分:4352 威望:0 精华:2 注册:2011/4/18 8:27:00
  发帖心情 Post By:2012/1/8 9:21:00 [显示全部帖子]

清除StartEdit事件的代码,ChangeEdit重新设置:

 

'表事件-编辑-ChangeEdit
If e.Col.Name = "第一列" Then
If Forms("窗口1").Opened = False Then
        Forms("窗口1").Open()
Tables("表A"). StartEditing ()
End If
End If

If Forms("窗口1").Opened Then
    Dim txt As String = e.Text
    Dim tbl As Table = Tables("窗口1_Table1")
    If txt = "" Then
        tbl.Filter = ""
    Else
        If txt.contains("*")
           
            txt =  "'*" & txt.replace("*","[*]") & "*'"    '
           
        Else
            txt = "'*" & txt & "*'"
        End If
        tbl.Filter = "省市 Like " & txt & " Or 县市 Like " & txt & ""
       
    End If
End If

[此贴子已经被作者于2012-1-8 9:55:02编辑过]

 回到顶部