Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2011, 17h37   #1
Invité de passage
 
Femme Magali
Étudiant
Inscription : juillet 2011
Messages : 8
Détails du profil
Informations personnelles :
Nom : Femme Magali
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 8
Points : 4
Points : 4
Par défaut Entrez une valeur de paramètre

Bonjour,

Je suis en ce moment chargée de créer une base de données pour mon stage.

J'ai une table contenant environ 13000 noms importés, dont beaucoup d'homonymes. Chaque personne est donc identifiée par un numéro, qui fait office de clé primaire.
Un formulaire permet d'afficher les données de chaque personne individuellement.

Comme je veux limiter le nombre d'erreurs, je ne veux pas trop faciliter la suppression des enregistrements.
J'ai donc créé un second formulaire (plusieurs éléments), dans lequel une liste déroulante indépendante contient les noms de famille possibles.
Après MAJ, mon code évènement est censé afficher toutes les personnes portant le même nom de famille, afin que l'utilisateur puisse décider quelle personne supprimer.

Mon problème est qu'un message s'affiche : "Entrez une valeur de paramètre", alors que cette valeur a déjà été rentrée par l'utilisateur et prise en compte puisque le nom apparaît également dans la boîte de dialogue.
De temps en temps, l'erreur est différente, j'ai un message qui me prévient que l'opérateur est absent.

Lorsque j'utilise la clé primaire et non plus le nom, en cachant la clé dans la liste, de sorte que l'utilisateur rentre bien le nom et pas la clé, ça fonctionne, mais ce n'est pas ce que je recherche puisque forcément, un seul nom s'affiche.

J'utilise le même code pour repérer les villes ayant le même code postal, et ça marche très bien.

J'avoue que je suis un peu perdue, donc si quelqu'un a une solution, ça m'aiderait beaucoup.


Code :
1
2
3
4
5
6
7
8
9
10
11
Private Sub Modifiable69_AfterUpdate()
 
    If IsNull(Me.Modifiable69) Then
                DoCmd.ShowAllRecords
    Else
        DoCmd.ApplyFilter , "[Nom]= " & Me.Modifiable69
    End If
 
    Me.Modifiable69.SetFocus
 
End Sub
Ellyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 19h52   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Bonsoir,

Remarque
Je suppose que Modifiable69 contient du texte.
La syntaxe pour le filtre est donc

DoCmd.ApplyFilter , "[Nom]= """ & Me.Modifiable69 & """"

-----------
Cela n’explique pas la demande de paramètre.
Veux-tu poster la source du formulaire : tu y fais sans doute référence à une valeur que Access ne parvient pas à interpréter et il croit qu’il s’agit d’un paramètre.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h11   #3
Invité de passage
 
Femme Magali
Étudiant
Inscription : juillet 2011
Messages : 8
Détails du profil
Informations personnelles :
Nom : Femme Magali
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 8
Points : 4
Points : 4
Merci beaucoup, le problème est maintenant résolu !

Quant à la source, il s'agissait simplement de la liste des noms issus de ma table principale, en ordre croissant. 1 seule colonne.

Merci encore.

Mais supposons maintenant que je veuille modifier le code de manière à ce que l'utilisateur n'ait pas à rentrer tout le nom, mais seulement les premières lettres, et que de cette manière, tous les noms commençant par les lettres en questions s'affichent ? (Tant qu'on y est ...)
Ellyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h33   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 040
Points : 11 040
Là ou tu as écris « =MonControle », tu remplaces par

« like MonControle & "*" »

En d'autres mots : qui est de la forme du contenu de MonControle suivi de n'importe quoi.

Vois ceci :
- L'opérateur LIKE
http://loufab.developpez.com/tutoriels/access/operateurlike/
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 20h40   #5
Invité de passage
 
Femme Magali
Étudiant
Inscription : juillet 2011
Messages : 8
Détails du profil
Informations personnelles :
Nom : Femme Magali
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2011
Messages : 8
Points : 4
Points : 4
Merci beaucoup, je vais en apprendre beaucoup grâce à ce forum

Bonne soirée,
Ellyy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h48.


 
 
 
 
Partenaires

Hébergement Web