Formulaire Access : combiner 2 champs formulaire dans base

Résolu/Fermé
Fondeur19 Messages postés 18 Date d'inscription vendredi 22 juillet 2022 Statut Membre Dernière intervention 22 septembre 2022 - 22 juil. 2022 à 09:29
Fondeur19 Messages postés 18 Date d'inscription vendredi 22 juillet 2022 Statut Membre Dernière intervention 22 septembre 2022 - 24 août 2022 à 13:49

Bonjour,

Je souhaite concaténer un champ Nom tous en majuscule avec un champ Prénom avec juste la première lettre en majuscule rentrer dans un formulaire puis l'enregistrer dans une base de données dans une colonne Nom et Prénom.

J'ai essayer en passant par les propriétés des champs et en créant un troisième non modifiable qui aurait comme valeur par défaut l'addition des deux précédents mais ça ne l'enregistre pas dans la base.

Comment faire ?

3 réponses

blackmefias_3350 Messages postés 706 Date d'inscription dimanche 20 septembre 2020 Statut Membre Dernière intervention 8 mars 2024 58
Modifié le 22 juil. 2022 à 15:52

Bonjour, 

Pour mettre votre champ Nom ,  vous devez ouvrir votre table en mode création,  puis cliquez sur la ligne qui contient le champ nom, une fois que vous êtes le champ  sélectionné,  dans Masque de saisie, qui se trouve en bas vous devez mettre >LLLLLLLLLLLLLLLLLLLLLLLL  autant de fois que la longueur de votre champs.  c'est à dire que si mon champ Nom  peut contenir 255 caractères,  il faudra mettre 255 fois L , le signe > qui se trouve devant sert à forcer la Casse en majuscule voir ceci Casse (typographie) — Wikipédia (wikipedia.org).  Pour Forcer en minuscule on utilise le signe < .

donc par exemple si je veux obliger dans ma table de mettre sur mon champ  "nom" et   qui peut contenir jusqu'à            10 caractères toutes les lettres en Majuscule. Dans le masque de saisie,  je mets :  >LLLLLLLLLL . Mais si je veux uniquement Mettre la première lettre en majuscule alors je dois mettre >L<lllllllll. 

ce qui donne par exemple ceci  TARTEMPION    Alfred   et même si l'utilisateur utilise la touche majuscule ou pas de son clavier , j'aurais ce résultat. 

pour ce qui est de concaténation,   il faut créer un autre champ qui porterai  NomPrenom  par exemple  et dans lequel à l'aide d'un Select (SQL)  je mets 

SELECT id,CONCAT(Nom + Prenom) From MaTable; 

SELECT  =  sélection 

id=   champ  id  (Identifiant) 

CONCAT(  Nom , Prenom )= concaténation   donc ici dessous, je concaténise le champ Nom avec le champ Prenom 

FROM MaTable =  depuis  la table nommée 'MaTable' 

;  fin de l'instruction  

Ou on peut faire ceci avec une condition WHERE

SELECT id
FROM `MaTable`
WHERE colonne1 = CONCAT(colonne2, colonne3)

Ou bien encore  ceci 

SELECT id, CONCAT(prenom, ' ', nom) AS affichage_nom
FROM MaTable

2
Fondeur19 Messages postés 18 Date d'inscription vendredi 22 juillet 2022 Statut Membre Dernière intervention 22 septembre 2022
24 août 2022 à 11:17

Bonjour Blackmefias_3350,

J'ai bien compris l'utilisation du masque de saisie merci.

Cependant je cherchais une solution sans VBA si possible. Je met au point ces formulaires mais une fois terminés, je ne serais pas celui en charge de les utiliser et modifier. Or ils n'ont pas forcement les connaissances nécessaires pour faire des modifications en VBA.

N'y a-t-il pas d'autres moyens ?

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477
22 juil. 2022 à 16:45

bonjour,

La table que contient qu'un seul champ?
Comment déchences-tu l'enregistrement à partir du formulaire?

0
Fondeur19 Messages postés 18 Date d'inscription vendredi 22 juillet 2022 Statut Membre Dernière intervention 22 septembre 2022
Modifié le 24 août 2022 à 11:14

Bonjour yg_be,

Ma base de donnée ne contient qu'une seule case pour le nom et prénom sous le format "NOM Prénom".

Mon formulaire contient donc une étiquette NOM et une seconde étiquette Prénom que je voudrais concaténer au moment de l'enregistrement. Et si possible sans utilisé de code VBA.

L'enregistrement lui se lance à partir d'un bouton en bas d'un formulaire.

0
yg_be Messages postés 22732 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 28 avril 2024 1 477 > Fondeur19 Messages postés 18 Date d'inscription vendredi 22 juillet 2022 Statut Membre Dernière intervention 22 septembre 2022
24 août 2022 à 13:40

Quelle est l'action associée au bouton?

Pourquoi ne pas garder deux champs séparés dans la table?

0
Fondeur19 Messages postés 18 Date d'inscription vendredi 22 juillet 2022 Statut Membre Dernière intervention 22 septembre 2022
24 août 2022 à 13:49

C'est bon j'ai résolu mon problème en passant par une requête d'ajout avec dans "champ", l'expression :

Expr1: [Formulaires]![AjoutEmploye]![NOM]+" "+[Formulaires]![AjoutEmploye]![Prénom]

Ensuite sur un bouton nommer enregistrer en bas de mon formulaire, j'ai utilisé le générateur de macro pour en lancez la requête.

Merci pour tout.

0