Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
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 02/11/2011, 11h05   #1
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
Par défaut Comment faire une saisie semi-automatique sous access 2007

Bonjour,

Voila mon problème

Je souhaite avoir une saisie semi-automatique sur un formulaire
J'ai fouillé un peu sur le net mais aucune réponse très clair car étant novice sous access et en vba

Je souhaiterais faire cela via un champ style zone de texte
cela est il possible?
Je souhaiterais que la personne en saisissant les première lettres d'un nom de client puisse avoir les différents choix possible parmis les noms de clients dans ma base de donnée Client via le champ Nom

Je pense qu'il faut mettre cela dans l'évènement "touche appuyée" ou "reception focus"
le pb avec l'évènement "touche appuyée" je pense est que si la personne commence a taper et n’appuie sur aucune touche ensuite cela annule l'évènement et donc ne donnera pas de choix a l'utilisateur

Merci d'avance pour vos réponses

Bonne journée
spawny161184 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 11h32   #2
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Bonjour,

Tu peux faire cela avec une zone de liste déroulante.

Utilise l'assistant pour la créer, en sélectionnant la 3ème possibilité, "Rechercher un enregistrement...".

Cela fait exactement ce que tu cherches à faire.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 12h04   #3
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
j'avais trouvé cette solution aussi mais malheureusement je pense que cela ne fonctionne pas sous la version 2007 car je n'ai que 2 choix
"je veux que la liste déroulante recherche les valeurs dans une table ou requête"
ou
"je taperais les valeurs souhaitées"
mais pas de 3ème choix
du coup j'ai essayé une requête avec un like mais cela ne fonctionne pas
spawny161184 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 12h06   #4
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Quelle est la source de ton formulaire ?

Si c'est une requête SQL, effectivement, l'assistant ne propose pas la recherche d'enregistrement.

Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 12h11   #5
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
si par source tu parles de la base de donnée ce sont des tables que j'ai créé via access et dont j'ai accès dans chacun de mes formulaires et ou je peux ajouter, faire des selections, modifier, supprimer sans problème
la table que je veux utiliser est la table Client contenant le champ Nom et quand par exemple la personne tape la lettre 't' le programme lui suggère les noms commencant par t tel que toto ou tata par exemple

voila
spawny161184 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 12h16   #6
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Tu crées une zone de liste déroulante avec 2 colonnes. Dans la première, l'ID des enregistrement, que tu peux masquer en réduisant la largeur de la colonne à 0, dans la deuxième, le nom.

Dans la propriété Après mise à jour de la zone de liste, tu mets ce code (en adaptant au nom de ta liste déroulante et de l'ID de tes enregistrements dans ta table).

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub cboTaliste_AfterUpdate()
 
    On Error Resume Next
 
    'Recherche et affichage de l'enregistrement sélectionné dans la liste
    With Me.RecordsetClone
 
        .FindFirst "TonId=" & str(Nz(Me.cboTaListe, 0))
 
        If .NoMatch = False Then Me.Bookmark = .Bookmark
 
    End With
 
    'Synchronisation de la liste de recherche
    Me.cboTaListe.Value = Me.TonId.Value
 
End Sub
Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h16   #7
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
merci beaucoup cela marche exactement comme je le souhaitais mais j'ai une erreur de compilation sur la dernière ligne quand je vais pour cliquer en dehors
'Synchronisation de la liste de recherche
Me.cboTaListe.Value = Me.TonId.Value
que j'ai modifié en Me.Modifiable26.Value = Me.id_Client.Value
j'ai bien remplacé TonId par id_Client qui est la clé primaire de ma table et j'ai cette erreur de compilation "Membre de méthode ou de données introuvable"

Je vais me plonger dans le code pour comprendre son déroulement et voir ce qui ne va pas en espérant trouver
spawny161184 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h22   #8
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 223
Points : 9 937
Points : 9 937
Envoyer un message via Skype™ à Domi2
Il faut que ton ID client soit dans le formulaire.

Tu peux naturellement l'afficher dans un champ que tu rends non visible.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor)

Ici, on ne perd pas de temps ! On en passe...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h30   #9
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
mon id_Client apparait dans le formulaire mais en masqué/caché dans la liste déroulante (on me le propose lors de la création de la liste déroulante pourtant)
spawny161184 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 14h50   #10
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
le code fonctionne (vis a vis de l'affichage semi automatique des noms) mais cela est incompréhensible car j'ai mon code dans une précédente liste déroulante que j'ai supprimé qui était Modifiable32 hors, ma liste déroulante actuellement sur mon formulaire est Modifiable34 et l'affichage semi-automatique fonctionne
spawny161184 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/11/2011, 15h09   #11
Invité régulier
 
Homme Mathieu GASNIER
Développeur informatique
Inscription : juin 2009
Messages : 27
Détails du profil
Informations personnelles :
Nom : Homme Mathieu GASNIER
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : juin 2009
Messages : 27
Points : 6
Points : 6
bon ca marche avec le bon numéro de la liste déroulante
j'ai juste enlevé la synchronisation de la liste de recherche

j'ai testé je récupère bien le bon id de client donc apparemment l'erreur venait de cette ligne
spawny161184 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 12h43.


 
 
 
 
Partenaires

Hébergement Web