| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 595 人关注过本帖, 1 人收藏
标题:时间范围搜索搞的我这小菜鸟犯晕!高手帮忙看看!!
只看楼主 加入收藏
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
结帖率:88.24%
收藏(1)
已结贴  问题点数:20 回复次数:4 
时间范围搜索搞的我这小菜鸟犯晕!高手帮忙看看!!
做了个组合查询,有一段按时间范围查询ACCESS数据库,单独用很正常,代码如下:
Private Sub Command5_Click()
= adCmdText
Adodc4.RecordSource = "select * from czfy where 时间 between #" & Format(DTPicker1.Value) & "# and #" & Format(DTPicker2.Value) & "#"
Adodc4.Refresh
If Adodc4.Recordset.RecordCount > 0 Then
Adodc4.Refresh
Else
MsgBox "没有符合条件的信息,请您确认后重新输入"
End If
End Sub
但是把:时间 between #" & Format(DTPicker1.Value) & "# and #" & Format(DTPicker2.Value) & "#"
放到下面这里就没反应了,不管选择什么时间范围都提示没有符合条件的信息,请您确认后重新输入:(时间搜索不选择就正常,数据库时间=日期类型)
Private Sub Command1_Click()
Dim sc As String
If Len(Combo1.Text) > 0 Then
      sc = "区域 = '" + Combo1.Text + "'"
End If
If Len(Combo2.Text) > 0 Then
    If Len(sc) > 0 Then
           sc = sc & " and 板块 = '" + Combo2.Text + "'"
    Else
          sc = "板块 = '" + Combo2.Text + "'"
    End If
 End If
If Check1.Value = 1 Then
    If Len(sc) > 0 Then
         sc = sc & " and 时间 between #" + Format(DTPicker1.Value) + "# and #" + Format(DTPicker2.Value) + "#"
    Else
          sc = "时间 between #" + Format(DTPicker1.Value) + "# and #" + Format(DTPicker2.Value) + "#"
    End If
End If
    If Len(sc) > 0 Then
    = adCmdText
    Adodc4.RecordSource = "select * from czfy where " & sc
    Adodc4.Refresh
End If
   If Adodc4.Recordset.RecordCount > 0 Then
    Adodc4.Refresh
    Else
    MsgBox "没有符合条件的信息,请您确认后重新输入"
   End If
End Sub
还有个数据库空值问题:在下面的代码中,Combo8载入“面积”里的值得时候,里面有的是空值,我不会只好用& ""来解决
但是用了& ""后,载入的数据很多都空白的!有什么办法解决吗?简单点的!!
Do While Not Adodc3.Recordset.EOF
Combo8.AddItem Adodc3.Recordset.Fields("面积") & ""
Adodc3.Recordset.MoveNext
Loop

[ 本帖最后由 wxflw 于 2012-1-29 22:06 编辑 ]
搜索更多相关主题的帖子: 数据库 搜索 between where 小菜 
2012-01-29 20:27
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:20 
第一个问题:没有提示出错,说明你的sql语句没有语法错误,可以将combo1和combo2不输入内容,勾选check1,生成的sql语句等效于单独用,可以在access中建立个查询,使用该sql语句调试的,建议字符串连接还是要使用"&"连接,不用"+"。
第二个问题:使用isnull函数,语句写法是if not isnull(Adodc3.Recordset.Fields("面积")) then Combo8.AddItem Adodc3.Recordset.Fields("面积")  
2012-01-30 15:56
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
以下是引用wxflw在2012-1-29 20:27:46的发言:
不管选择什么时间范围都提示没有符合条件的信息,请您确认后重新输入:
时间搜索不选择就正常

无知
2012-01-31 01:32
apple0072011
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:249
专家分:989
注 册:2011-8-17
收藏
得分:0 
Adodc4.RecordSource = "select * from czfy where " & sc & " "

天道酬勤
2012-01-31 08:26
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:324
专家分:435
注 册:2012-1-29
收藏
得分:0 
问题找到了!谢谢!我在中间多粘贴了一组时间搜索代码!!我没注意!看眼花了~~~~谢谢大家了,分送上!

学习--------------学习-------------------学习--------------------!!
2012-01-31 09:23
快速回复:时间范围搜索搞的我这小菜鸟犯晕!高手帮忙看看!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020825 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved