Bonjour à tous ! Je viens vers vous car j'ai une erreur VB que je n'arrive pas à comprendre.
je sélectionne des données via un record set dans VB6, et VB n'arrive pas à ouvrir le record set bien que tout fonctionne correctement à côté et que la requête SQL est valide dans Access. à priori çà plante lorsqu'il y'a des jointures dans la requête
je vous donne le code :
Dim rsTableau As ADODB.Recordset
Set rsTableau = New ADODB.Recordset
rsTableau.CursorType = adOpenDynamic
rsTableau.LockType = adLockOptimistic
rsTableau.ActiveConnection = Con_Base
rsTableau.Source = "select trainee.name from session, trainee where session.num_session=trainee.session_number and trainee.number_trainee = 1"
rsTableau.Open
Je peux vous donner le code de connexion si besoin, ainsi qu'une copie d'écran des tables, bien que la requête fonctionne...
Re,
j' ai reproduit exactement le même code dans sub Main,
et j' ai ajouter dans l' evenement Load de ma feuille Acceuil le même code de ton premier post et ça fonctionne !
Private Sub Acceuil_Load()
Dim rsTableau As ADODB.Recordset
Set rsTableau = New ADODB.Recordset
rsTableau.CursorType = adOpenDynamic
rsTableau.LockType = adLockOptimistic
rsTableau.ActiveConnection = Con_Base
rsTableau.Source = "select * from DROITS"
rsTableau.Open
MsgBox rsTableau.RecordCount '==>325
End Sub
c' est donc que ta requete qui foire :o
Essaies dans un premier temps
"select * from session"
puis
"select * from trainee"
et en dernier,
"select trainee.number_trainee, session.num_session inner join on trainee.number_trainee=session.trainee"
pour avoir au moins quelques lignes avec le number_trainee et num_session.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
- Si ta requête SQL est valide dans Access alors
Click droit sur la fenêtre conception puis Mode Sql et tu auras
la synthaxe exacte.
-S' il y' a jointure , on n'en voit pas trace dans l' expression.
Je dirais plutôt :
"select trainee.name from session, trainee inner join session on session.num_session=trainee.session_number where trainee.number_trainee = 1"
-Pourquoi elle fonctionne dans Access ?
Tout simplement parce qu' une requete sans jointure et sans clause fonctionnera toujours, s' il s' agit juste de faire glisser
des champs.Quand au resultat, c' est à tes risques et péril !
-la copie d'écran des tables est souhaitable, pour nous aider à y voir plus clair.
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Salut Renfield,
Je sais pa trop, mais à priori ,si c' était ça,il y' aurait du y avoir une erreur à ce niveau là.
De plus l' objet a été référencé.
Set rsTableau = New ADODB.Recordset
Mais doit-on le faire aussi au niveau de ActiveConnection ?
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>
oui configurée et ouverte, nickel. a priori çà me le fais qu'a une seule table, la table session. je suis en train de chercher pourquoi il n'y a que cette table qui pose problème
ka connection est configurée et ouverte d' accord,
mais l' ouverture du recordset est mal faite.
essaies avec :
rsTableau.Open "select* from session", Con_Base, adOpenDynamic, adLockOptimistic
PS; et cette capture, elle vient ?
<hr />
... Y'en a même qui disent qu'ils l'ont vu voler.
<hr />
/PRE>