RS.Open sql(i), DB, adOpenKeyset, adLockPessimistic提示此句有错,提示语是“FROM子句有语法错误”
原程序如下:Private Sub Form_Load()
  Me.Left = 0
  Me.Top = 0
  For i = 0 To 13
    Set RS = New Recordset
    Call lsql
    RS.Open sql(i), DB, adOpenKeyset, adLockPessimistic
    If RS.RecordCount >= 0 Then
      Combo(i).AddItem "无"
      
      Do While RS.EOF = False
        Combo(i).AddItem RS.Fields(1)
        RS.MoveNext
      Loop
    End If
    Combo(i).Text = "无"
  Next i
  txtjj.Text = "0"
  txtsl.Text = "0"
  txtsl.Enabled = False
  txtjj.Enabled = False
End Sub

解决方案 »

  1.   

    Public Sub lsql()
      sql(0) = "select * from all where zl='chip'"
      sql(1) = "select * from all where zl='mainboard'"
      sql(2) = "select * from all where zl='graph'"
      sql(3) = "select * from all where zl='mem'"
      sql(4) = "select * from all where zl='disk'"
      sql(5) = "select * from all where zl='sound'"
      sql(6) = "select * from all where zl='cdrom'"
      sql(7) = "select * from all where zl='floppy'"
      sql(8) = "select * from all where zl='display'"
      sql(9) = "select * from all where zl='MODEM'"
      sql(10) = "select * from all where zl='soundbox'"
      sql(11) = "select * from all where zl='mouse'"
      sql(12) = "select * from all where zl='keyboard'"
      sql(13) = "select * from all where zl='box'"
    End Sub
    以上是公用模块中的sql()语句
      

  2.   

    如果你的all是表名的话与关键字冲突,要加方括号表示为:[all]
      

  3.   

    Private   Sub   Form_Load() 
        Me.Left   =   0 
        Me.Top   =   0 
        For   i   =   0   To   13 
            Set   RS   =   New   Recordset 
            Call   lsql 
            RS.Open   sql(i),   DB,   adOpenKeyset,   adLockPessimistic 
            If   RS.RecordCount   > =   0   Then 
                Combo(i).AddItem   "无" 
                
                Do   While   RS.EOF   =   False 
                    Combo(i).AddItem   RS.Fields(1) 
                    RS.MoveNext 
                Loop
            rs.close 
            End   If 
            Combo(i).Text   =   "无" 
        Next   i 
        txtjj.Text   =   "0" 
        txtsl.Text   =   "0" 
        txtsl.Enabled   =   False 
        txtjj.Enabled   =   False 
    End   Sub
      

  4.   

    每次用完recordset对象 要先close 再open
      

  5.   


    Private Sub Form_Load() 
        Me.Left = 0 
        Me.Top = 0 
        Call lsql
        For i = 0 To 13 
            Combo(i).AddItem "无" 
            Set RS = DB.Execute(sql(i))               
            Do Until RS.EOF
               Combo(i).AddItem RS.Fields(1) 
               RS.MoveNext 
            Loop 
            Combo(i).Text = "无" 
        Next   i 
        txtjj.Text = "0" 
        txtsl.Text = "0" 
        txtsl.Enabled = False 
        txtjj.Enabled = False 
    End   Sub
      

  6.   

    3Q3Q~~~
    不过还是提示错误:RS.Open   sql(i),   DB,   adOpenKeyset,   adLockPessimistic
    提示语如下:实时错误‘3705’:对象打开时,不允许操作。
      

  7.   

    3Q3Q~~~
    不过还是提示错误:RS.Open   sql(i),   DB,   adOpenKeyset,   adLockPessimistic
    提示语如下:实时错误‘3705’:对象打开时,不允许操作。
      

  8.   

    抱歉 位置换下
    rs.close
    End If==>end if
    rs.close