Problème sur access avec une textboc
Le Pingou Messages postés 12720 Date d'inscription Statut Contributeur Dernière intervention -
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.
- Problème sur access avec une textboc
- Access appdata - Guide
- Acer quick access - Forum logiciel systeme
- Désinstaller ACER QUICK ACCESS - Forum Logiciels
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- [Access] creer base données client-produits - Forum Programmation
43 réponses
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.
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.
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.
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.
Private Sub NvlEnr_Click()
DoCmd.OpenForm "Formulairedesaisie", acNormal
End Sub
Cependant je tombe dur un ancien enregistrement je voudrais sur le formulaire vide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJe 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.
Voir 2 premières lignes de http://www.commentcamarche.net/forum/affich 11915363 probleme sur access avec une textboc?page=2#45
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
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.
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.
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.
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.
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)
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)
Ci-joint : https://www.cjoint.com/?fmqCh6T0FR
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.
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
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".
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
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.
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
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