Problème sur access avec une textboc

Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   -  
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je suis dans la création d'une base de donnée, j'essaye d'incorporer dans mon formulaire une recherche par mots clefs. (via une txtbox). Donc en mettant un mot ou un debut de mot et en tapant sur entrée, le résultat de ma recherche devrait apparaître dans une zone de résultat.

Bref j'ai besoin d'aide, tout aide sera donc la bienvenue.

43 réponses

Résumé de la discussion

La problématique porte sur l’implémentation d’une recherche par mots-clefs dans un formulaire Access, avec les résultats affichés dans une zone dédiée.
Les réponses préconisent que le formulaire des résultats soit alimenté par la bonne table et que les contrôles correspondent aux champs, afin de pouvoir appliquer un critère de filtrage issus de la saisie.
Une solution pratique consiste à gérer l’événement IstResults_DblClick en définissant Critere = "TITRE" & "='" & Me.IstResults & "'" puis DoCmd.OpenForm "Formulairedesaisie", acNormal, , Critere.
Une autre piste évoque l’utilisation d’un champ de type lien hypertexte pour référencer des documents et les exploiter via le formulaire.

Généré automatiquement par IA
sur la base des meilleures réponses
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Est-ce que le code fonctionne ?
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bah on fait je sais pas dire car j'aurais préféré que lorsque on coche la case le résultat apparait et non le contraire.
Je vous envoie la base, maintenant le truc que j'aimerai améliorer c'est l'esthétique de la base car je la trouve pas très agréable à regarder.


https://www.cjoint.com/?fhfRIYJDJ0
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Eh bien je constate que vous n'avez pas réalisé se que je vous ai proposé.
Je ne vais pas corrigé se que vous avez fait.
D'autre part la cosmétique (esthétique), je ne m'en occupe pas c'est un choix personnel.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bah si j'ai utilisé votre code
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Regardez donc par là : http://www.commentcamarche.net/forum/affich 11915363 probleme sur access avec une textboc?page=2#35
Pour moi pas de probléme; par contre cela ne fonctionne pas correctement avec les 2 autres procédures que vous avez ajouté sur le même modèle.
D'ou ma réponse.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Oui je suis bien d'accord masi ca ne fonctionné pas donc j ai essayé de modifier comme j'ai pu
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   > Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Voila ma base avec tous les enregistrements que j'ai rentré pour l'instant il ne devrait pas en avoir d'autres?
J'ai utilisé votre code pour les cases à cocher voila ce que ca donne, ca n'a pas l'air de tres bien fonctionner.

De plus, j aimerai pour fair apparaitre le formulaire de saisie créer un bouton

Private Sub Bascule37_Click()
Critere = ....
DoCmd.OpenForm "Formulairedesaisie", acNormal, , Critere
End Sub

Cependant dans critère je vois pas ce qu il faut mettre.

Merci d avance, je sais je suis chiant mais la fin de mon stage approche e ce projet je dois le présenter une semaine apres la fin du stage donc je panique un peu.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
C'est bon pour l'ouverture du formulaire de saisie avec le bouton avec le code suivant :

Private Sub NvlEnr_Click()
DoCmd.OpenForm "Formulairedesaisie", acNormal
End Sub

Cependant je tombe dur un ancien enregistrement je voudrais sur le formulaire vide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour Mickael1461,
Je vais faire encore un extra et faire en sorte que cela fonctionne.
Cependant je n'ai pas la version que vous citez au poste 43.
Si vous êtes un peu ... alors à mon tour de vous dire qu'il serait agréable de toujours commencer un poste avec un petit Bonjour ...(cela fait partie de la charte du forum CCM)
Pas de réponse avant demain soir.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Re-bonjour,

Oui en effet la chartre faudrait peut être que je la lise.
Cependant si vous ne voulez pas faire d'extra (comme vous dites) je comprendrais y a pas de soucis vous m'avez assez aidé depuis le début.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonjour, ok je vous envoie ca demain matin
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   > Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Voici la toute dernière version :

