以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  查询相关  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42555)

--  作者:653006728
--  发布时间:2013/11/15 9:11:00
--  查询相关
做一个查询面板   包括 选定两个时间段   可以查询这两个时间段内所有的信息内容  该怎么做呢
--  作者:Bin
--  发布时间:2013/11/15 9:12:00
--  
http://www.foxtable.com/help/topics/1058.htm
--  作者:653006728
--  发布时间:2013/11/15 10:54:00
--  
这是什么意思
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2013/11/15 10:58:00
--  
贴出代码
--  作者:653006728
--  发布时间:2013/11/15 11:00:00
--  
Dim mdd As WinForm.ComboBox = e.Form.Controls("目的地")
Dim sjr As WinForm.ComboBox = e.Form.Controls("收件人")
Dim qsrq As WinForm.DateTimePicker = e.Form.Controls("起始日期")
Dim zzrq As WinForm.DateTimePicker = e.Form.Controls("终止日期")
Dim ydh As WinForm.TextBox = e.Form.Controls("运单号")
Dim njm As WinForm.TextBox = e.Form.Controls("内件名")
Tables("快递信息").Filter=" 目的地 =  \'" & mdd.text & " \' And 收件人 = \'" & sjr.text & " \' and 起始日期 >=  \' # " & qsrq .Value & " #  \' and 终止日期 <= \'# " & zzrq.value & "# \' and 运单号 like \' * " ydh.text " * \' and 内件名 like \'* " njm.Text " * \' "

--  作者:Bin
--  发布时间:2013/11/15 11:09:00
--  
首先,你单引号不要拼接空格,日期只需要井号,不需要额外增加单引号

其次你弹出一下你拼接的Filter是什么样子的


Tables("快递信息").Filter=" 目的地 =  \'" & mdd.text & "\' And 收件人 = \'" & sjr.text & "\' and 起始日期 >=  #" & qsrq .Value & "# and 终止日期 <= #" & zzrq.value & "# and 运单号 like \'*" ydh.text "*\' and 内件名 like \'*" njm.Text "*\'"

--  作者:狐狸爸爸
--  发布时间:2013/11/15 11:09:00
--  

呵呵,你一行代码,居然汇集7、8个错误,也不容易做到的:

 

Dim mdd As WinForm.ComboBox = e.Form.Controls("目的地")
Dim sjr As WinForm.ComboBox = e.Form.Controls("收件人")
Dim qsrq As WinForm.DateTimePicker = e.Form.Controls("起始日期")
Dim zzrq As WinForm.DateTimePicker = e.Form.Controls("终止日期")
Dim ydh As WinForm.TextBox = e.Form.Controls("运单号")
Dim njm As WinForm.TextBox = e.Form.Controls("内件名")
Tables("快递信息").Filter = " 目的地 =  \'" & mdd.text & "\' And 收件人 = \'"& sjr.text & "\' and 起始日期 >= # " & qsrq .Value & "# and 终止日期 <= # " & zzrq.value & "#  and 运单号 like \'*"  & ydh.text &  "*\' and 内件名 like \'*"  & njm.Text &  "* \'"

 

提示:

 

1、你漏掉了很多&

2、对于电脑,“北京”和 “北京 ”是完全不同的,字符比较的时候,不要乱加空格

3、字符用单引号\',日期用#,记得日期不是用\'#

4、提醒一下,你这样必须输入所有条件才能查找,为啥不按帮助来依葫芦画瓢:

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

 


--  作者:653006728
--  发布时间:2013/11/15 13:50:00
--  
like 查询语句    如果一个数据是123456789   那么用like查询的时候必须输入 12 、123 、456这样连续起来  而不能4675这样查询?
--  作者:Bin
--  发布时间:2013/11/15 14:04:00
--  
当然
--  作者:653006728
--  发布时间:2013/11/15 14:11:00
--  

Dim Filter As String
With e.Form.Controls("目的地")
    If .Value IsNot Nothing Then
        Filter = Filter & "收件_目的地= \'" & .value & "\'"
    End If
End With
With e.Form.Controls("收件人")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "收件_姓名 = \'" & .Value & "\'"
    End If
End With

With e.Form.Controls("起始日期")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "寄件_日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("终止日期")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "寄件_日期 <= #" & .Value & "#"
    End If
End With
With e.Form.Controls("内件名")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "寄件_内件名 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("运单号")
If .Value IsNot Nothing Then
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "快递单号  like\'*" & .text & "*\'"
End If
End With
If Filter > "" Then
    Tables("快递信息").Filter = Filter
End If

 

 

 

 

 

为什么  内件名组合框没有内容出现呢


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看