手机
当前位置:查字典教程网 >编程开发 >ASP教程 >如何在 Access 2003 和 Access 2002 中创建 DSN 的连接到 SQLServer 对链接表
如何在 Access 2003 和 Access 2002 中创建 DSN 的连接到 SQLServer 对链接表
摘要:方法1:使用CreateTableDef方法CreateTableDef方法可创建链接表。若要使用此方法,创建一个新模块,然后以下Attac...

方法1:使用CreateTableDef方法

CreateTableDef方法可创建链接表。若要使用此方法,创建一个新模块,然后以下AttachDSNLessTable函数添加到新模块。

复制代码 代码如下:

'//Name:AttachDSNLessTable

'//Purpose:CreatealinkedtabletoSQLServerwithoutusingaDSN

'//Parameters

'//stLocalTableName:Nameofthetablethatyouarecreatinginthecurrentdatabase

'//stRemoteTableName:NameofthetablethatyouarelinkingtoontheSQLServerdatabase

'//stServer:NameoftheSQLServerthatyouarelinkingto

'//stDatabase:NameoftheSQLServerdatabasethatyouarelinkingto

'//stUsername:NameoftheSQLServeruserwhocanconnecttoSQLServer,leaveblanktouseaTrustedConnection

'//stPassword:SQLServeruserpassword

FunctionAttachDSNLessTable(stLocalTableNameAsString,stRemoteTableNameAsString,stServerAsString,stDatabaseAsString,OptionalstUsernameAsString,OptionalstPasswordAsString)

OnErrorGoToAttachDSNLessTable_Err

DimtdAsTableDef

DimstConnectAsString

ForEachtdInCurrentDb.TableDefs

Iftd.Name=stLocalTableNameThen

CurrentDb.TableDefs.DeletestLocalTableName

EndIf

Next

IfLen(stUsername)=0Then

'//UsetrustedauthenticationifstUsernameisnotsupplied.

stConnect="ODBC;DRIVER=SQLServer;SERVER="&stServer&";DATABASE="&stDatabase&";Trusted_Connection=Yes"

Else

'//WARNING:Thiswillsavetheusernameandthepasswordwiththelinkedtableinformation.

stConnect="ODBC;DRIVER=SQLServer;SERVER="&stServer&";DATABASE="&stDatabase&";UID="&stUsername&";PWD="&stPassword

EndIf

Settd=CurrentDb.CreateTableDef(stLocalTableName,dbAttachSavePWD,stRemoteTableName,stConnect)

CurrentDb.TableDefs.Appendtd

AttachDSNLessTable=True

ExitFunction

AttachDSNLessTable_Err:

AttachDSNLessTable=False

MsgBox"AttachDSNLessTableencounteredanunexpectederror:"&Err.Description

EndFunction

若要调用

AttachDSNLessTable 函数, 请代码, 它类似于之一以下代码示例在

Autoexec 宏中或启动窗体

Form_Open 事件中:

当您使用

Autoexec, 调用

AttachDSNLessTable 函数, 并然后传递参数, 如以下所示从 RunCode 操作。 AttachDSNLessTable ("authors", "authors", "(local)", "pubs", "", "")

当您使用启动窗体, 将代码, 它类似于以下以

Form_Open 事件。 Private Sub Form_Open(Cancel As Integer) If AttachDSNLessTable("authors", "authors", "(local)", "pubs", "", "") Then '// All is okay. Else '// Not okay. End If End Sub向 Access 数据库添加多个链接表时

注意 您必须调整编程逻辑。

方法 2: 使用 DAO.RegisterDatabase 方法

DAO.RegisterDatabase 方法可在

Autoexec 宏中或启动表单中创建 DSN 连接。 尽管此方法不删除对 DSN 连接, 要求它不帮助您通过代码中创建 DSN 连接解决问题。 若要使用此方法, 创建一个新模块, 然后以下

CreateDSNConnection 函数添加到新模块。

'//Name : CreateDSNConnection '//Purpose : Create a DSN to link tables to SQL Server '//Parameters '// stServer: Name of SQL Server that you are linking to '// stDatabase: Name of the SQL Server database that you are linking to '// stUsername: Name of the SQL Server user who can connect to SQL Server, leave blank to use a Trusted Connection '// stPassword: SQL Server user password Function CreateDSNConnection(stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String) As Boolean On Error GoTo CreateDSNConnection_Err Dim stConnect As String If Len(stUsername) = 0 Then '//Use trusted authentication if stUsername is not supplied. stConnect = "Description=myDSN" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr & "Trusted_Connection=Yes" Else stConnect = "Description=myDSN" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr End If DBEngine.RegisterDatabase "myDSN", "SQL Server", True, stConnect '// Add error checking. CreateDSNConnection = True Exit Function CreateDSNConnection_Err: CreateDSNConnection = False MsgBox "CreateDSNConnection encountered an unexpected error: " & Err.Description End Function

注意 如果再次, 调用

RegisterDatabase 方法 DSN 更新。

若要调用

CreateDSNConnection 函数, 请代码, 它类似于之一以下代码示例在

Autoexec 宏中或启动窗体

Form_Open 事件中:

当您使用

Autoexec, 调用

CreateDSNConnection 函数, 并然后传递参数, 如以下所示从 RunCode 操作。 CreateDSNConnection ("(local)", "pubs", "", "")

当您使用启动窗体, 将代码, 它类似于以下以

Form_Open 事件。 Private Sub Form_Open(Cancel As Integer) If CreateDSNConnection("(local)", "pubs", "", "") Then '// All is okay. Else '// Not okay. End If End Sub

注意 此方法假定通过使用 " myDSN " 作为 DSN 名称, 您已经创建链接 SQLServer 表 Access 数据库中。

CreateTableDef 方法, 有关访问下列 Microsoft Developer Network (MSDN) Web 站点: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/F1/D2/S5A289.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/F1/D2/S5A289.asp)有关

RegisterDatabase 方法, 请访问以下 MSDNWeb 站点: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/F1/D2/S5A2EA.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/office97/html/output/F1/D2/S5A2EA.asp)

【如何在 Access 2003 和 Access 2002 中创建 DSN 的连接到 SQLServer 对链接表】相关文章:

asp 删除图片与文件函数

利用ASP在浏览器上打印输出

6行代码实现无组件上传(author:stimson)

ASP中有关双引号,单引号以及&号的解释

使用asp代码突破图片的防盗连

用ASP实现距指定日期的倒记时程序源码

用ASP写组件

ASP调用带参数存储过程的几种方式

简单的ASP中经常用到的代码[推荐]第1/4页

利用FSO取得BMP,JPG,PNG,GIF文件信息

精品推荐
分类导航