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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Accès requêtes access via VB6

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Accès requêtes access via VB6

n°1386562
belsuncett​e
Posté le 13-06-2006 à 15:02:52  profilanswer
 

Encore besoin d'aide... :cry:  
J'ai une application sous VB, et je dois appeler dans cette application des requêtes enregistrées dans une BD sous access, et afficher le résultat dans un tableau.
Le premier cas que je traite : une requête de sélection, avec 3 paramètres. Les paramètres servent à filtrer selon 1, 2 ou les 3 critères pour une recherche.
La requête sous Access fonctionne sans problème. Sous VB j'ai cru comprendre qu'on doit l'appeler dans un objet QueryDef pour avoir des paramètres.
L'appli demande les paramètres un après l'autre et je voudrais ensuite les utiliser dans la requête pour effectuer celle-ci et ensuite afficher les entrées trouvées dans un FlexGrid.
 
J'ai 2 soucis :
 
le premier est que j'ai une erreur 3061 "Trop peu de paramètres. 3 attendu" quand je lance la requête. Je ne sais pas d'ou ça peut venir car ça ne vient pas du remplissage ou non de tous les "filtres" possibles (on peut si on veut en remplir de 0 à 3, 0 affichant toute la table).
 
Voila le code :
 
Dim param1 As String
Dim param2 As String
Dim param3 As String
Dim param As DAO.QueryDef
Dim Rs As DAO.Recordset
 
param1 = InputBox("Entrez l'adresse IP du poste", "Recherche selon l'adresse" )
 
param2 = InputBox("Entrez le nom du poste", "Recherche selon le nom" )
 
param3 = InputBox("Entrer le login de l'utilisateur associé", "Recherche selon l'utilisateur associé" )
 
Set param = db.OpenRecordset("Req_recherche_poste" )
 
param.Parameters(0) = param1 '1er paramètre IP poste
param.Parameters(1) = param2 '2nd paramètre nom poste
param.Parameters(2) = param3 '3ème paramètre login utilisateur associé
Set Rs = param.OpenRecordset()
 
 
L'erreur apparait au niveau de la ligne Set param = db.OpenRecordset("Req_recherche_poste" )
Elle n'y est pas si je déclare param comme un Recordset, mais alors il n'y a pas de contrôles Parameters et je crois qu'ils me sont nécessaires (mais bon, je découvre...).
 
Quand j'aurai résolu ça je dois aussi afficher les résultats dans mon flexgrid, et si quelqu'un sait faire ça, je veux bien une méthode toute simple...Le nombre de lignes correspond aux nombre de réponses à la requête.
 
Voila, encore en quête d'une ame charitable....

mood
Publicité
Posté le 13-06-2006 à 15:02:52  profilanswer
 

n°1386568
belsuncett​e
Posté le 13-06-2006 à 15:05:54  profilanswer
 

Je n'ai pas précisé mais évidemment db est de type Database.

n°1386624
tegu
Posté le 13-06-2006 à 15:43:24  profilanswer
 

La bonne syntaxe est :
Set param = db.QueryDefs("Req_recherche_poste" )

n°1386643
belsuncett​e
Posté le 13-06-2006 à 15:57:16  profilanswer
 

Merci je n'étais pas passée loin j'avais tenté un truc comme ça tout à l'heure....C'est fatigant d'être débutant  :(
Ca m'enlève une grosse épine du pied ! Si quelqu'un sait aussi comment on remplit le flexgrid facilement (genre comment accéder au résultat i de la requête ?) je vais vraiment aimer ce forum   :jap:


Message édité par belsuncette le 13-06-2006 à 16:03:44
n°1386707
kiki29
Posté le 13-06-2006 à 16:40:38  profilanswer
 

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

  Accès requêtes access via VB6

 

Sujets relatifs
Modifications des données dans mysql avec VB6Access: numero de semaine -> date ?
blocage l'accès au table dans access[RESOLUUUU] [ACCES/SQL] ListBox à récupérer dans un ETAT selon Choix
SQL delete from (VB6)[Access] Masque de saisie et reconnaissance chaine de caractères
Transfert BD Access vers SPSS + PB SQL (255 champs Max)Access: comment faire? (VBA ou macro ou...)
[VB6][resolu] prob requete 
Plus de sujets relatifs à : Accès requêtes access via VB6


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