以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问如何让指定的列只能使用下拉列表或下拉窗口输入,不能保存手工输入的数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102613)

--  作者:bbgg945
--  发布时间:2017/6/22 21:09:00
--  请问如何让指定的列只能使用下拉列表或下拉窗口输入,不能保存手工输入的数据
老师,请问如何让指定的列只能保存使用下拉列表或下拉窗口输入的数据,而不能保存手工输入的数据(为了数据规范化
--  作者:2900819580
--  发布时间:2017/6/22 21:51:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:无标题2.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/6/22 23:33:00
--  

 参考

 

http://www.foxtable.com/webhelp/scr/1784.htm

 


--  作者:bbgg945
--  发布时间:2017/6/23 0:30:00
--  
禁止直接输入的话,就无法输入关键字模糊匹配了
我想实现不保存手动输入的数据,防止输入不能完全匹配的数据

图片点击可在新窗口打开查看此主题相关图片如下:2017-06-23_5.png
图片点击可在新窗口打开查看


--  作者:有点色
--  发布时间:2017/6/23 0:37:00
--  

 在ValidateEdit事件检查一下不就好了?

 

Dim fdr As DataRow = DataTables("表A").Find("第一列 = \'" & e.Text & "\'")

If fdr is Nothing Then

    e.Cancel = true

End If


--  作者:bbgg945
--  发布时间:2017/6/23 16:08:00
--  
谢谢色老师
可以模糊匹配了,也可以直接该删除数据
但在编辑状态,不能保存空值。
当前单元格若没有完整匹配的数据,就不能退出编辑状态,无法进行其它操作

请问如何才能保存空值呢

--  作者:有点蓝
--  发布时间:2017/6/23 16:43:00
--  
第一行加上
if e.Text  = "" then return

Dim fdr As DataRow = DataTables("表A").Find("第一列 = \'" & e.Text & "\'")

If fdr is Nothing Then

    e.Cancel = true

End If


--  作者:bbgg945
--  发布时间:2017/6/23 17:04:00
--  
谢谢蓝老师!谢谢色老师!
谢谢老师们!

--  作者:bbgg945
--  发布时间:2017/6/24 0:48:00
--  
老师!在ComboBox控件中我也想实现此功能,请问要如何做呢?
--  作者:有点蓝
--  发布时间:2017/6/24 9:10:00
--  
用法一样,控件Validating事件