Option Explicit
Public m_Con As ADODB.Connection
Public m_Rs As ADODB.RecordsetPublic Sub main()
Dim ConnStr As String
Set m_Con = CreateObject("ADODB.Connection")
ConnStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & App.Path & "\school.mdb"
m_Con.Open ConnStr
Load frmLogin
frmLogin.Show
End Sub
Option Explicit
Private Sub cmdCancel_Click()
End
End SubPrivate Sub cmdOK_Click()
Dim sql As String
sql = "select * from user where username=" & "'" & txtUserName & "'" & " and password=" & "'" & txtPassword & "'"
Set m_Rs = New ADODB.Recordset
m_Rs.Open sql, m_Con, adOpenDynamic, adLockOptimistic
If Not m_Rs.EOF Then
        Unload Me
        Load MDIForm1
        MDIForm1.Show
        Set m_Rs = Nothing
Else
        MsgBox "Invalid Password, try again!", , "Login"
        txtPassword.SetFocus
        SendKeys "{Home}+{End}"
End If
End Sub

解决方案 »

  1.   

    你这个大概是通过ODBC访问吧~~如果我要访问PB的数据文件行不行~~是不是该把这里driver={Microsoft Access Driver (*.mdb)};变一下呢~
      

  2.   

    我想你是用DAO的方法。
    如下:
    Dim mydata As Database
    Dim myres As Recordsetset mydata=dbengine.opendatabase("e:\temp\temp.mdb",false,false,"ms access;")
    set myres=db.openrecordset("表名")
      

  3.   

    刚做过一个,简单的说,加入DAO后,建立一个窗体,加一个data控件,名称data1,在form_load中添加:
          data1.recordname=app.path&"\数据库名.mdb"
    app.path是 指程序所在当前目录,路径的改变没有影响。
      

  4.   

    data1.recordset.addnew
    data1.recordset.movenext
    data1.recordset.movefirst
    data1.recordset.movelast
    data1.recordset.delete
    data1.recordset.firdfirst
    data1.recordset.findlast
    DAO 就是着几条命令。还有一条,但是单词我忘了怎么打了
      

  5.   

    Dim ConnStr As String
    Set m_Con = CreateObject("ADODB.Connection")
    ConnStr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & App.Path & "\school.mdb"
    m_Con.Open ConnStr
    dim rs as recordset
    set rs = new recordset
    rs.open("database name","table")
      

  6.   

    不对,我的意思不使用DAO~~而上面那位qbilbo(风之兄)提供的东西也不对的啊~
      

  7.   


     ACCESS2000: 
    Dim cnn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim res As New ADODB.Recordsetcnn.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" "\YourDB.mdb;Persist Security Info=False"
      
    cnn.Open
    Set cmd.ActiveConnection = cnn
    cmd.CommandText = strSQL     'strSQL是你的 SQL 语句
    set res=cmd.Execute
      

  8.   

    ACCESS 97:
     Dim cnn As New ADODB.Connection
    Dim cmd As New ADODB.Command
    Dim res As New ADODB.Recordsetcnn.ConnectionString= "Provider=Microsoft.Jet.OLEDB 3.51;DataSource=" "\YourDB.mdb;Persist Security Info=False"
      
    cnn.Open
    Set cmd.ActiveConnection = cnn
    cmd.CommandText = strSQL     'strSQL是你的 SQL 语句
    set res=cmd.Execute
      

  9.   

    正确答案:(adodb实现)
     dim cnn as new conncetion
     dim rst as new recordset
     
    with cnn
     .provider="microsoft..jet.oledb.4.0"
     .open "c:/1.mdb"    '假设acces数据库为c盘1这个文件
    end with
     
    with rst
    .activeconnection=cnn
    .cusorlocation=userclient
    .cusortype=openstatic
    .open "select ........." '(sql语句)
    end with
    此为用adodb实现,当然用command也可以,但以上是较高效简单的。
      

  10.   

    dim cnn as new  adodb.conncetion
     dim rst as new adodb.recordset
     
    with cnn
     .provider="microsoft..jet.oledb.4.0"
     .open "c:/1.mdb"    '假设acces数据库为c盘1这个文件
    end with
     
    with rst
    .activeconnection=cnn
    .cusorlocation=userclient
    .cusortype=openstatic
    .open "select ........." '(sql语句)
    end with
    此为用adodb实现,当然用command也可以,但以上是较高效简单的
      

  11.   

    全部不是我要的啦,我想要那个更加的简单明了。基本上有些像这个样,记得是在《VB从入门到精通》里看到的~~只需在引用中加用DAO支持就可以了~不用使用数据访问控件什么的~~有些像如下这个样子,但如下代码运行不了~到第四行出错~
    dim aa as dbenging
    Dim mydata As Database
    Dim myres As Recordsetset mydata=aa.opendatabase("e:\temp\temp.mdb",false,false,"ms access;")
    set myres=mydata.openrecordset("表名")
      

  12.   

    dim mydata as new database
    dim myres as new recordset..........
    私下建议用Ado,呵呵
      

  13.   

    不好意思,我是菜鸟。谁能给我一个详细些的代码?能运行的~~
    ado有没有资料~
      

  14.   

    Dim mydata As Database
    Dim myres As Recordsetset mydata=dbengine.opendatabase("e:\temp\temp.mdb",false,false,"ms access;")
    set myres=db.openrecordset("表名")只要引用了DAO,这个代码就不会错的啊!你是不是哪个符号打错了。
    能不能告诉我错误号,或错误提示。你的代码中dim aa as dbengine有问题。
    dbengine是DAO结构中的最上层,不需要申明,也不能声明。
      

  15.   

    谢谢qbilbo(风之兄)你所给出的代码是正确可运行的,也感谢各位的热心解答。