Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1348 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6+Access] Requete qui marche sous Access mais pas sous VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB6+Access] Requete qui marche sous Access mais pas sous VB

n°1093402
peltchag
Posté le 23-05-2005 à 14:37:33  profilanswer
 

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 :ouch:
 
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 :
  1. Dim rsSituations As ADODB.Recordset
  2. Dim Requete As String
  3.    
  4.     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 "
  5.     Requete = Requete & "FROM DECLARATION, IMPORTANCE, ZONE "
  6.     Requete = Requete & "WHERE ZONE.Num_Zone = DECLARATION.Num_Zone "
  7.     Requete = Requete & "AND IMPORTANCE.Num_Importance = DECLARATION.Num_Importance "
  8.     Requete = Requete & "ORDER BY DECLARATION.Num_Declaration;"
  9.    
  10.     Set rsSituations = New Recordset
  11.     rsSituations.CursorLocation = adUseClient
  12.     rsSituations.Open Requete, Connexion, adOpenStatic, adLockReadOnly
  13.     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 :
  1. Erreur d'exécution '-2147467259 (80004005)'
  2. 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:

mood
Publicité
Posté le 23-05-2005 à 14:37:33  profilanswer
 

n°1093549
ffomnislas​h
Posté le 23-05-2005 à 15:42:58  profilanswer
 

byzarre ton probleme
 
A tous hasard supprime le ";" a la fin de ta requete
Dans "SELECT * FROM DECLARATION" tu ne la pas mis, mais je sis pas si c'est un oublie en ecrivant ton msg ou si tu ne la vraiment pas mis dans ton code VB lors du test

n°1093553
ffomnislas​h
Posté le 23-05-2005 à 15:44:28  profilanswer
 

Sinon personnellemet je fait mes requetes en VB de cette maniere
 

Code :
  1. dim record
  2. dim requete as string
  3. requete ="SELECT ..."
  4. Set record = CurrentDb.openrecordset(requete)


 
Tu peut toujours essayer ...

n°1093565
peltchag
Posté le 23-05-2005 à 15:48:56  profilanswer
 

le ';' symbolise la fin de la requete, si on le mets pas, le moteur l'ajoute de lui même ;)
 
je pense pas que le probleme vienne de la maniere dont j'ai fait ma requete, car j'en ai fait bcp d'autres et elles ont toutes marche jusqu'a present :p mais j'essairais quand meme
 
merci pour l'aide :)

n°1093571
ffomnislas​h
Posté le 23-05-2005 à 15:50:28  profilanswer
 

je connait l'utilité du ";" mais bon les progs genre access parfois ca fait que ca veut ... ^^

n°1093781
peltchag
Posté le 23-05-2005 à 17:30:00  profilanswer
 

ma foi, je suis bien d'accord :P
 
mais on va pas lancer un grand debat ici ;)

n°1094364
peltchag
Posté le 24-05-2005 à 08:38:21  profilanswer
 

de retour au boulot, ca ne marche pas non plus :(

n°1094488
peltchag
Posté le 24-05-2005 à 10:15:23  profilanswer
 

probleme resolu :
 
j'ai supprime la table ZONE, puis cree une table SECTEUR avec la meme structure et les memes donnees, et ca marche :P


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB6+Access] Requete qui marche sous Access mais pas sous VB

 

Sujets relatifs
[ASP] page "patientez svp" pendant requetepb requete simple
[MySQL]résoudre une égalité dans une requête de classementAccès bdd Access
Pb de requete SQLpb requete
[MySQL] Question sur les dates et sur 1 requete SQLpb requete help me:)
requete SQL qui ne marche pas 
Plus de sujets relatifs à : [VB6+Access] Requete qui marche sous Access mais pas sous VB


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR