Remplacer les champs texte dans Access

vikvalesteam Messages postés 15 Date d'inscription mercredi 20 mai 2009 Statut Membre Dernière intervention 27 août 2013 - 20 mai 2009 à 13:45
hellangel777 Messages postés 267 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 novembre 2013 - 20 mai 2009 à 17:17
Bonjour,

Avant tout j'espere ne pas m'etre trompé d'endroit pour poser ma question (si c'est le cas dites le moi je le changerais de place thx)
Je suis actuellement en stage et je travaille sur une base de donnée Access 2003 qui gère des fournisseur.

Elle est en allemand et mon but est de la traduire en français et anglais...

Pour cela je pense rajouter un formulaire qui demande en quelle
langue on veux travailler et qui selon le choix traduirais tout ce qui
dois être traduit...j'espère ne pas trop vous embrouiller et être assez
clair

j'aurai voulu savoir deux choses:

- Existe t'il une commande dans les macros pour remplacer automatiquement toutes les valeurs a traduire dans les tables.

- Comment changer des champs de texte dans un formulaire étant donné que le bouton "remplacer" a disparu

Il est possible que je soit un noob et que je soit passer a coté de quelque chose de vraiment trivial, je l'espère même...:)

j'accepte tout type de réponse même si on doit aller trafiquer dans
visual basic malgré que je n'y connaisse pas grand chose je suis prêt à
faire l'effort de comprendre..:p

merci d'avance pour les généreux des idées...

Victor

5 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 mai 2009 à 13:59
rien d'automatique...

te faut lister le contenu de tes tables, et réinjecter le tout...

c'est du 'one shot' ... pas quelque chose sur lequel il faudra revenir n fois...(normallemnt)

tu peux surement exporter tes données (XML ou CSV, par exemple)

ces formats textes seront facilement manipulable. te suffira alors d'importer la chose par la suite.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 mai 2009 à 14:11
Salut
Parles-tu des textes qui sont stockés dans tes tables ou bien des textes apparaissant sur l'interface utilisateur ?

Données dans les tables :
Ca me parait difficile puisque chaque nouvelle donnée devra être stockée dans plusieurs langues

Dans l'interface utilisateur :
Hélas, sous le VBA de Access, il n'est pas possible d'ajouter de fichier de ressource qui facilite ce genre de manoeuvre.
Il faudra donc créer une table avec :
- un champ d'identification (numéro du texte)
- un champ texte pour chaque langue
Il faudra bien sûr que chaque Caption ou Text stocke l'identifiant (ID) de la chaine de texte
Tu peux stocker cet ID dans le champ "Remarque" de chacun des objets (Tag pour les versions anglaises)
Après le choix de la langue, il suffit d'énumérer chaque objet, récupérer le ID, aller chercher dans la base le texte adéquat et le stocker dans le Caption ou Text de l'objet.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
hellangel777 Messages postés 267 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 novembre 2013 1
20 mai 2009 à 14:26
Bonjour,

Jack, une question qui pourra peut etre apporter une question.
En mettant la valeur des champs dans un fichier texte de type ini ne peut on pas adapter la langue en fonction du choix?
Je m'explique (Je sais pas si en vba c'est possible)
Tu cré ton fichier INI de type :
[Anglais]
nom = Name
etc..
et faire appel à ce fichier en fonction de la selection de la langue?
Mais peut etre que ca fait usine à gaz???
C'est une idée mais je ne sais pas si elle est réalisable

HellAngel777
<hr />
Les machines ne font pas d'erreurs
Heureusement nous sommes humains
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 mai 2009 à 15:56
Oui, bien sûr, un fichier Ini est une bonne idée, mais cela impose de se balader avec le fichier en plus de la base.
Oui, un Ini par langue.
On pourrait aussi imaginer un module dédié au stockage des chaines, avec un tableau à plusieurs dimensions :
   Dim Textes(1 To 1000, 1 To 4) As String
   Textes(1, 1) = "Bonjour"
   Textes(1, 2) = "Hello"
   Textes(1, 3) = "Ola"
   Textes(1, 4) = "Hug"
Le principe reste le même : Il faut identifier chaque objet à renseigner puis aller chercher (DB, fichier texte/Ini, ou un tableau de String) la donnée équivalente pour l'utiliser.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hellangel777 Messages postés 267 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 novembre 2013 1
20 mai 2009 à 17:17
Re:

Oui en effet ca fait se balader avec un fichier en plus mais cela permet une modification de code plus propre si on externalise non?

HellAngel777<hr />Les machines ne font pas d'erreurs
Heureusement nous sommes humains
0
Rejoignez-nous