注册 登录
编程论坛 VB6论坛

access查询语句求助

lzxagy 发布于 2012-03-20 17:49, 1802 次点击
这是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 编辑 ]
7 回复
#2
风吹过b2012-03-20 20:20
你是怎么显示的??
如果上面是你的查询语句的话,应该可以查询到二条记录,是不是你显示部分只显示 所查到的 最后一条记录???
#3
风吹过b2012-03-20 20:21
sql = "select top 1 * from guanche where ch='" & Combo1.Text & "' "
强制只返回所查到的第一条记录。
#4
Artless2012-03-20 23:32
以下是引用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加只查询第一条记录的条件
#5
dc__sky2012-03-21 11:34
你的sql语句改为
sql = "select * from guanche where ch='" & Combo1.Text & "' order by jdrq DESC"
#6
ta86072012-03-21 17:01
你都沒有循環取出兩條記錄
DO UNTIL RS.EOF
..你的代碼...
RS.MOVENEXT
LOOP
#7
lzxagy2012-03-24 20:19
以下是引用dc__sky在2012-3-21 11:34:37的发言:

你的sql语句改为
sql = "select * from guanche where ch='" & Combo1.Text & "' order by jdrq DESC"
谢谢帮助,问题解决了
#8
dc__sky2012-03-28 14:43
懂了就行!呵呵~~
1