连ACCESS的问题代码如下:
Option Explicit
Dim db As Connection
Dim rs As RecordsetPrivate Sub cmdCancel_Click()
    Me.Hide
End SubPrivate Sub cmdOK_Click()
If Trim(txtUserName.Text) = "" Or Trim(txtPassword.Text) = "" Then
MsgBox "请输入用户名和密码", vbExclamation, "登录提示"
Else
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=D:\..\student.mdb;"
Set rs = New Recordset
rs.Open "select * from password where cname='" & txtUserName.Text & "'", db, adOpenStatic, adLockReadOnly
If rs.RecordCount < 1 Then
    MsgBox "用户名错误,请重试!", , "登录"
    txtPassword.Text = ""
    txtUserName.SetFocus
Else
    rs.Close
    db.Close
    Me.Hide
End If
End If
End Sub
用的是VB的登陆对话框,但老是提示FROM字句语法错误,没错啊,不知道错在那里

解决方案 »

  1.   

    Dim db As Connection
    改为:Dim db As ADODB.Connection
    同样其他的声明也要改!!
      

  2.   

    加了
    Dim db As ADODB.Connection
    Dim rs As ADODB.Recordset
    Set db = New ADODB.Connection
    Set rs = New ADODB.Recordset
    但还是提示同样的错误
      

  3.   

    Dim db As Connection
    Dim rs As Recordset
    改为
    dim db as ADODB.Connection
    dim rs as ADODB.Recordset而且要引用
    Microsoft ActiveX data Objects 2.X Library
    X为版本号,2.7\2.6\2.5等都无所谓
      

  4.   

    已经引用Microsoft ActiveX data Objects 2.5 Library
      

  5.   

    我刚才把db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=D:\..\student.mdb;"
    改为db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\aaaaa.mdb;Persist Security Info=False"通过了调试
      

  6.   

    检查rs.Open "select * from password where cname='" & txtUserName.Text & "'", db, adOpenStatic, adLockReadOnly
    password、cname的拼写是否有错误。可以先把where 之后语句注释掉,进行排错,看是否是该语句上的错误!
      

  7.   

    但老是提示FROM语句的问题,能否讲一下如何做
      

  8.   

    今天下了,兄台能否给个QQ或MSN,以后交流交流
      

  9.   

    MY MSN:[email protected]