以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]谁可以教下我做个查询的窗口  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=48893)

--  作者:wmg884059965
--  发布时间:2014/4/8 14:31:00
--  [求助]谁可以教下我做个查询的窗口
已上传项目文件,不知道大家能看见吗?我这里看不到, 我就在这说下吧,有一个表,列的内容有“编码、接种证号、儿童姓名、出生日期、性别、家长姓名、居委会(这个是下拉多选框)”
想做查询的窗口,有“1、按编码,2、按接种证号,3、按儿童姓名,4、按家长姓名,5、按出生日期(格式”2012-12-12至2013-01-31),6、按居委会。这里查询可以随便输入其中一个条件,就自动筛选。也可以输入多个条件。

那位有时间的指点下
[此贴子已经被作者于2014-4-8 16:27:50编辑过]

--  作者:狐狸爸爸
--  发布时间:2014/4/8 14:36:00
--  

不用指点,现成答案:

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

 


--  作者:wmg884059965
--  发布时间:2014/4/8 16:29:00
--  
这个好像不太合适


--  作者:Bin
--  发布时间:2014/4/8 16:31:00
--  
根据你的描述,一样的吧.
--  作者:wmg884059965
--  发布时间:2014/4/8 18:41:00
--  
但是我还是弄不明白
--  作者:有点甜
--  发布时间:2014/4/8 19:44:00
--  
以下是引用wmg884059965在2014-4-8 18:41:00的发言:
但是我还是弄不明白

 

弄不好的话,单独做一个例子上,帮你写代码


--  作者:ahbrq
--  发布时间:2014/4/8 21:07:00
--  

看小白视频也有做查询窗口的。


--  作者:2
--  发布时间:2014/4/8 22:21:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多列查询1.rar


\'\'\'
\'================================================
\'多列查询
\'在主表中,按选定的字段及给定的关键字查询!
\'
\'================================================
Dim lsb As String= Args(0) \'查询条件(要查询的字段)
Dim txt As String= Args(1) \'查询的关键词
Dim pd As Integer=args(2)  \'匹配位置
Dim sql As String

If txt=""  Then
    sql =""
ElseIf txt > "" Then
    Select Case pd
        Case 0 \'任意位置匹配
            txt = "\'%" & txt & "%\'"
        Case 1 \'开始位置匹配
            txt = "\'" & txt & "%\'"
        Case 2 \'结束位置匹配
            txt = "\'%" & txt & "\'"           
        Case 3 \'完全匹配
            txt = "\'" & txt & "\'"
    End Select
    
    \' txt = "\'%" & txt & "%\'"
    If lsb="" Then \'如果没选定列,按所有string类型列查询
        For Each dc As DataCol In DataTables(MainTable.DataTable.Name).DataCols
            If dc.IsString Then
                \'sql=sql & dc.name & " Like " & txt & " or "
                Select Case pd
                    Case 0,1,2 \'任意位置匹配
                        sql=sql & dc.name & " Like " & txt & " or "
                    Case 3 \'完全匹配
                        sql=sql & dc.name & " = " & txt & " or "
                End Select
            End If
        Next
    ElseIf lsb > "" Then \'否则按选定列查询
        Dim Values() As String
        Values = lsb.split(",")
        For Each lstr As String In values
            \' sql=sql & lstr & " Like " & txt & " or "
            Select Case pd
                Case 0,1,2 \'任意位置匹配
                    sql=sql & lstr & " Like " & txt & " or "
                Case 3 \'完全匹配
                    sql=sql & lstr & " = " & txt & " or "
            End Select
        Next
    End If
    sql=sql.Trim(" ","r","o")
End If
Functions.Execute("动态加载",MainTable.name,sql)
lsb=""
txt=""

\'\'\'
\'============================================================
\'
\'动态加载
\'
\'============================================================
Dim tbName As String= Args(0)
Dim sql As String= Args(1)

If  sql = "" Then  \'查询条件为空时
    If MessageBox.Show("查询条件为空时,默认加载所有信息!" & vbcrlf & "你确定吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Warning)=DialogResult.Yes Then
    Else
        Exit Function
    End If
End If
With DataTables(tbName)
    .LoadFilter=sql
    \'.LoadTop =20
    \'.LoadPage = 0
    .Load()
End With
Return DataTables(tbName).DataRows.Count

这样的吗?系统本身带的有啊,再加一个日期控件改造一下,和狐爸给的帮助的差不多的

[此贴子已经被作者于2014-4-8 22:34:05编辑过]