Foxtable(狐表)用户栏目专家坐堂 → 自定义录入界面三问题,请教老师们


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

主题:自定义录入界面三问题,请教老师们

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/9 21:55:00 [只看该作者]

好了,最后将代码改成这样

Dim txt As String = e.Form.DropDownBox.Text
Dim dr As Row = Tables("订单明细").current
Dim tbl As Table = Tables("客户产品下拉窗口_Table1")
If txt = "" Then
    Tables("客户产品下拉窗口_Table1").Filter = "客户姓名 = '" & dr("客户姓名") & "'"
Else
    txt = "'*" & txt & "*'"
    tbl.Filter =  "客户姓名 = '" & dr("客户姓名") & "' Or 产品名称 Like " & txt
End If
e.Form.DropDownBox.Select() '将输入焦点返回下拉列表框

 

实现了想要的功能了,感谢林总跟布莱克朱老师,

 

学生愚钝再请教下这行代码,"客户姓名 = '" & dr("客户姓名") & "' Or 产品名称 Like " & txt  中为什么用or来连接呢?而不是用And? 还望老师赐教

 

帮助文件中的的解说看了很长时间了看不明白,能否用通俗的词概括下

And 逻辑与,如果左右表达式的值都为True,则返回True,否则返回False
AndAlso 逻辑与,如果左右表达式的值都为True,则返回True,否则返回False
Or 逻辑或,如果左右表达式的值至少有一个True,则返回True,否则返回False
OrElse 逻辑或,如果左右表达式的值至少有一个True,则返回True,否则返回False

 


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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/10 1:15:00 [只看该作者]

图片点击可在新窗口打开查看奇了怪了,上面的代码在"产品名称"为空时实现了筛选出"客户姓名"中的产品,但"产品名称"一旦输入"张"字后下拉窗口筛选出所有"产品名称"带张字的产品名称,违反了前面的筛选条件

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/10 1:20:00 [只看该作者]

难道是订单表的"客户姓名 = '" & e.Row("客户姓名") & "' Or 产品名称 Like " & txt这行代码出问题了?

If e.Col.Name = "产品名称" Then '如果编辑的是客户ID列
    If e.Col.DroppedDown Then '如果下拉窗口已经打开
        Dim tbl As Table = Tables("客户产品下拉窗口_Table1")
        If e.Text = "" Then '如果内容为空
            tbl.Filter = "客户姓名 = '" & e.Row("客户姓名") & "'"
        Else '否则根据输入内容进行模糊筛选
            Dim txt As String = "'*" & e.Text & "*'"
            tbl.Filter = "客户姓名 = '" & e.Row("客户姓名") & "' Or 产品名称 Like " & txt
        End If
    End If
End If


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 8:57:00 [只看该作者]

 你这句要实现什么样的筛选?

"客户姓名 = '" & e.Row("客户姓名") & "' Or 产品名称 Like " & txt

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/10 16:47:00 [只看该作者]

以下是引用lin_hailun在2013-1-10 8:57:00的发言:
 你这句要实现什么样的筛选?

"客户姓名 = '" & e.Row("客户姓名") & "' Or 产品名称 Like " & txt

这行是要实现根据"客户姓名"列中的客户姓名筛选出对应的产品名称, 前面代码是这样"客户姓名 = '" & e.Row("客户姓名") & "' And 产品名称 Like " & txt,用 And做连接,但不成功,提

 

示符号设置错误,后面又把代码改为"客户姓名 = '" & e.Row("客户姓名") & "'" And 产品名称 Like " & txt,  & "'" And 这里加上符号后是代表结束了,代码又不对

 

再则客户姓名列的内容是存在的,因为订单表是子表,关联的是"客户姓名"列

[此贴子已经被作者于2013-1-10 16:48:33编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 17:11:00 [只看该作者]

不会提示错误才对的。试试,不行就联系客服QQ

 If e.Col.Name = "产品名称" Then '如果编辑的是客户ID列
    If e.Col.DroppedDown Then '如果下拉窗口已经打开
        Dim tbl As Table = Tables("客户产品下拉窗口_Table1")
        If e.Text = "" Then '如果内容为空
            tbl.Filter = "客户姓名 = '" & e.Row("客户姓名") & "'"
        Else '否则根据输入内容进行模糊筛选
            Dim txt As String = "'*" & e.Text & "*'"
            tbl.Filter = "客户姓名 = '" & e.Row("客户姓名") & "' And 产品名称 Like " & txt
        End If
    End If
End If

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/10 17:29:00 [只看该作者]

图片点击可在新窗口打开查看好了,感谢林总多次指导,代码完美了,学艺不精啊,哎,符号掌握不好

 

再请教下林总,我在表KeyPressEdit事件中加了个判断,如果输入的客户姓名在"客户表"中不存在,也就是代表新客户,则关闭下拉按钮,下拉窗口不打开,代码该怎么写?

 

Cols("产品名称").DropForm = ""没实现

 

Else

     e.Col.CloseDropDown() '则关闭下拉窗口      也没实现

 


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/10 18:02:00 [只看该作者]

以下是引用mamuaiqing在2013-1-10 17:29:00的发言:

 

再请教下林总,我在表KeyPressEdit事件中加了个判断,如果输入的客户姓名在"客户表"中不存在,也就是代表新客户,则关闭下拉按钮,下拉窗口不打开,代码该怎么写?



加一个判断就行了

If Datatables("客户表").Find("客户名称 = 'xxx'") isnot nothing then
    Cols("产品名称").DropForm = "xxx"
End if

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


加好友 发短信
等级:四尾狐 帖子:824 积分:6288 威望:0 精华:0 注册:2012/3/1 3:17:00
  发帖心情 Post By:2013/1/10 20:10:00 [只看该作者]

感谢林总的热心帮助图片点击可在新窗口打开查看

 回到顶部
总数 19 上一页 1 2