1 membre
Connectés : ( personne )
- La Charte du Forum - Forum - Questions générale
Sujet n° 661 |
Mise à jour auto sur formulaire access 2007 |
le 30/01/2013 : 17:24 par microsophistic
visiteur |
Bonjour,Je bloque sur la possibilité de mettre à jour un champ automatiquement après la saisie dans un autre avec Access 2007; je m'explique, grâce à de multiples modèles trouvés sur internet et à du "bidouillage" de ma part j'ai réalisé un module qui convertit un nombre en lettres en plusieurs langues et le champ convertit servira pour éditer un reçu, aussi je voudrais faire en sorte que l'utilisateur n'ait qu'à saisir le nombre dans un champ et que la conversion se fasse dans un autre automatiquement en lettres. J'ai trouvé sur un site Italien un exemple qui met à jour automatiquement mais malheureusement il n'y a pas les décimales ... ce site est : http://www.sitocomune.com/ dans General voir le n° 6.63, Convertire numeri in testo (12 => Dodici). Je vous remercie par avance de l'aide que vous voudrez bien m'apporter.Cordialement. |
|
|
Réponse n° 1 -------- le 30/01/2013 : 18:48 par 3Stone
Administrateur
|
Bonjour,
Une fonction correcte pour le français est disponible ici sur mon site.
Pour l'anglais, tu peux utiliser celle de Joe Foster.
Il est parfaitement possible de regrouper ces fonctions et ajouter un paramètre pour désigner la langue...
J'ai aussi regardé l'exemple italien... mais je doute que même l'italien soit correct. En tout cas, la conversion en français est à chier sans même parler des décimales.
Pour ce qui est de l'utilisation d'une telle fonction, il faut :
-
utiliser un champ monétaire dans la table
-
ensuite, toujours utiliser ce champ monétaire pour tous les calculs et autres manipulations
-
ne jamais sauver la "conversion" en texte dans la base
-
utiliser la fonction de conversion au moment ou l'on souhaite imprimer cette dernière - sur une facture ou autre document (l'affichage dans un formulaire n'a aucune utilité, car nettement plus difficile à lire qu'une valeur numérique).
En respectant ces conseils, il suffit alors de prévoir (en bas de facture, par exemple) une zone de texte ayant comme source:
Code :
= NombreVersTexte([champ-numérique])
pour obtenir automatiquement la version texte.
Cordialement,
Pierre(3stone) |
|
|
Réponse n° 2 -------- le 31/01/2013 : 12:19 par microsophistic
visiteur |
Bonjour Pierre et merci pour ta réponse rapide et efficace C'est vrai la fonction italienne est de mauvaise qualité du point de vue de l'orthographe et il y a aussi le pb des décimales en chiffre qui ne me convenait pas!Par contre, j'ai suivi tes bons conseils en déplaçant mes champs textes convertis en lettres dans un état (c'est comme cela en effet que je vais m'en servir ans un suivi client, notamment pour un reçu qui doit être remis rapidement avec le moins de saisie possible et là il n'y aura que le montant à saisir...) et la mise à jour est automatique évidemment!J'ai bien vu ta fonction qui est super aussi, mais j'en utilise une trouvée il y a quelque temps sur le net et je l'ai pas mal bidouillé afin d'avoir le résultat en Français, Allemand, Anglais, Italien, Néerlandais, Espagnol, Portugais et arabe.J'en suis à la vérification de l'orthographe de chaque langue surtout pour le Français qui pose le plus de problème avec les nouvelles règles...Voilà qui est dit et j'ajoute que je ne suis pas un pro d'Access et c'est par tatonnement que j'ai pu avancer et avec l'aide de personne comme toi; si tu es intéressé je te ferai parvenir mon projet dès qu'il sera au point pour en faire profiter, éventuellement, tes lecteurs. Cordialement Gérard |
|
|
Réponse n° 5 -------- le 05/02/2013 : 01:45 par 3Stone
Administrateur
|
Bonjour,
Citation :j'ai un problème avec la langue arabe au niveau du formulaire et de l'état qui me revoit des caractères ASCII genre "ãÇÆÉ ÏíäÇÑ ÊæäÓí" pour cent Dinars Tunisiens"
Là, je ne crois pas que je puisse t'être d'un grand secours
Déjà, je ne suis pas sûr que l'on puisse mélanger ces langues dans un même base... et le copié/collé ne doit pas être la bonne approche. Si cela doit fonctionner, je pense qu'il faut saisir les codes au clavier.
Ce que je sais, c'est que pour créer une base par VBA, on utilise la commande CreateDatabase(). Cette commande à un paramètre qui spécifie le type de langue...
- dbLangGeneral Anglais, allemand, français, portugais, italien et espagnol moderne
- dbLangArabic Arabe
- ...
donc, moi qui mélange le français et l'allemand... je reste sur dbLangGeneral qui me convient très bien
Cordialement, Pierre(3stone) |
|
|
sujet actif
sujet clos
Important!
Nouveau message -
Rectifier message
Clôturer sujet
Remonter
|