标题:access查询语句求助
只看楼主
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
结帖率:66.67%
已结贴  问题点数:20 回复次数:7 
access查询语句求助
这是access中的两条记录,怎么只能查询到第一条记录并显示出来呢。
我的语句为sql = "select * from guanche where ch='" & Combo1.Text & "' ",但是老显示第二条记录,我是想显示第一条记录。

字段 ch          jdrq                     zg
      888       2011-12-31               100
      888       2009-12-18               200
在access中有多条数据,具体如下图:

我想查找同一个车号的最后一次检定日期和它对应的相关数据。即:车号假如是10646,查询ch字段中10646的数据,因为10646共有两条数据,jdrq字段中两次检定日期分别为2011-9-23和2009-9-23,我想要显示的是jdrq字段中2011-9-23这行数据也就是最后一次检定日期,但是我的代码确总是查询出的是idrq字段中2009-9-23的这行数据。

程序代码:
Dim sql As String
Dim i, j, m, b, c As Integer
Dim a1, b1, c1, d1, e1, N, m1, X, row, col As Integer
Dim lngCount    As Long
Dim iRows       As Long

 
sql = "select * from guanche where ch='" & Combo1.Text & "' "
rs.Open sql, conn.ConnectionString, adOpenStatic, adLockOptimistic

 If rs.EOF = True Then

 MsgBox "没有该车号!", vbOKOnly + vbExclamation, "警告"
   rs.Close
   Combo1.SetFocus
Exit Sub

 Else
Text15.Text = rs("csdgs")
Text19.Text = rs("zsbh")
Text18.Text = rs("ygkzg")
Text20.Text = rs("jldwz")
Text22.Text = rs("jdrq")
Text23.Text = rs("yxrq")
Text24.Text = rs("z1")
Text25.Text = rs("z2")
Text26.Text = rs("z3")
Text27.Text = rs("z4")
Text28.Text = rs("z5")


[ 本帖最后由 lzxagy 于 2012-3-21 09:35 编辑 ]
搜索更多相关主题的帖子: access where 记录 
2012-03-20 17:49
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:5 
你是怎么显示的??
如果上面是你的查询语句的话,应该可以查询到二条记录,是不是你显示部分只显示 所查到的 最后一条记录???

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-20 20:20
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
sql = "select top 1 * from guanche where ch='" & Combo1.Text & "' "
强制只返回所查到的第一条记录。

授人于鱼,不如授人于渔
早已停用QQ了
2012-03-20 20:21
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
得分:5 
以下是引用lzxagy在2012-3-20 17:49:55的发言:

这是access中的两条记录,怎么只能查询到第一条记录并显示出来呢。
我的语句为sql = "select * from guanche where ch='" & Combo1.Text & "' ",但是老显示第二条记录,我是想显示第一条记录。

字段 ch          jdrq                     zg
      888       2011-12-31               100
      888       2009-12-18               200

在sql加只查询第一条记录的条件

无知
2012-03-20 23:32
dc__sky
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:117
注 册:2012-3-13
得分:5 
你的sql语句改为
sql = "select * from guanche where ch='" & Combo1.Text & "' order by jdrq DESC"
2012-03-21 11:34
ta8607
Rank: 4
等 级:业余侠客
帖 子:377
专家分:244
注 册:2007-9-22
得分:5 
你都沒有循環取出兩條記錄
DO UNTIL RS.EOF
..你的代碼...
RS.MOVENEXT
LOOP

不理会流言蜚语,努力做好份内事情,只做自己.
2012-03-21 17:01
lzxagy
Rank: 1
等 级:新手上路
帖 子:69
专家分:0
注 册:2007-8-28
得分:0 
以下是引用dc__sky在2012-3-21 11:34:37的发言:

你的sql语句改为
sql = "select * from guanche where ch='" & Combo1.Text & "' order by jdrq DESC"
谢谢帮助,问题解决了
2012-03-24 20:19
dc__sky
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:117
注 册:2012-3-13
得分:0 
懂了就行!呵呵~~
2012-03-28 14:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363763-1-1.html




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

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