si j'utilise cette methode avec une requette qui concerne qu'une seule table ça marche. Par contre avec une requette sur plusieures tables j'ai un message d'erreur " ne peut créer le recordset "
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 12 févr. 2005 à 14:32
Salut
Normalement, pas de difficulté majeure.
Une erreur souvent commise : Quand tu écrit ta requète dans ta String slq, je suppose que tu passes à la ligne : As-tu pensé à bien garder un espace entre la fin de ligne et la ligne suivante :
sql = "SELECT Session.SessionID " & _
"FROM Client, Session " & _
"WHERE Client.ClientID = 222 " & _
" And Client.ClientID=Session.ClientID"
(espace entre SessionID et le ", entre Session et ", entre 222 et ")
Sinon la requète reconstituée ressemble à ça :
SELECT Session.SessionIDFROM Client, SessionWHERE Client.ClientID = 222And Client.ClientID=Session.ClientID
et les mots étant collés, ils ne sont pas reconnus.
D'autre part, assure toi de la syntaxe exacte (min/maj aussi) du nom des champs de tes tables.
Une autre chose : Si tu fais une première requète et que tu en fais une autre derrière, pense à vider le RecordSet avant de t'en servir à nouveau, avec :
Set rs = Nothing
Vala
Jack
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
cs_gi
Messages postés58Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention12 février 2005 12 févr. 2005 à 18:05
Jack merci pour ta réponse mais je ne vois pas d'ou peut venir mon probleme.
Voici mon code.
tout est OK si j'utilise la chaine sql1 pour ouvrir mon recordset (requete sur une seule table)
par contre si j'utilise la chaine sql j'ai un message d'erreur m'indiquant que: " la méthode 'Open' de l'objet '_Recordset' a échoué. (Requete sur 2 tables Client et Session )
merci de ton aide.
Public Function TestSql() As ADODB.Recordset
Dim m_baseDeDonnees As String
Dim m_chaineDeConnexion As String
Dim cnn As ADODB.Connection
Dim ClientNo As String
Dim rst As ADODB.Recordset
Dim sql As String
Dim sql1 As String
cs_gi
Messages postés58Date d'inscriptionmardi 20 janvier 2004StatutMembreDernière intervention12 février 2005 12 févr. 2005 à 18:10
Jack merci pour ta réponse mais je ne vois pas d'ou peut venir mon probleme.
Voici mon code.
tout est OK si j'utilise la chaine sql1 pour ouvrir mon recordset (requete sur une seule table)
par contre si j'utilise la chaine sql j'ai un message d'erreur m'indiquant que: " la méthode 'Open' de l'objet '_Recordset' a échoué. (Requete sur 2 tables Client et Session )
merci de ton aide.
Public Function TestSql() As ADODB.Recordset
Dim m_baseDeDonnees As String
Dim m_chaineDeConnexion As String
Dim cnn As ADODB.Connection
Dim ClientNo As String
Dim rst As ADODB.Recordset
Dim sql As String
Dim sql1 As String