Dim Ssql1 As String
Dim Ssql2 As String
Dim Ssql3 As String
Ssql = "select  * from py "
Smdbpath = App.Path & "\Mdate.dt.mdb"
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Smdbpath
rs.CursorLocation = adUseServer
rs.Open Ssql, cnn, adOpenStatic, adLockOptimistic
For i = 1 To Grdsave.Rows - 1
    Ssql = ""
    Grdsave.Row = i
    Grdsave.Col = 0
    Ssql = Ssql & "'" & Grdsave & "',"
    Ssql1 = "'" & Grdsave & "'"   注:这个变量全中文
    Grdsave.Col = 1
    Ssql = Ssql & "'" & UCase$(Grdsave) & "'"
    Ssql2 = "'" & Grdsave & "'"   注:这个变量全是英文
    Ssql3 = "select * from py where pyname=" & Ssql1 & " and pysxie=" & Ssql2
    'cnn.Execute Ssql3
..........
里所有数据都找到,条件不合的也找到“UCase”加不加也一样
而我用adodc 用打开又是正常的(select * form py where pyname='主板' and pysxie='ZB')空格该加的都有,难到用“select * form py"打开后就不能用'cnn.Execute ssql3 ?

解决方案 »

  1.   

    你debug.print一下你的SQL语句看看是否正确
      

  2.   

    将SQL放到查询分析器里面分析,然后再改动VB代买。
      

  3.   

    rs.CursorLocation = adUseServer
    改成adusercilent
      

  4.   

    发表于:2007-09-19 14:41:232楼 得分:0 
    我的SQL语句没有问题 年轻人,要虚心求教.
    Ssql3   =   "select   *   from   py   where   pyname='" & Ssql1 & "'   and   pysxie='" & Ssql2 & " '