Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
感谢管理员一直以来 专业、热情、周到的服务。做到了有问必答。通过最近几天的了解,
感觉foxtable确实很强大。更强大的是我们的管理员呢!
好了进入正题。我这个教程是 标准教程“自定义录入界面之一” 的 进一步修改。个人感觉比标准教程更快捷。
快捷在于省掉了 鼠标操作。全键盘操作。
看一下图吧,这是生产记录表
以下是库存表
1、在 生产记录表 新建一个窗口
窗口类型为模式,窗口插入一个TextBox和一个Table控件,Table控件的“作为副本”属性设置为True,
“允许编辑”属性设置为False,并绑定到绑定到仓库表。
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
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")。
保存 并关闭窗口设计器。
打开生产记录表 的表属性-事件
将 keydownedit 设置为:
If e.Col.Name = "产品名称" Then
e.Cancel = True
Forms("窗口1").Open()
End If
这样当 用键盘 编辑 产品名称列 的时候 会打开 窗口1
最后 锁定 产品ID ,规格,单位 这三列,产品名称不用锁定。这样 可以避免不小心带来的录入错误。
好了 完成了!该功能实现了全键盘输入。比标准教程少了键盘到鼠标之间来回切换,这样可以提高录入效率。
效果如下:
案例如下:
下载信息 [文件大小: 下载次数: ] | |
点击浏览该文件:自定义录入界面-yacity.zip |
但是在实际使用过程中
按键盘 方向键 有时候会 程序出错。一摸一样的方法,有些项目做出来就不出错,有些项目就会出错。不知道是不是某些细节没有处理好 还是 foxtable 的问题。
有图有真相,顶一个