以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不允许单元格输入与目录树不相乎内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=160210)

--  作者:采菊东篱下
--  发布时间:2021/1/24 20:59:00
--  不允许单元格输入与目录树不相乎内容
    车辆基本信息表住址_巷列单元格中输入关健字后,在自定义下拉目录树查找对应字节,点字节后录入表A,由于表A能直接输入,禁止输入又无法打关键字查找,这样就造成人为直接输入内容与目录树名字不一致,如何设置当直接输入字符与目录树中名字不相乎时车辆基本信息表住址_巷列单元格不允许输入?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理(修改后没问题了).foxdb

密码:888888

--  作者:有点蓝
--  发布时间:2021/1/24 21:41:00
--  
方法1、到datacolchanging事件查询录入的数据是否符合要求,不符合就取消
2、禁止录入,然后到下拉窗口里添加一个文本框进行关键字查找

--  作者:采菊东篱下
--  发布时间:2021/1/24 21:58:00
--  
你说的方法我都知道,不想把查找的文本框做到下拉窗口里,我就是不会写判断目录树字节名字是否与当前行文本相符代码,写过一下,不知对错,干脆问了。
--  作者:有点蓝
--  发布时间:2021/1/24 22:05:00
--  
目录树内容是根据表格数据生成的,使用find方法到表格查询是否有这个单元格录入的数据即可:http://www.foxtable.com/webhelp/topics/0624.htm
--  作者:采菊东篱下
--  发布时间:2021/1/24 22:43:00
--  
Select Case e.DataCol.Name
    Case "住址_巷"
        If e.NewValue <> DataTables("巷").SQLfind("[巷] = \'" & e.NewValue & "\'") Then
            e.Cancel = True
        End If
    Case "住址_号"
        If e.NewValue <> DataTables("号").SQLfind("[号] = " & e.NewValue) Then
            e.Cancel = True
        End If
    Case "住址_房"
        If e.NewValue <> DataTables("房").SQLfind("[房] = " & e.NewValue) Then
            e.Cancel = True
        End If
End Select

--  作者:采菊东篱下
--  发布时间:2021/1/24 22:44:00
--  
可以了。
--  作者:采菊东篱下
--  发布时间:2021/1/25 21:13:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理2021012501.foxdb

密码:888888
上面的代码确实实现了我要的效果,但当我在车辆基本信息表添加行,并在巷、号、房的下拉选项选入字节,弹出的提示直接
Select Case e.DataCol.Name
    Case "住址_巷"
        If e.NewValue <> DataTables("巷").SQLfind("[巷] = \'" & e.NewValue & "\'") Then
            e.Cancel = True
        End If
    Case "住址_号"
        If e.NewValue <> DataTables("号").SQLfind("[号] = " & e.NewValue) Then
            e.Cancel = True
        End If
    Case "住址_房"
        If e.NewValue <> DataTables("房").SQLfind("[房] = " & e.NewValue) Then
            e.Cancel = True
        End If
End Select
这段代码错误!应如何解决?


--  作者:有点蓝
--  发布时间:2021/1/25 21:19:00
--  
http://www.foxtable.com/webhelp/topics/2911.htm

If DataTables("巷").SQLfind("[巷] = \'" & e.NewValue & "\'") isnot nothing Then

--  作者:采菊东篱下
--  发布时间:2021/1/25 21:40:00
--  
不能这样写,这样写选目录树字节直接无法输入数据,单元格为空!
--  作者:有点蓝
--  发布时间:2021/1/25 21:45:00
--  
参考:http://www.foxtable.com/webhelp/topics/2481.htm,看多列的用法,3个列一起作为条件查重