https://www.cjoint.com/?fiwXtgiIUR
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour Mickael
J’ai corrigé : TITRE et le compteur de statistique (56/56) qui ne fonctionnaient pas.
J’ai adapté le code pour Article, DocInt et DocExt afin d’avoir une cohésion correcte de l’ensemble. Note j’ai modifié les noms des 3 contrôles Cas…… par cac…. Simplement le cac pour mémo = case à cocher (plus facile de si retrouver dans le code ou simplement dans les formulaires).
Question : Cependant je tombe dur un ancien enregistrement je voudrais sur le formulaire vide.
Réponse : c’est mis en ordre.
Note : dans le code VBA j’ai annoté chaque intervention par ‘ **** ……
J’espère que je n’ai rien oublié, sinon vous me le faite savoir.
Votre application : https://www.cjoint.com/?fjnaFelOKK
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Jean-Pierre vous êtes formidable.
La base est impeccable, de plus les explications de chaque code c'est super, pour ma présentation ça sera un plus indéniable.
Je vous en remercie encore très chaleureusement. Et vous donne peut être rendez-vous pour de nouvelles aventures informatique.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour Mickael,
Merci pour le message.
A mon avis il serait plus présentable d'avoir le titre des colonnes dans la liste résultats du formulaire [Formulaire1].
Il vous suffit, en mode création, sur les propriétés de [IstResults] et de mettre OUI pour En-têtes colonnes.

En marge petite correction dans le code:

1.- Procédure [Private Sub Form_Load()]
ajouter les 2 lignes suivante juste avant : Case "txt"

Case "cac" ' ***** ajouter
ctl.Value = 0 ' ***** ajouter

2.- Private Sub RefreshQuery()
Ceci uniquement si vous voulez les titres des colonnes dans [IstResults]
Modifier le compteur pour tenir compte de la ligne des titres, il faut la combinaison signe "<=", ci-dessous ligne correcte:

Me.lblStats.Caption = IIf(Me.IstResults.ListCount <= 1, 0, Me.IstResults.ListCount) & " / " & DCount("*", "Table1")

Bon vent pour la fin de votre stage.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Jean-Pierre,

Le code que vous m'avez fourni pour le compteur en prenant compte du titre ne fonctionne pas car le compteur m'affiche 57/56 donc prend en compte la ligne titre.
De plus j'aurais aimais savoir que signifie le "IIF" dans cette ligne de code.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Re bonjour,

J'ai donc montrer ma base à mon tuteur au sein de l'entreprise. Et donc par miracle il m'a demandé de rajouter ou modifier certains trucs.
Il voulait savoir pour "sécuriser" la base s'il était possible de mettre en place un nom d'utilisateur avec mot de passe.
Et de plus si il était possible d'ajouter un scan au niveau des articles faisant qu'en cliquant sur le nom de l'article on peut le visualiser.

Si vous avez des réponses à ce sujet, je serais preneur. Et vous en serais encore reconnaissant.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468 > Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,
Concernant :
Il voulait savoir pour "sécuriser" la base s'il était possible de mettre en place un nom d'utilisateur avec mot de passe. Oui c'est possible.

Et de plus si il était possible d'ajouter un scan au niveau des articles faisant qu'en cliquant sur le nom de l'article on peut le visualiser. Que comprendre par "scan" ? Par contre si vous voulez visualiser l'article il faut savoir ou il se trouve pour pouvoir le trouver; ensuite avec un lien qui pointe vers cette article.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour Mickael,
Si le compteur n'affiche pas correctement, ce n'est pas mon code qui n'est pas juste mais tout simplement une petite erreur chez vous (contrôler bien la ligne de code).
Voici la preuve : http://www.cijoint.fr/cjlink.php?file=cj200905/cijFlAyUki.zip

Pour le "IIf" :
Renvoie l'un ou l'autre de deux arguments selon l'évaluation d'une expression.
Syntaxe : IIf(expr, truepart, falsepart)

0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention   > Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention  
 
RE,

Je suis désolé d'insister mais en appuyant sur le bouton rafraichir ca m affiche 57/56 donc il y a quelque chose qui ne fonctionne pas.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Alors vous l'envoyer, j'attends .
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Bah c'est la meme que celle que vous venez d'envoyez, ouvré la et cliqué sur rafraichir et vous allez voir 57/56
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Désolé mais le résultat est 56/56 et pour les autres 16/56 (Article) , 7/56 (doc interne) et 33/56 (doc externe)
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

