peltchag | Bonjour,
je fais une petite appli en VB pour gerer une liste de declarations stockées dans une BD Access. J'ai un petit probleme qui me laisse reellement perplexe : ma requete pour afficher toutes les declarations marche bien sous Access, mais pas sous VB
Description de mes tables :
ZONE(Num_Zone, Nom) avec cle primaire : Num_Zone
IMPORTANCE(Num_Importance, Importance) avec cle primaire : Num_Importance
DECLARATION(Num_Declaration, Lieu, Date, Declarant, Risque, Date_Debut, Date_Fin, Delai, Action, Num_Zone, Num_Importance) avec cle primaire : Num_Declaration et cles secondaires : Num_Zone et Num_Importance
sur mon Formulaire VB, j'ai mis une Datagrid dont la source est la requete en question :
SELECT DECLARATION.Num_Declaration, DECLARATION.Lieu, DECLARATION.Date, DECLARATION.Declarant, DECLARATION.Risque, DECLARATION.Date_Debut, DECLARATION.Date_Fin, DECLARATION.Delai, DECLARATION.Action, DECLARATION.Num_Zone, ZONE.Nom, DECLARATION.Num_Importance, IMPORTANCE.Importance FROM DECLARATION, IMPORTANCE, ZONE WHERE ZONE.Num_Zone = DECLARATION.Num_Zone AND IMPORTANCE.Num_Importance = DECLARATION.Num_Importance ORDER BY DECLARATION.Num_Declaration;
Le code de VB :
Code :
- Dim rsSituations As ADODB.Recordset
- Dim Requete As String
-
- Requete = "SELECT DECLARATION.Num_Declaration, DECLARATION.Lieu, DECLARATION.Date, DECLARATION.Declarant, DECLARATION.Risque, DECLARATION.Date_Debut, DECLARATION.Date_Fin, DECLARATION.Delai, DECLARATION.Action, DECLARATION.Num_Zone, ZONE.Nom, DECLARATION.Num_Importance, IMPORTANCE.Importance "
- Requete = Requete & "FROM DECLARATION, IMPORTANCE, ZONE "
- Requete = Requete & "WHERE ZONE.Num_Zone = DECLARATION.Num_Zone "
- Requete = Requete & "AND IMPORTANCE.Num_Importance = DECLARATION.Num_Importance "
- Requete = Requete & "ORDER BY DECLARATION.Num_Declaration;"
-
- Set rsSituations = New Recordset
- rsSituations.CursorLocation = adUseClient
- rsSituations.Open Requete, Connexion, adOpenStatic, adLockReadOnly
- Set DtgLstSituations.DataSource = rsSituations
|
sous Access, si je teste la requete, ca marche nickel !
sous VB, si j'execute le code donne au-dessus, j'obtiens le message d'erreur :
Code :
- Erreur d'exécution '-2147467259 (80004005)'
- La méthode 'Open' de l'objet '_Recordset' a échoué
|
je pense que le probleme vient reellement de la requete, car si je fais un "SELECT * FROM DECLARATION", ca marche !
est ce que quelqu'un pourrait m'aider ? ![:jap: :jap:](https://forum-images.hardware.fr/icones/smilies/jap.gif) |