原来是rs1写成了rs.但还是出错。rs.filter出错。提示类型不正确或者与其他数据冲突。

解决方案 »

  1.   


      rs.close
      rs.open
      set DataGrid1.datasource=rs
      

  2.   

    try:
    rs.Filter = "left(trim(lbbh)," & length & ") = left(""" & cnode & """," & length & ")"
      

  3.   

    就连rs1.filter="1=1"也出错。
    和海草兄的错误都是变量或者类型不正确,或者变量在不可接收范围内,要不就是与其他数据冲突
      

  4.   

    我刚才试了一下,原来是不能加入函数。rs1.filter="lbbh='"+"01"+"'"就对了。要是加个trim就错了。这改怎么办。
      

  5.   

    如果数据库是SQL Server,则只有ltrim(去左边空格)和rtrim(去右边空格)而没有trim,去前后空格可以这样写:
    rtrim(ltrim(lbbh))
      

  6.   

    rs1.Filter = "ltrim(lbbh)='" + "01" + "'"
    还是不对,我一加函数,就出该错误。赶快解救
      

  7.   

    难道在filter属性中不能加函数吗
      

  8.   

    vb版怎么了,这个问题应该很简单的,都加到200分,提前了N次了。为什么都没有人来帮我呢。
      

  9.   

    算了,我还是转回mssql版算了。太冷清了。
      

  10.   

    我记得Recordset.Filter属性中不能出现类似"1=1"这种筛选条件,另外也不能加入函数。
    所以,你的取Recordset的sql必须先就把lbbh字段的值做好处理。然
      

  11.   

    我现在只好改成重新向SQLSERVER重取数据。不知道是不是真的不能加入函数
      

  12.   

    cnode = Mid(cnode, 2)
      length = Len(cnode)
      rs.Filter = "left(trim(lbbh),"+string(length)+ ") = left("+cnode+","+string(length)+")"
      

  13.   

    If cnode <> "root" Then
      cnode = Mid(cnode, 2)
      length = Len(cnode)
      rs.Filter = "lbbh like '" & cnode & "'"
    End If
      

  14.   

    If cnode <> "root" Then
      cnode = Mid(cnode, 2)
      length = Len(cnode)
      rs.Filter = "lbbh like '" & cnode & "%'"
    End If
      

  15.   

    If cnode <> "root" Then
      cnode = Mid(cnode, 2)
      rs.Filter = "lbbh like '" & cnode & "%'"
    End If