最近用vb 连接access数据库做了一个登陆界面
可每次连接时都提示说from子句语法错误
具体代码如下,请高手帮忙分析一下
Public Sub OpenConn() '连接数据库
    Set cn = New ADODB.Connection
    Set Rs = New ADODB.Recordset
    cn.CursorLocation = adUseClient
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.path & "\database\zealtec.mdb;Persist Security Info=False;"
End Sub
'关闭数据库连接
Public Sub CloseConn()
    'rs.Close
    'Set rs = Nothing
    cn.Close
    Set cn = Nothing
End SubPrivate Sub Cmdcancle_Click()
 Exit Sub
End SubPrivate Sub Cmdok_Click()
  If Me.Txtusername.Text = "" Then
  MsgBox "请输入用户名!", 48, "错误提示"
  Exit Sub
End If
Call OpenConn
sql = "select * from user" ' where username ='" & Me.Txtusername.Text & "'"
 Rs.Open sql, cn, 1, 1
  If Me.Txtpassword.Text = Rs.Fields("password") Then
      
       Call CloseConn
       Formmain.Show       Unload Me
    Else
       MsgBox "密码错误!", 48, "错误提示"
    End If
End Sub

解决方案 »

  1.   

    老是在Rs.Open sql, cn, 1, 1
    上显示from子句语法错误,为什么? 
      

  2.   

    sql = "select * from [user]" ' where username ='" & Me.Txtusername.Text & "'" 
      

  3.   

    sql = "select * from user where username ='" & Me.Txtusername.Text & "'"
      

  4.   

    sql = "select * from [user] where username ='" & Me.Txtusername.Text & "'" 
      

  5.   

    这句应该没问题吧
    我原来写的是
    sql = "select * from user where username = '"& me.txtusername.text"'"
    后来把where username ='"& me.txtusername.text &'"给注释掉了
      

  6.   

    问题解决了
    感谢wangmu7206
    可我不明白
    为什么要加一个中括号啊
    我在网上看的好多代码都没有加中括号
    能说明下原因吗?谢谢!
      

  7.   

    user系统保留字,不加中括号会误会,如果用myuser等就不用加中括号
      

  8.   


    谢谢,感谢jhone99,现在明白了
      

  9.   

    access的关键字,比如user之类的,在sql语句中另做它用的时候,比如作为表名、字段名等等,都要用[]括起来。