设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2234|回复: 7
打印 上一主题 下一主题

远程

[复制链接]
跳转到指定楼层
1#
发表于 2004-3-28 01:53:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想用ACCESS做前台界面,用SQL数据库做后台,我搜索了很多旧贴,但是都不知道怎样解决远程链接表问题,我不想通过ODBC来链接,因为DSN上面可以看到我的服务器IP和登录用户ID,有哪位高人可以教我如何不通过DSN解决这个远程链接的问题吗?谢谢!
因为我刚接触这方面,所以最好能举个例子,例如:我的ACCESS前台的链接表如何可以连到我的服务器上的SQL数据库中的表????  非常感谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2004-3-28 06:54:00 | 只看该作者
那就用ACCESS MDB+ADO+SQL SERVER,或者ACCESS ADP+SQL SERVER(快)。前者能很快移植到其它开发工具,后者快,但需要部署ACCESS(或者OFFICE)。如果是企业内部使用,建议用后者;如果是要作为工具发布建议用前者。

用链接表的话就肯定要用ODBC。

点击这里给我发消息

3#
发表于 2004-3-28 21:40:00 | 只看该作者
以下是引用zxh在2004-3-27 17:54:48的发言:
我想用ACCESS做前台界面,用SQL数据库做后台,我搜索了很多旧贴,但是都不知道怎样解决远程链接表问题,我不想通过ODBC来链接,因为DSN上面可以看到我的服务器IP和登录用户ID,有哪位高人可以教我如何不通过DSN解决这个远程链接的问题吗?谢谢!
因为我刚接触这方面,所以最好能举个例子,例如:我的ACCESS前台的链接表如何可以连到我的服务器上的SQL数据库中的表????  非常感谢!


我的理解,你所说的“远程”是指基于TCP/IP访问SQL SERVER数据库。如果我的理解不正确的话请跟贴说明。

你的链接表的连接字符串可以定义为:
ODBC;DRIVER=SQL Server;SERVER=<你的服务器名>;UID=<数据库登录名>WD=<登录密码>;DATABASE=<数据库名>

例如:
Sub RefreshLinkX()

    Dim dbsCurrent As Database
    Dim tdfLinked As TableDef

    ' Open a database to which a linked table can be
    ' appended.
    Set dbsCurrent = OpenDatabase("DB1.mdb")

    ' Create a linked table that points to a Microsoft
    ' SQL Server database.
    Set tdfLinked = _
        dbsCurrent.CreateTableDef("AuthorsTable")
    tdfLinked.Connect = _
        "ODBC;DRIVER=SQL Server;SERVER=192.168.0.1;UID=saWD=;DATABASE=pubs"
    tdfLinked.SourceTableName = "authors"
    dbsCurrent.TableDefs.Append tdfLinked

    ' Display contents of linked table.
    Debug.Print _
        "Data from linked table connected to first source:"
    RefreshLinkOutput dbsCurrent

    ' Display contents of linked table.
    Debug.Print _
        "Data from linked table connected to second source:"
    RefreshLinkOutput dbsCurrent

    ' Delete linked table because this is a demonstration.
    dbsCurrent.TableDefs.Delete tdfLinked.Name

    dbsCurrent.Close

End Sub

Sub RefreshLinkOutput(dbsTemp As Database)

    Dim rstRemote As Recordset
    Dim intCount As Integer

    ' Open linked table.
    Set rstRemote = _
        dbsTemp.OpenRecordset("AuthorsTable")

    intCount = 0

    ' Enumerate Recordset object, but stop at 50 records.
    With rstRemote
        Do While Not .EOF And intCount < 50
            Debug.Print , .Fields(0), .Fields(1)
            intCount = intCount + 1
            .MoveNext
        Loop
        If Not .EOF Then Debug.Print , "[more records]"
        .Close
    End With

End Sub


这样话,就不需要设置DSN
4#
 楼主| 发表于 2004-3-29 18:57:00 | 只看该作者
感谢zhuyiwen
现在我有新的问题了:
我试了一下,能够成功建立联接表,但是得到的链接表是无法添加记录的,我想实现可以添加记录的链接表,该如何修改,请高手指教,谢谢!
5#
 楼主| 发表于 2004-3-29 19:00:00 | 只看该作者
另外,有高手愿意指教一下如何用ADP+SQL吗?举个简单的例子,谢谢!

点击这里给我发消息

6#
发表于 2004-3-30 06:19:00 | 只看该作者
以下是引用zxh在2004-3-29 10:57:02的发言:
感谢zhuyiwen
现在我有新的问题了:
我试了一下,能够成功建立联接表,但是得到的链接表是无法添加记录的,我想实现可以添加记录的链接表,该如何修改,请高手指教,谢谢!


不会吧?

点击这里给我发消息

7#
发表于 2004-3-30 06:22:00 | 只看该作者
以下是引用zxh在2004-3-29 10:59:57的发言:
另外,有高手愿意指教一下如何用ADP+SQL吗?举个简单的例子,谢谢!


ACCESS中的罗斯文商贸项目就是最好的例子

点击这里给我发消息

8#
发表于 2004-4-6 16:03:00 | 只看该作者
链接表是无法添加记录可能是你用的ACCESS2000,而且表中没有设主键。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 22:30 , Processed in 0.088631 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表