Call openSQL
strSQL = "select * from planeinformation where flightno='" & txtFlightNO.Text & "' and seat='" & txtSeat.Text & "'and state=0"
Call QueryUsersRet(strSQL)
'state=0表示未售出
'MsgBox ret.RecordCount
'If ret.RecordCount = 1 Then
.......函数在这里
Public Function QueryUsersRet(ByVal strSQL As String) As Boolean
On Error GoTo errRetOpen1
Call ret.Open(strSQL, con, adOpenDynamic, adLockPessimistic, -1)
'打开时候必须用CALL? 内置函数?
QueryUsersRet = True
Exit Function
每次查出来都-1条记录

解决方案 »

  1.   

    可能是表planeinformation中无关键字!
      

  2.   

    取得记录数有两个条件:
    1 使用用户端游标。也就是查询得到的记录集放在客户端内存。
    2 遍历所有记录。Public Function QueryUsersRet(ByVal strSQL As String) As Boolean
    On Error GoTo errRetOpen1
    ret.CursorLocation = adUseClient
    Call ret.Open(strSQL, con, adOpenDynamic, adLockPessimistic, -1)
    ret.MoveLast
    ret.MoveFirst
    '打开时候必须用CALL? 内置函数?
    QueryUsersRet = True
    Exit Function
      

  3.   

    可能没有查询到满足条件的记录.
    建议把WHERE条件语句拆开试一试.
      

  4.   

    of123() 的是正解要movelast一下的
      

  5.   

    实在不行,就用计算器自已计一下个数。
    dim x as integer
    x=0
    rst.movefirst
    while not rst.eof
    x=x+1
    rst.movnext
    wendtext1.text=x 'x就是记录数。