Accés a sql Server via ADO (vb6), pb lors de la consultation
msohet
Messages postés76Date d'inscriptionmardi 14 janvier 2003StatutMembreDernière intervention 3 mai 2005
-
25 mai 2004 à 09:22
carnez
Messages postés120Date d'inscriptionjeudi 31 octobre 2002StatutMembreDernière intervention 2 août 2004
-
25 mai 2004 à 11:03
Kikoo les vbistes.
Une petite question à laquelle je ne trouve pas la réponse :
Mise en situation, la ou je bosse, on a des applis maison en VB qui s'appuient sur une bdd access.
On m'a demandé de faire la migration Sql Server, ni une ni deux, je me suis monté un serveur de test, installé Sql S., migré un semblant de base, et la je travaille sur le portage des applis.
Je me suis créer ma DSN Systéme <= pas de pbs notoires
et la j'en suis a faire des tests d'accés à ladite base, exemple :
une form, et un bouton, et le code suivant :
Option Explicit
Private Sub Command1_Click()
Dim strConn As String
Dim Conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
strConn = "driver={SQL Server};server=SERVTEST;uid=sa;pwd=;database=Test_accueil"
'ouverture connexion à la bdd
Conn.Open strConn
rs.Open "select * from admission;", Conn
MsgBox rs.RecordCount
End Sub
le pb est que le msgbox me renvoie "-1" alors que la table comporte plusieurs centaines d'enregistrements.
Alors la question c : "La requéte qui plante, la connexion dans les choux, le recordset qui fait la gréve des comptes ou encore autre choses à laquelle g pas pensé ?"
Voili voilou les copains, si ca vous parle, je suis tout ouie.
@++
SOHET Morgan
C.N.P.O. - Le Belloy
A voir également:
Accés a sql Server via ADO (vb6), pb lors de la consultation
carnez
Messages postés120Date d'inscriptionjeudi 31 octobre 2002StatutMembreDernière intervention 2 août 2004 25 mai 2004 à 10:40
Bonjour,
essaie donc ceci :
dim CnnSql As ADODB.Connection
Set CnnSql = New ADODB.Connection
With CnnSql
.Provider = "msdasql"
.ConnectionString =
"driver=SQL server;server=SERVTEST;user id = sa;database=Test_accueil"
.Open
End With
recordcount renvoie la valeur -1 si le provider ne comprend pas la propriété recodrcount; je crois que c'est le cas ici car tu ne l'as pas défini
carnez
Messages postés120Date d'inscriptionjeudi 31 octobre 2002StatutMembreDernière intervention 2 août 2004 25 mai 2004 à 11:03
alors, c'est peut-être à cause du type de curseur de ton recordset
essaie avec adopenstatic
mais j'y pense :
tu as mis dans ta connexion que tu te connectais à la base Test_accueil
mais tu n'a pas mis dans ton recordset que tu travaillais sur une table :
rs.Open "select * from admission;", Conn,,,acCmdTable