[Catégorie modifiée VB6 --> VBA] attribution automatique de la valeur d'un champ

Résolu
elnico16 Messages postés 50 Date d'inscription mardi 22 juin 2010 Statut Membre Dernière intervention 17 septembre 2010 - 2 juil. 2010 à 10:40
elnico16 Messages postés 50 Date d'inscription mardi 22 juin 2010 Statut Membre Dernière intervention 17 septembre 2010 - 2 juil. 2010 à 15:17
bonjour, je bosse dans une papeterie et je travaille sur les normes internationales du papier. ( au nombre de 2 : PEFC et FSC)
en fait je choisi dans la saisie de commande la norme dans un groupe d'option que j'incrémente ensuite dans la table des commandes mais il renvoit une valeur numérique( par exemple lorque je choisi PEFC comme norme alors commande.norme=2)

mon but est de faire un etat imprimable avec un champ qui affiche la norme et pas une valeur numérique . comment puis je faire des conditions pour afficher la vraie norme dans le champ automatiquement?
merci

6 réponses

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
2 juil. 2010 à 14:43
Ok, Access. Catégorie modifiée.

Oui, je sais tout cela.
Mais je te dis qu'une des solutions consiste à créer une simple table dans laquelle tu stockeras :
- le n° de la norme : 1, 2 ou 3
- le nom de la norme : sans, PEFC ou FSC
- le logo de la norme (voir dans l'aide comment stocker une image dans un champ)
Ensuite, il te faut créer un lien entre le champ "norme" de ta commande et le champ "n° de la norme" de cette mini table, le principal étant que ces deux champs doivent être de même type pour pouvoir faire un lien.

Tu déclares le lien entre ces deux tables en N --> 1

Ensuite, tu regardes dans Access comment on fait pour afficher dans un état les tables et liens associés.
Mais ça, c'est de la formation Access, pas grand chose à voir avec VB.

Si tu veux faire du code, tu peux aussi, mais il te faudra :
- un composant (TextBox ?) dans lequel afficher le nom de la norme
- un composant (Image ?) dans lequel afficher le logo de la norme
et faire un code qui pourrait ressembler à ce que tu à commencé à écrire.
3
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
2 juil. 2010 à 10:58
Salut
Il te suffit de créer une table "normes" dans laquelle tu auras ces simples champs : NoNorme et TxtNorme
Puis, de lier (N -> 1) le champ NoNorme avec le champ commande.norme

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

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
elnico16 Messages postés 50 Date d'inscription mardi 22 juin 2010 Statut Membre Dernière intervention 17 septembre 2010
2 juil. 2010 à 11:04
merci jack .. ma norme est un champ dans ma table de commande et lorsque je fais un choix dans le groupe d'option la valeur s'attribut directement (1,2 ou 3).

est il possible de faire pour l'affichage du champ une condition genre
case cde.norme=1 then
afficher "pas de norme"
case cde.norme=2
afficher "PEFC" avec l'affichage auto du logo
case cde.norme=3
afficher "FSC" avec l'affichage auto du logo FSC
car en pratique je ne vois pas comment lier ma valeur du champ norme dans la table cde et le libelle de la norme si je crée une table norme
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
2 juil. 2010 à 12:53
Nico, je ne connais pas ton environnement, difficile de te répondre.
Oui, tu peux mettre du code pour tester cette valeur, mais quand tu dis "afficher" le logo, je ne sais pas dans quoi ni où trouver ce logo.

Tu dis travailler sous VB6, mais je pense que tu es sous le VBA de Access.
Confirme nous cela car les solutions sont complètement différentes.
Et quelle version de Access ?

Lier deux tables : ça doit surement être expliqué dans l'aide de Access en tapant "lier deux tables".
0

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

Posez votre question
elnico16 Messages postés 50 Date d'inscription mardi 22 juin 2010 Statut Membre Dernière intervention 17 septembre 2010
2 juil. 2010 à 14:05
merci jack pour tes reponses !!
en effet je bosses sous access 2007 en gestion de base de données. je met a jour l'application pour une papeterie comme tu peux t'en douter.
maintenant que tu sais ça je vais t'expliquer car je me dépatouille pas de ce probleme.
j'ai des commandes, qui peuvent etre sans norme avec la norme PEFC ou FSC. donc 3 choix.
ce choix est determiné dans un groupe d'option lors de la saisie et attribuée dans le champ "norme" de la table "commande"
je souhaite pour chaque commande lors de la sortie des etats imprimables (lorsque la commande par en fabrication a la machine) mettre en page automatiquement cet etat.

entre autre : affichage de tel ou tel logo (logo de norme internationale) et afficher le libelle de la norme sachant que dans ma table "commande" le groupe d'option renvoit une valeur numerique 1 pour rien, 2 pour PEFC et 3 pour FSC
0
elnico16 Messages postés 50 Date d'inscription mardi 22 juin 2010 Statut Membre Dernière intervention 17 septembre 2010
2 juil. 2010 à 15:17
merci jack j'ai fait ma table et tout et tout et une requete de jointure entre les 2.. bref génial de pouvoir mettre une piece jointe dans ma table!!!!
je peux pas voir le resultat encore car j'ai un pb d'accès a la base à cause des différences de version mais je pense me débrouiller..........; ou pas...............; :p
en tout cas un grand MERCI por ton aide j'espere que ça va marcher!!
a bientot et bon week end!!!
Nico
0
Rejoignez-nous