je suis désolé d insisté, mais je vous envoie la base. En effet au départ on a 56/56 mais en cliquant sur rafraichir on obtient 57/56.

http://www.cijoint.fr/cjlink.php?file=cj200905/cijNkzxEYR.zip
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour et merci,

Je suis vraiment une bille, même pas eu l'idée de mettre -1.
Sinon j'ai fait un autre formulaire avec identifiant et mot de passe ca à l'air de bien fonctionner donc c'est cool.

Donc à moins d'une autre intervention de mon maître de stage votre aide précieuse s'arrête là. Maintenant plus qu'à préparer une belle présentation orale avec un bo powerpoint.

Encore merci Jean-Pierre.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Merci.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Jean-Pierre,

Je sais pas si vous aurez lu ce message avant que je finisse mon stage mais bon je tente quand même.
J'aurais voulus savoir si il était possible de mettre une lien Hypertexte pour chaque enregistrement. J'ai essayé mais le problème c'est qu'il affiche toujours le même lien en changeant d'enregistrement.

Donc ce que j'aimerais si cela est possible, c'est qu'en double cliquant sur un des enregistrement de la zone de résultat celui si apparaît dans le formulaire de saisie avec le lien qui correspond.

Cela est-il Possible ?

Merci
Mickael
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour Mickael,
Si le lien hypertexte est lié à un enregistrement il faut que dans la table il y est un champ avec type de données "Lien hypertexte" et l'ajouter sur le formulaire "Formulairedesaisie".
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Oui j'ai pensé à ca et je les fais mais le problème est que si je le met pour un enregistrement, le même lien ce met pour tous les autres enregistrement. Cependant chaque enregistrement doit avoir son propre lien.

De plus ce qu'on a fait sur le formulaire1 avec le double clique sur la zone de résultat n'est pas assez pertinent car quand je double clique sur un enregistrement je reviens toujours sur le premier. Donc y a t il un remede a ce problème.

Merci
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Non, vous devez ajouter un champ à votre table avec type de données "Lien hypertexte" et il va de soi que vous devez entrer pour chaque enregistrement éxistant le lien désirer.
Concernant ceci : De plus ce qu'on a fait sur le formulaire1 avec le double clique sur la zone de résultat n'est pas assez pertinent car quand je double clique sur un enregistrement je reviens toujours sur le premier. Donc y a t il un remede a ce problème.
C'est vraiment étonnant car je l'avais corrigé dans les versions précédentes.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
RE,

Ok pour ca c'est ce que j'ai fait (Non, vous devez ajouter un champ à votre table avec type de données "Lien hypertexte")

. Apres j'ai juste à créer une textbox dans le formulaire de saisie et de remplir la zone avec le lien désiré ?
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour Mickael,
Eh bien oui j'avais déjà réalisé la correction sur version antérieur.
La procédure est la suivante (à vous de la remplacer):
Private Sub IstResults_DblClick(Cancel As Integer)
Critere = "REFERENCE" & "= """ & Me.IstResults & """"
DoCmd.OpenForm "Formulairedesaisie", acNormal, , Critere
End Sub
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
L'exemple : http://www.cijoint.fr/cjlink.php?file=cj200905/cij5r05jlS.zip
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour,

Merci pour les liaisons, mais si je met un pdf en lien il veut pas l'ouvrir bizarre puisque les sites internet il les ouvres.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,

Pour : mais si je met un pdf en lien mettre un exemple.
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
RE,

http://www.cijoint.fr/cjlink.php?file=cj200905/cijVJk4njC.zip

Les fichiers PDf sont stockés dans un dossier sur le réseau du service ou je travail.
0
Le Pingou Messages postés 12720 Date d'inscription   Statut Contributeur Dernière intervention   1 468
 
Bonjour,
Sympathique les fichier avec mot de passe...
En attendant, que je trouve le "mdp", êtes-vous certain du chemin vers le document *.pdf ....? ?
0
Mickael1461 Messages postés 46 Date d'inscription   Statut Membre Dernière intervention  
 
Re ah oui désolé. je vous envoi le mot de passe en MP.
En ce qui concerne le chemin y a pas de soucis car des fichiers excel étant dans le même fichier s'ouvrent.
0