Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/03/2007, 17h47   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 57
Points : 11
Points : 11
Par défaut problème Connexion SQL Server et recordset

Bonjour,

voilà je voudrais parcourir une table en ouvrant avec VBA une connexion avec ma base de donnée SQL Server
Mais je ne sais pas où est le problème, il me fait une boucle lors du parcours du recordset.
voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
Dim cnx As ADODB.Connection
Set cnx = New ADODB.Connection
Dim rst As Recordset
 
 
'Définition de la chaîne de connexion
cnx.ConnectionString = "UID=sa" & ";PWD=sql" & ";" & "DRIVER={SQL Server};Server=monserver" & ";Database=mabase" & ";"
 
'Ouverture de la base de données
cnx.Open
 
 
If cnx.State = 1 Then
    MsgBox ("Connection Opened")
Else
    MsgBox ("Connection Failed")
End If
 
 
 
rst.Open "SELECT * FROM matable", cnx
 
rst.MoveFirst
 
While Not (rst.EOF)
  MsgBox ("test")
  rst.MoveNext
Wend
gg9595 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 09h25   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 625
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 625
Points : 30 935
Points : 30 935
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour,

Quel est exactement ton problème, as-tu un message d'erreur ?

Tu dis qu'il fait une boucle, c'est normal, tu dois avoir ta msgbox autant de fois qu'il y'a d'enregistrements extraits.

Starec
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 09h32   #3
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 57
Points : 11
Points : 11
Citation:
Envoyé par Starec
Bonjour,

Quel est exactement ton problème, as-tu un message d'erreur ?

Tu dis qu'il fait une boucle, c'est normal, tu dois avoir ta msgbox autant de fois qu'il y'a d'enregistrements extraits.

Starec
Oui mais là dans ma table il y a 5 enregistrements et la msgBox boucle sans fin.
Il n'y a aucun message d'erreur particulier, donc j'ai du mal à savoir d'où vient le problème...
gg9595 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/03/2007, 14h30   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2007
Messages : 57
Détails du profil
Informations forums :
Inscription : mars 2007
Messages : 57
Points : 11
Points : 11
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
 
' Création connexion
Set oConn = New ADODB.Connection
'oConn.Open "Driver={SQL Server}; Uid=" & tbLogin & "; Pwd=" & tbMdp & "; Server=" & tbServeurSQL & ";Database=" & tbNomBaseSQL & ";"
'ou
oConn.Open "Provider=SQLOLEDB;Data Source=" & tbServeurSQL & ";User ID=" & tbLogin & ";Password=" & tbMdp & ";Initial Catalog=" & tbNomBaseSQL & ";"
 
' Création recordset
Set oRS = New ADODB.Recordset
 
oRS.CursorLocation = adUseClient
oRS.Open "SELECT * From T_Employee_type", oConn, adOpenKeyset, adLockOptimistic, adCmdTableDirect
 
' ou
'oRS.Open "tblTOTO", oConn, adOpenDynamic, adLockOptimistic, adCmdTableDirect
' ou
'oRS.Open "SELECT * FROM tblTOTO", oConn, adOpenStatic, adLockOptimistic, adCmdText
 
 Dim inter As Integer
 inter = oRS.RecordCount
J'ai essayé avec ce code, mais c'est pas mieux.

En fait quand je passe sur l'objet oRS en mode débugage, celà m'indiqu' qu'il n'est pas ouvert ... Quelqu'un a une idée ?
gg9595 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h12.


 
 
 
 
Partenaires

Hébergement Web