以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:查询窗体的设置问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=15302)

--  作者:tyzh
--  发布时间:2011/12/20 10:05:00
--  求助:查询窗体的设置问题

依照手册的《设计查询窗口》设计了查询窗口,请教

1、在查询窗体中设置了查找范围,是ComboBox单选组合框,包括“现有记录,历史记录,全部记录“,希望打开窗口时组合框内默认的是“现有记录”,如何设置?

2、教材提供的都是ComboBox单选条件的查询,我想用CheckedComboBox复选组合框,比如查询“负责人”选择框,可以多选,同时筛选“负责人”是张三和李四的记录,如何设置,请提供以下资料;

3、调出“用户管理”的命令是什么?(如切换用户的是Syscmd.Project.SwitchUser()

谢谢。


--  作者:狐狸爸爸
--  发布时间:2011/12/20 10:32:00
--  

1、设计窗口的时候,可以将ComboBox的初始值属性设置为:现有记录

2、用Split拆分选择输入的值,然后合成条件即可。

3、Syscmd.Project.Users()

 

 


--  作者:tyzh
--  发布时间:2011/12/20 10:36:00
--  
谢谢
--  作者:tyzh
--  发布时间:2011/12/20 11:21:00
--  

我对命令似懂非懂,从头到尾完全照葫芦画瓢做的。

您提示的“用Split拆分选择输入的值,然后合成条件即可”合成如何操作呢?请提示一下,谢谢!

With e.Form.Controls("负责人")
   Dim Values() As String
   Dim Multi As String = "张三|李四|王五|马六"
   Values = Multi.split("|")
For Index As Integer = 0 To Values.Length - 1
 If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "负责人 = \'" & .Value & "\'"
    End If
Next
End With


--  作者:狐狸爸爸
--  发布时间:2011/12/20 14:13:00
--  

这里有个现成的例子,您可以参考一下:

http://www.foxtable.com/help/topics/2410.htm

 


--  作者:tyzh
--  发布时间:2011/12/20 15:33:00
--  

CheckedListBox占用空间太大,我用的CheckedComboBox,参考了老半天你的例子,弄不好。


--  作者:tyzh
--  发布时间:2011/12/20 16:32:00
--  
我放弃了,够用就得,还是用手册提供的ComboBox设计吧,谢谢。
--  作者:狐狸爸爸
--  发布时间:2011/12/20 22:24:00
--  

其实用CheckedComboBox更加简单,关键你要熟悉表达式的语法。
 
Dim v As String = e.Form.Controls("CheckedComboBox1").Value
If v > "" Then
    v = "\'" & v.Replace(",", "\',\'") & "\'"
    Tables("订单").Filter = "产品 In (" & v & ")"
End If
e.Form.Close()

看帮助不能只看开发指南的,使用指南非常重要,是基础来的。