|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() stephane Étudiant Inscription : juin 2011 Messages : 2 ![]() |
Bonjour,
Je suis étudiant en BTS IRIS et actuellement en stage de fin de première année. Je travaille sur une base de données, et un problème s'oppose au bon déroulement de mon stage depuis quelques jours. Voici la situation : Je dispose sous Access 2007 d'une table regroupant des clients pour la société. Le but de la petite application que je vais créer va être de rechercher un client suivant un critère choisi : son numéro de client, le nom de sa société, le pays, la ville, le code postal ou une note marquée dans un champ réservé aux commentaires, et d'imprimer tout ce qui concerne le client trouvé dans une fiche. On sélectionne dans une liste déroulante le champ dans lequel on va effectuer la recherche, et on clique sur le bouton rechercher qui va alors lancer la requête de recherche correspondant au champ sélectionné. C'est ici que ça coince : comment faire pour lancer la requête ainsi ? Une première série de recherche imprécises du fait que je n'avais aucune idée sur la manière de m'y prendre m'a amené à envoyer un e-mail à mon professeur qui m'a alors informé qu'il fallait utiliser du code visual basic. J'ai pu ainsi affiner mes recherches qui m'ont conduit à des résultats plus précis. Malheureusement : je ne connais rien au visual basic et je ne comprends pas les bouts de code que je trouve. Et comme cela manque d'exemples et qu'evidemment ça ne fonctionne pas directement, eh bah je suis totalement perdu et déboussolé. N'étant pas du tout autodidacte, les cours tout écrits sans exemples ni quelqu'un pour m'expliquer, ça ne m'avance pas à grand chose. Je me tourne donc vers ce forum dans l'espoir qu'on puisse m'expliquer clairement comment je peux faire pour éxécuter une simple requête sur simple clic d'un bouton. Mes recherches m'ont donc renvoyé deux façons d'appeler une requête : soit de l'écrire directement dans le code, soit d'utiliser les "recordset". Voici un exmeple de requête que j'utilise pour rechercher un client par le nom de société : Code :
Pour la méthode recordset, j'ai rapidement trouvé qu'il fallait cocher "Microsoft DAO 3.6 Object Library" dans le menu Outils>Références. Un problème à également été rapidement rencontré lorsque j'ai cliqué sur OK : Voici le bout de code qui est à peu près le même que celui que je trouve un peu partout, si on pourrait me l'expliquer et me dire ce qu'il faut que j'ajoute/retire pour que cela fonctionne ça m'aiderai énormément : Code :
Que j'essaye ce bout de code ou que j'insère la requête en SQL directement dans le code, lorsque je teste, le programme me renvoie une erreur 2465. Une nouvelle recherche m'a indiqué qu'il fallait mettre en publique le code du bouton. J'ai donc tout mis en publique, mais il me sort la même erreur et pointe sur la ligne de code ou j'essaye d'appeler la requête : Voilà mon problème et mes traces de recherches pour que vous puissiez voir à peu près ou j'en suis. Je sais coder en C et C++, mais je ne connais rien du tout au visual basic : je ne comprends pas les bouts de code que je trouve, je ne différencie pas les déclaration des affectations ou des appels de fonctions Je vous remercie d'avance de l'attention que vous porterez à mon message et vous souhaite une bonne journée. |
||||
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() Conseil + Formation Inscription : février 2010 Messages : 583 ![]() |
Bonjour
Si tu ne connais pas VBA, une solution plus simple que tu peux utiliser est de créer une table pour le(s) choix fait(s) : tu y associes un formulaire où tu interdis l'ajout et la suppression (de façon à avoir un enregistrement unique). Ensuite tu utilises cette table pour croiser avec ta requête au lieu d'utiliser des paramètres. Si tu optes néanmoins pour VBA, il faudra de toute façon un formulaire (sans table associée) pour y récupérer les choix et construire la requête dans le code. Quel que soit ton choix, le formulaire à construire doit contenir tous les champs utilisables pour le filtre et non une liste de champs. |
|
|
10
|
|
|
#3 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Regarde si :
Création d'un formulaire de recherche multicritères http://jeannot45.developpez.com/arti...multicriteres/ ne répondrait pas à tes besoins. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() stephane Étudiant Inscription : juin 2011 Messages : 2 ![]() |
Merci à vous, la méthode de 78chris est en effet beaucoup plus simple et m'as permis de contourner le problème sans avoir besoin d'utiliser le Visual Basic. J'ai pu résoudre les difficultés que m'ont apporté cette alternative plus facilement, je n'ai même pas eu besoin d'une table intermédiaire.
J'avais déjà jeté un oeil au formulaire de recherche multicritères mais sans trop de succès, ça ne m'avait qu'un peu avancé. Merci encore. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com