어떻게 Access 2003 과 Access 2002 에서 DSN 의 연결 을 SQLServer 에 연결 하 는 링크 표를 만 듭 니까?

방법. 1: 쓰다 CreateTableDef 방법 CreateTableDef 방법 은 링크 표를 만 들 수 있 습 니 다. 이 방법 을 사용 하려 면, 새 모듈 을 만 들 고, 그리고 아래 AttachDSNLessTable 함수 가 새 모듈 에 추가 되 었 습 니 다

'//Name     :   AttachDSNLessTable
'//Purpose  :   Create a linked table to SQL Server without using a DSN
'//Parameters
'//     stLocalTableName: Name of the table that you are creating in the current database
'//     stRemoteTableName: Name of the table that you are linking to on the SQL Server database
'//     stServer: Name of the 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 AttachDSNLessTable(stLocalTableName As String, stRemoteTableName As String, stServer As String, stDatabase As String, Optional stUsername As String, Optional stPassword As String)
    On Error GoTo AttachDSNLessTable_Err
    Dim td As TableDef
    Dim stConnect As String

    For Each td In CurrentDb.TableDefs
        If td.Name = stLocalTableName Then
            CurrentDb.TableDefs.Delete stLocalTableName
        End If
    Next

    If Len(stUsername) = 0 Then
        '//Use trusted authentication if stUsername is not supplied.
        stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";Trusted_Connection=Yes"
    Else
        '//WARNING: This will save the username and the password with the linked table information.
        stConnect = "ODBC;DRIVER=SQL Server;SERVER=" & stServer & ";DATABASE=" & stDatabase & ";UID=" & stUsername & ";PWD=" & stPassword
    End If
    Set td = CurrentDb.CreateTableDef(stLocalTableName, dbAttachSavePWD, stRemoteTableName, stConnect)
    CurrentDb.TableDefs.Append td
    AttachDSNLessTable = True
    Exit Function

AttachDSNLessTable_Err:

    AttachDSNLessTable = False
    MsgBox "AttachDSNLessTable encountered an unexpected error: " & Err.Description

End Function

AttachDSNLessTable 함 수 를 호출 하려 면 코드 를 사용 하 십시오.다음 코드 예제 가 Autoexec 매크로 에 있 거나 창 폼 을 시작 하 는 것 과 유사 합 니 다.오픈 이벤트 중:

Autoexec 를 사용 할 때 AttachDSNLessTable 함 수 를 호출 한 다음 에 파 라 메 터 를 전달 합 니 다.아래 와 같이 RunCode 에서 작 동 합 니 다
  AttachDSNLessTable ("authors", "authors", "(local)", "pubs", "", "")

시작 창 을 사용 하면 다음 Form 과 유사 한 코드 를 사용 합 니 다.오픈 이벤트.
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 사용 방법
loadTOCNode(2, 'moreinformation');
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 매크로 에 있 거나 창 폼 을 시작 하 는 것 과 유사 합 니 다.오픈 이벤트 중:

Autoexec 를 사용 하면 CreateDSNConnection 함 수 를 호출 하고 인 자 를 전달 합 니 다.아래 와 같이 RunCode 에서 작 동 합 니 다
  CreateDSNConnection ("(local)", "pubs", "", "")

시작 창 을 사용 하면 다음 Form 과 유사 한 코드 를 사용 합 니 다.오픈 이벤트.
Private Sub Form_Open(Cancel As Integer)
  If CreateDSNConnection("(local)", "pubs", "", "") Then
    '// All is okay.
  Else
    '// Not okay.
  End If
End Sub
이 방법 은"my DSN"을 DSN 이름 으로 가정 합 니 다.SQLServer 표 Access 데이터 베 이 스 를 만 들 었 습 니 다.다음 MSDN(Microsoft Developer Network)웹 사이트 에 방문 하 는 방법 에 대해 서 는 TableDef 방법 을 만 드 십시오.
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/office 97/html/output/F1/D2/S5A289.asp)RegisterDatabase 방법 에 대해 서 는 다음 MSDN 웹 사이트 에 방문 하 십시오.
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)

좋은 웹페이지 즐겨찾기