Remplacer les champs texte dans Access

Signaler
Messages postés
15
Date d'inscription
mercredi 20 mai 2009
Statut
Membre
Dernière intervention
27 août 2013
-
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
-
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

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
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.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
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)
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
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
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
70
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)
Messages postés
267
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
26 novembre 2013
1
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