Connexion table frontale SQL SERVER

Résolu/Fermé
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 - 29 juil. 2009 à 13:50
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 - 29 juil. 2009 à 16:16
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.
A voir également:

6 réponses

Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
29 juil. 2009 à 14:19
Bonjour soleil_levant,

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

A plus
0
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 32
29 juil. 2009 à 14:58
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
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
29 juil. 2009 à 15:06
Bonjour,

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

A plus
0
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 32
29 juil. 2009 à 15:13
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Christounet Messages postés 1264 Date d'inscription mercredi 26 septembre 2007 Statut Membre Dernière intervention 29 juillet 2010 1 384
29 juil. 2009 à 15:47
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
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 32
29 juil. 2009 à 16:16
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