Connexion table frontale SQL SERVER

Résolu
soleil_levant Messages postés 426 Statut Membre -  
soleil_levant Messages postés 426 Statut Membre -
Bonjour,

J'ai une application Access qui se connecte à une table frontale SQL Server. Simple en utilisant la fonction lier les table. Je met mon loguin, mp ...
Je veux travailler sur cette Table avec des procédures VBA. Le problème c'est que je ne peux ni ouvrir cette table que si je met mon mot de passe et loguin à chque fois ni faire des requêtes dessus en VBA. Existe-t-il un moyen de se connecter automatiquement à cette table à chaque ouverture de l'application?

Merci d'avance.
Configuration: Windows XP
Firefox 3.0.3

6 réponses

  1. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour soleil_levant,

    Peut-être que le lien suivant peut t'aider à trouver ce que tu cherches ?

    A plus
    0
  2. soleil_levant Messages postés 426 Statut Membre 32
     
    Salut Christounet,
    merci pour le lien, mais je cherche plutot à me connecter à ma base SQL Server, tout se passe bien sauf que pour l'appel de la vue dans la base SQL Server, voici le code (C'est juste un test avec des données en entrées qui existe):
    Option Compare Database
    Public Sub Connect_and_recordset()
    Dim Connection
    Dim ConnString
    Dim RS
    Dim SQL
    On Error Resume Next
    ConnString = "DRIVER={SQL Server};SERVER=INTL_SERVER;UID=Presta;" & _
    "PWD=PASSS;DATABASE=test_base"
    'La requete
    On Error Resume Next
    SQL = "SELECT * FROM qryTransactionDetails where LASTNAME = 'DUPONT' AND FIRSTNAME = 'JEAN PIERRE' AND BIRTHDATE = '09021981'"
    'Creation du la connextion et RS
    Set Connection = Server.CreateObject("ADODB.Connection")
    Set RS = Server.CreateObject("ADODB.Recordset")
    'Connection à la base SQL SErver
    Connection.Open ConnString
    'Ouvrir le RS et des enregistrement
    RS.Open SQL, Connection
    'Test de fin de fichier
    If RS.EOF Then
    MsgBox "Pas de données."
    Else
    Do While Not RS.EOF
    MsgBox RS![MTCN]
    Recordset.MoveNext
    Loop
    End If
    'Fermeture de la connection
    RS.Close
    Set RS = Nothing
    Connection.Close
    Set Connection = Nothing
    ErrHandler:
    MsgBox Err.Number & " " & Err.Description
    End Sub

    D'abord pas de données alors qu'il y en a dans la BAse SQL server, Erreur 424 Objet Requis :(

    A tu une idée s'il te plait??
    Merci infiniment
    0
  3. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Ta colonne BIRTHDATE est de quel type dans SQL SERVER ? Peut-être dois-tu tester BIRTHDATE = '19810209'

    A plus
    0
  4. soleil_levant Messages postés 426 Statut Membre 32
     
    MErci :)
    Mais quand je travail sur mon éditeur de base cela s'affiche bien '09021981' (son type c'est varchar(100)) ? dois je comme meme respecter ce que tu m'as dis??
    merci
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Christounet Messages postés 1272 Date d'inscription   Statut Membre Dernière intervention   1 393
     
    Bonjour,

    Si ta variable BIRTHDATE est du type varchar, pas de problème tu peux mettre = '09021981'.
    J'ai pas très bien compris l'utilisation de SERVER.CreateObject, mais ci-dessous tu trouveras un exemple de code que je viens de tester à partir d'une application Access 2003 vers SQL Server 2005
    Private Sub Connect_and_recordset()
    Dim Connection As ADODB.Connection
    Dim RS As ADODB.Recordset
    Dim SQL As String
    Set Connection = New ADODB.Connection
    Set RS = New ADODB.Recordset
    
    Connection.ConnectionString = "DRIVER={SQL Server};SERVER=SUN-WEB-1;UID=User;" & "PWD=xxxxx;DATABASE=ItosWeb_SUN"
    'La requete
    On Error Resume Next
    SQL = "SELECT * from accomm where accomm_code = 'ULOH11'"
    'Connection à la base SQL SErver
    Connection.Open
    MsgBox Connection.State
    'Ouvrir le RS et des enregistrement
    RS.Open SQL, Connection
    'Test de fin de fichier
    If RS.EOF Then
    MsgBox "Pas de données."
    Else
    Do While Not RS.EOF
    MsgBox RS![full_name]
    RS.MoveNext
    Loop
    End If
    'Fermeture de la connection
    RS.Close
    Set RS = Nothing
    Connection.Close
    Set Connection = Nothing
    ErrHandler:
    MsgBox Err.Number & " " & Err.Description
    
    End Sub
    

    et cela m'as retourné les deux enregistrements existants sur ma base de donnée SQL SERVER.
    J'ai aussi changé Recordset.MoveNext par RS.MoveNext sinon tu reste toujours sur le même enregistrement.
    A plus
    0
  7. soleil_levant Messages postés 426 Statut Membre 32
     
    Super ta réponse!!!!

    le Server.ConnectObject c'est sur le net que j'ai vu ça (c'est pourquoi j'ai pas déclaré Explicitement mes variable)

    TU ES UN DIEU VIVANT !!!!!

    RESPECT A TES COMPETENCES :D

    Thanks a lot!!
    Sujet Résolut!!
    0