当前位置:编程学习 > VB >>

下面的VB/SQL句哪错了?

For i = 1 To .Rows - 1
          For j = 4 To MSFlexGrid4.Cols - 1
             Rs.Open "select 姓名 from 值班信息表 where 值班日期  =" & CDate(MSFlexGrid4.TextMatrix(i, 0)) & "and 值班类型 ='" & MSFlexGrid4.TextMatrix(i, 3) & "'and 值班级别 ='" & MSFlexGrid4.TextMatrix(0, j) & "'"
                If Rs.RecordCount <> 0 Then
                   MSFlexGrid4.TextMatrix(i, j) = Rs.Fields(0)
                  
                ElseIf Rs.RecordCount = 0 Then
                   MSFlexGrid4.TextMatrix(i, j) = Str(Rs.RecordCount)
                  
                End If
             Rs.Close
           Next j
      Next i
入学考试? 两具and前面应该要有空格吧.
'rs打开前先判断状态
'值班日期条件判断时变量两边加上单引号
'and前后加空格
For i = 1 To .Rows - 1
    For j = 4 To MSFlexGrid4.Cols - 1
        if rs.state<>adstateclosed then rs.close
        Rs.Open "select 姓名 from 值班信息表 where 值班日期 ='" & CDate(MSFlexGrid4.TextMatrix(i, 0)) & "' and 值班类型 ='" & MSFlexGrid4.TextMatrix(i, 3) & "' and 值班级别 ='" & MSFlexGrid4.TextMatrix(0, j) & "'"
        If Rs.RecordCount <> 0 Then
            MSFlexGrid4.TextMatrix(i, j) = Rs.Fields(0)
        Else 
            If Rs.RecordCount = 0 Then
                MSFlexGrid4.TextMatrix(i, j) = Str(Rs.RecordCount)
            end if
        End If
        Rs.Close
    Next j
Next i
你设个断点看一下,不就知道了 烂得回答。 For i = 1 To .Rows - 1
    For j = 4 To MSFlexGrid4.Cols - 1
        if rs.state<>adstateclosed then rs.close
        Rs.Open "select 姓名 from 值班信息表 where 值班日期 =#" & MSFlexGrid4.TextMatrix(i, 0) & "# and 值班类型 ='" & MSFlexGrid4.TextMatrix(i, 3) & "' and 值班级别 ='" & MSFlexGrid4.TextMatrix(0, j) & "'"'红色中的值班级别如果为数值类型,则单引号要去掉,如果是字串类型,需要单引号
        If Rs.RecordCount <> 0 Then
            MSFlexGrid4.TextMatrix(i, j) = Rs.Fields(0)
        Else 
            If Rs.RecordCount = 0 Then
                MSFlexGrid4.TextMatrix(i, j) = Str(Rs.RecordCount)
            end if
        End If
        Rs.Close
    Next j
Next i
补充:VB ,  数据库(包含打印,安装,报表)
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,