小弟最近在做一个访问远程数据库的简单软件
希望用ADO来连接远程的ACCESS数据库,请高手指点指点该怎么连接到该数据库,打开数据库中的表,查询,以及对表的字段的读取,更新,追加或删除。如果能够提供类似的源程序小弟一定感激不尽。

解决方案 »

  1.   

    可以用ADO来搞定。
    你首先要在VB菜单中:
    “工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
    注:2.X为版本号,如果你机子上有高版本的就用高版本的,如:2.5或2.6的。
    还要添加datagrid控件,在“工程”--->"部件"--->datagird控件
    示例:Private Sub ComOK_Click()
       Dim SQLstr As String,cnstr AS String
      Dim cn AS New ADODB.Connection'连接对象
       Dim rs As New ADODB.Recordset'记录集对象
       cnstr = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
               "Data Source=\\myServer\c:\inetpub\wwwroot\yourdb.mdb" '连接字符串
       cn.open' 打开数据库连接
       rs.CursorLocation =adUseClient
       sqlstr="slect * from XXX表"
       rs.open sqlstr,cn,3,3'执行SQL语句,并返回记录
       set datagrid1.datasource=rs
       datagrid1.refresh
       rs.close'关闭记录集对象
       set rs=nothing
    End Sub
    本示例是将数据库中的一张表的记录显示在datagrid的控件中。
    注:myserver为服务器名可以为IP地址。有关更新,添加,删除 ,查询等操作用ADO的记录集对象来搞定。
    更新用update,添加用addnew,删除用delete.相关具体的请查阅MSDN.
      

  2.   

    其实可以用向导来实现数据库的连接,在 点击菜单”工程-à添加窗口” 在弹出的对话框中选择 “VB Data Form Wizard”打开后,在接下来出现的窗口中选择下一步,然后这这里你就可以选择连接的方式了(Access或是Remote(ODBC)),选择好好(比较我们选择ODBC),按:”下一步”,在这里就可以选择数据源了(这晨选择”awu”,还有输入用户名了,这些做完后,按”下一步”,这时在”Binding Type”中选择 “ADO Code”,然后按”下一步”,接着在”Record Source”下拉窗体中数库中的表(如这里选Author),然后把AvailableFields 中的字段移到 Selected Fields 中,按”下一步”再接着按”下一步”,然后安”完成”就可以,这时VB将自动为你生成一个窗口,里面有连接数据库的代码..如上面所说的为:
        Dim db As Connection
      Dim WithEvents adoPrimaryRS As Recordset
      Set db = New Connection
      db.CursorLocation = adUseClient
      db.Open "PROVIDER=MSDASQL;dsn=awu;uid=;pwd=;"  Set adoPrimaryRS = New Recordset
      adoPrimaryRS.Open "select Au_ID,Author,[Year Born] from Authors", db, adOpenStatic, adLockOptimistic如果大家在用时,还有一些其它的选项,需说明的是如果选择连接的方式了Access 的话,数据库文件的格式必须是Access 97的,如果你想用Access 2000的,须要更一下连接代码.VB的这个功能很有用,特别是在调试时,不用手动输入代码,比较海上时.
      

  3.   

    还是不行啊
    小弟在局域网的主机上共享了一个ACCESS数据库文件 (\\hzh\c:\message.mdb)
    可是用下面这种方法连不到数据库上,
    Set ADOConnectionLocal = New ADODB.Connection
    With ADOConnectionLocal
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                            "Data Source=" & DatabaseName & ";" & _
                            "Mode=Read;" & _
                            "Persist Security Info=False;"
        .Open
    End With
    老是说"\\hzh\C:\message.mdb"不是有效路径
      

  4.   

    可以的话用SQL Server 2000好了
      

  5.   

    .ConnectionString = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source==" & DatabaseName & "Persist Security Info=False”
    \\hzh\C:\message.mdb =》\hzh\message.mdb 我的 “Data Source=\\Nbjtsoft\display\display.mdb” 是可以的。
    其中display是共享的