Foxtable(狐表)官方栏目发展建议 → 感谢管理员一直以来的帮助,虽然半桶水也不到,我也要发一个教程。


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

主题:感谢管理员一直以来的帮助,虽然半桶水也不到,我也要发一个教程。

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
感谢管理员一直以来的帮助,虽然半桶水也不到,我也要发一个教程。  发帖心情 Post By:2011/8/9 17:08:00 [只看该作者]

感谢管理员一直以来 专业、热情、周到的服务。做到了有问必答。通过最近几天的了解,

感觉foxtable确实很强大。更强大的是我们的管理员呢!

 

好了进入正题。我这个教程是 标准教程“自定义录入界面之一” 的 进一步修改。个人感觉比标准教程更快捷。

快捷在于省掉了 鼠标操作。全键盘操作。

 

看一下图吧,这是生产记录表

 


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

 

以下是库存表

 


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

 

 

[此贴子已经被作者于2011-8-9 17:33:52编辑过]

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2011/8/9 17:16:00 [只看该作者]

1、在 生产记录表 新建一个窗口

 


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

 

窗口类型为模式,窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,

“允许编辑”属性设置为False,并绑定到绑定到仓库表。

 


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

 

2、将TextBox1的TextChanged事件代码设为:

 

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("窗口1_Table1")
tbl.Filter= ""
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'*" & txt & "*'"
    tbl.filter = "(产品名称 Like " & txt & " Or 规格 Like " & txt & " Or 单位 Like " &  txt & ")"
End If

 

这样我们在文本框中输入任何内容,Table就会自动进行模糊筛选,显示产品名称,规格,单位 这三列中,

任何一列包括输入内容的行。

 

 

3、将TextBox1的KeyDown事件代码设为:

 

 

Dim tbl As Table = Tables("窗口1_Table1")
If e.KeyCode = Keys.Up Then
    tbl.Position = tbl.Position - 1
    e.Cancel = True
ElseIf e.KeyCode = Keys.Down Then
    tbl.Position = tbl.Position + 1
    e.Cancel = True
ElseIf e.KeyCode = Keys.Enter Then
    If tbl.Current IsNot Nothing Then
        Tables("生产记录表").Current("产品id") = tbl.Current("产品id")
        Tables("生产记录表").Current("产品名称") = tbl.Current("产品名称")
        Tables("生产记录表").Current("规格") = tbl.Current("规格")
        Tables("生产记录表").Current("单位") = tbl.Current("单位")
    End If
    e.Cancel = True   
    e.Form.Close()
End If

 

 

这样在文本框中按上下箭头键,可以在Table中选择不同的行,按回车键会将选定行的产品名称,规格,

单位等输入到生产记录表的当前行中,并关闭窗口。
为了避免按上下箭头键的时候,文本框的光标会移动,下面的代码是必须的:   
e.Cancel =
True

 

 


图片点击可在新窗口打开查看此主题相关图片如下:6.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-8-9 17:36:10编辑过]

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2011/8/9 17:31:00 [只看该作者]

4、将Table控件的Keydown事件设置为:

 

 

Dim tbl As Table = Tables("窗口1_Table1")
If tbl.Current IsNot Nothing Then
    Tables("生产记录表").Current("产品ID") = tbl.Current("产品ID")
    Tables("生产记录表").Current("产品名称") = tbl.Current("产品名称")
    Tables("生产记录表").Current("规格") = tbl.Current("规格")
    Tables("生产记录表").Current("单位") = tbl.Current("单位")
End If
Forms("窗口1").Close()

 

 

这样在窗口的Table中回车,即可将该行的相关数据填充入生产记录表的当前行中,并关闭窗口。
提示:由于Table的Keydown事件的e参数不包括Form属性,所以代码中不能使用e.Form来引用窗口,

只能直接使用窗口名:Forms("窗口1")。


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

 

 

保存 并关闭窗口设计器。

打开生产记录表 的表属性-事件

将 keydownedit 设置为:

If e.Col.Name = "产品名称" Then
    e.Cancel = True
    Forms("窗口1").Open()
End If

这样当 用键盘 编辑 产品名称列 的时候 会打开 窗口1

 

 


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

 

最后 锁定 产品ID ,规格,单位 这三列,产品名称不用锁定。这样 可以避免不小心带来的录入错误。

 

好了 完成了!该功能实现了全键盘输入。比标准教程少了键盘到鼠标之间来回切换,这样可以提高录入效率。

效果如下:


 


图片点击可在新窗口打开查看此主题相关图片如下:10.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-8-9 18:47:50编辑过]

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2011/8/9 17:46:00 [只看该作者]

案例如下:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自定义录入界面-yacity.zip

 

但是在实际使用过程中

按键盘 方向键 有时候会 程序出错。一摸一样的方法,有些项目做出来就不出错,有些项目就会出错。不知道是不是某些细节没有处理好 还是 foxtable 的问题。

 


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

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


加好友 发短信
等级:婴狐 帖子:37 积分:737 威望:0 精华:0 注册:2008/9/14 16:02:00
  发帖心情 Post By:2011/8/21 11:44:00 [只看该作者]

这个教程绝对比狐表的帮助里的强大,我先顶起来。学习了,很好,图文并茂。赞一个。

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


加好友 发短信
等级:婴狐 帖子:36 积分:296 威望:0 精华:0 注册:2011/8/6 15:00:00
  发帖心情 Post By:2011/8/23 14:37:00 [只看该作者]

Dim txt As String = e.Form.Controls("TextBox1").Text 原来控件的值是这样读取的啊,学习了!谢谢!!

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


加好友 发短信
等级:婴狐 帖子:10 积分:194 威望:0 精华:0 注册:2011/9/7 9:36:00
  发帖心情 Post By:2012/8/15 10:59:00 [只看该作者]

这才是我们要的实用教程. 

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


加好友 发短信
等级:婴狐 帖子:4 积分:98 威望:0 精华:0 注册:2011/6/30 22:39:00
  发帖心情 Post By:2012/11/26 11:52:00 [只看该作者]

好贴,赞一个。

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


加好友 发短信
等级:小狐 帖子:383 积分:2439 威望:0 精华:0 注册:2011/12/3 22:19:00
  发帖心情 Post By:2012/12/1 11:48:00 [只看该作者]

顶贴一个

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


加好友 发短信
等级:四尾狐 帖子:867 积分:6210 威望:0 精华:0 注册:2012/11/24 20:44:00
  发帖心情 Post By:2012/12/27 17:10:00 [只看该作者]

有图有真相,顶一个


 回到顶部
总数 16 1 2 下一页