** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Vincular tablas Sql Server desde Access
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoVincular tablas Sql Server desde Access

 Responder Responder
Autor
Mensaje
orafo1 Ver desplegable
Asiduo
Asiduo


Unido: 18/Junio/2010
Localización: Colombia
Estado: Sin conexión
Puntos: 298
Enlace directo a este mensaje Tema: Vincular tablas Sql Server desde Access
    Enviado: 18/Noviembre/2022 a las 23:42
Buenas noches, por favor me pueden ayudar, migre mis bases de datos a Sql Server, ahora necesito por favor desde código como vincular las tablas desde Access, muchas gracias a todos por sus valiosos aportes
Siempre algo nuevo por aprender
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14381
Enlace directo a este mensaje Enviado: 21/Noviembre/2022 a las 00:02
Hola,

Revisa este link a ver si te ayuda: SQL Server connection strings - ConnectionStrings.com

Un saludo
Xavi, un minyó de Terrassa

Mi web
Arriba
orafo1 Ver desplegable
Asiduo
Asiduo


Unido: 18/Junio/2010
Localización: Colombia
Estado: Sin conexión
Puntos: 298
Enlace directo a este mensaje Enviado: 24/Noviembre/2022 a las 14:57
Buenos días, a continuación relaciono el código para conexión sql server desde visual Basic mediante código, por favor podemos cerrar el hilo

Public SIP As ADODB.Connection
Public xdb As Database
Public xra As ADODB.Recordset
Public xrb As ADODB.Recordset
Public xrc As ADODB.Recordset
Public ra As DAO.Recordset
Public xOperario As Variant
Public TodoUso As Variant
Public TodoUso1 As Variant
Public TodoUso2 As Variant

Public Function Iniciar()
Dim noOK As Boolean: noOK = True
Dim ParaEval As String
On Error Resume Next
'DoCmd.ShowToolbar "Menu bar", acToolbarNo
'DoCmd.ShowToolbar "Ribbon", acToolbarYes
On Error GoTo 0

Set xdb = CurrentDb
Set ra = xdb.OpenRecordset("Local conexion SQL", dbOpenSnapshot)
Set SIP = New ADODB.Connection

ra.MoveFirst
ParaEval = 0

Do While Not ra.EOF

    If ra![Activa] = "Verdadero" Then
        ParaEval = 1
        If IsNull(ra!User) Then
            If CrearConexion(ra!ipServer, ra!Catalogo, "") Then
                SIP.Open "Provider=sqloledb;Data Source=" & ra!ipServer & ";Initial Catalog=" & ra!Catalogo & ";Integrated Security=SSPI"
                noOK = False
            End If
        Else
            If CrearConexion(ra!ipServer, ra!Catalogo, ra!User) Then
                SIP.Open "Provider=sqloledb;Data Source=" & ra!ipServer & ";Initial Catalog=" & ra!Catalogo, ra!User, ra!pwd
                noOK = False
            End If
        End If
        
        If noOK Then
            ra.Close
        '    DoCmd.ShowToolbar "Menu bar", acToolbarYes
            MsgBox "Error al conectar al servidor de base de datos", vbCritical, "Iniciar PRINTUX"
            Application.Quit acQuitSaveNone
            Exit Function
        Else
            Dim tdf As TableDef
            For Each tdf In CurrentDb.TableDefs
                If tdf.Connect <> vbNullString Then
                    If InStr(1, tdf.Connect, "DSN=", 1) > 0 Then
                        If IsNull(ra!User) Then
                            tdf.Connect = "ODBC;DSN=" & ra!NomODBC & ";APP=Microsoft Office;DATABASE=" & ra!Catalogo & ";TABLE=" & tdf.Name
                        Else
                            tdf.Connect = "ODBC;DSN=" & ra!NomODBC & ";UID=" & ra!User & ";PWD=" & ra!pwd & ";APP=Microsoft Office;DATABASE=" & ra!Catalogo & ";TABLE=" & tdf.Name
                        End If
                        tdf.RefreshLink
                    End If
                End If
            Next
        End If
    End If

ra.MoveNext
Loop

Titulo01 = "Control de conexión SQL"

If ParaEval = "0" Then
    Informa = "Lo siento pero no se puede abrir el Software" & Chr(13) & Chr(10)
    Informa = Informa & "por que no tiene ninguna conexión SQL activa." & Chr(13) & Chr(10)
    MsgBox Informa, vbExclamation, Titulo01
    DoCmd.Quit
End If

ra.Close
SIP.CommandTimeout = 0
End Function

Public Function CrearConexion(stServer As String, stDatabase As String, Optional stUser As String) As Boolean

On Error GoTo CrearConexion_Err

Dim stConnect As String

If Len(stUser) = 0 Then
    stConnect = "Description=Conexión Mundo Virtual PC" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr & "Trusted_Connection=Yes"
Else
    stConnect = "Description=Conexión Mundo Virtual PC" & vbCr & "SERVER=" & stServer & vbCr & "DATABASE=" & stDatabase & vbCr
End If

DBEngine.RegisterDatabase ra!NomODBC, "SQL Server", True, stConnect
CrearConexion = True
    Exit Function

CrearConexion_Err:
    CrearConexion = False
    MsgBox "La Conexión a la DataBase encontró un error inesperado: " & Err.Description

End Function
Siempre algo nuevo por aprender
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable