[Catégorie modifiée VB6 --> VBA] insertion automatique d'un logo

[Résolu]
Signaler
Messages postés
50
Date d'inscription
mardi 22 juin 2010
Statut
Membre
Dernière intervention
17 septembre 2010
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
bonjour, je vous contacte car je me dépatouille pas de mon probleme.
je bosse dans une papeterie et pour chaque commande (ordres de fabrication ici) j'ai une norme (suivant les conventions internationales)
qui peut avoir 3 valeurs(dont la valeur sans norme) . En fait cette norme est choisie dans un groupe d 'options qui attribue une valeur numérique dans la table commande (1,2 ou 3) . le but est d'avoir un champ auto dans mon etat imprimable de chaque commande et d'afficher la norme ainsi que le logo correspondant a la commande.
Pour ceci j'ai fait une table norme avec le numero, le libellé et le logo(en piece jointe)
et dans mon etat (le champ norme) j'ai fait ma requete suivante :

Select [Ordres de fabrication].Norme, [Norme].TextNorme, [Norme].Logo
FROM Ordres de fabrication
INNER JOIN Norme
ON [Ordres de fabrication].Norme.Value=[Norme].NumNorme;

je pense avoir une erreur de syntaxe et surtout je ne sais pas de quelle manière je peux afficher le logo de la norme. comment puis je faire pour avoir la norme de la comande concernée? dois je faire une jointure aussi pour le numero de commandes?

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Catégorie : merci d'y faire attention la prochaine fois.

Avant de chercher des solutions au programme, commence par résoudre ton problème d'aide, c'est primordial.

Ta requète semble correcte. Je ne suis pas familier des méthodes propres à Access avec son INNER JOIN. Par contre, ce qui me saute aux yeux :
Tu demandes à la requète de te ressortir des champs appartenant à deux tables, [Ordres de fabrication] et [Norme], mais je n'en vois que la première après le FROM : est-ce normal ? (peut-être inutile avec INNER ?)
Mais à vérifier.

S'il manque un nom de table, SQL doit bien te donner une erreur, non ?
Parce que là, on ne sait pas ce qui ne te plait pas.
Un peu comme avec l'enregistreur de macro de Excel, Access a un 'truc' pratique :
Tu demandes à créer une nouvelle requète en mode Creéation.
Tu sélectionnes les tables et tu listes les champs dont tu as besoin
Tu fais les jointures
Tu vérifies que cela fonctionne comme tu le veux et ensuite, tu fais un clic-droit sur le bandeau bleu du titre du générateur de requète et tu choisis "Mode SQL"
Tu auras ainsi la syntaxe exacte de ce que tu viens de créer.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
78
Salut

Et tu bosses en VB6 maintenant ?

Logo = image : As-tu recherché des exemples parmi les codes du site, avec cette recherche "access image champ" par exemple ?

De quel type est ton champ "logo" de ta table "norme" ?

Pourquoi ne pas avoir mis de crochet [ et ] au nom de ta table dans le From ? Je pense que le moteur SQL ne doit pas aimer !

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)
Messages postés
50
Date d'inscription
mardi 22 juin 2010
Statut
Membre
Dernière intervention
17 septembre 2010

salut jack !! et oui j'ai deja besoin de tes services kkkk
je suis toujours en access 2007 mais j'ai pas trouvé mon bonheur dans la liste c'est pour ça..
en fait j'ai un gros probleme de versions en ce moment donc je n'ai pas accès à l'aide....
cette requete a pour but d'afficher pour la commande désirée le libéllé de la norme (et non pas le numero que renvoit le groupe d'options ) ainsi que le logo(ou image) correspondante.
ce logo se trouve dans ma table "norme" (NumNorme, TextNorme, Logo); il est de type "bmp"
comment puis je seulement afficher la norme de la commande choisie car cette requete va m'afficher toutes les commandes de la table ?
donc j'ai ajouté cela :
Select [Ordres de fabrication].Norme, [Norme].TextNorme, [Norme].Logo
FROM [Ordres de fabrication]
INNER JOIN Norme
ON [Ordres de fabrication].Norme.Value=[Norme].NumNorme
WHERE [Ordres de fabrication].NumOF=[Forms]![SaisieOF].NumOF

j'espere que tu comprends a peu pres mon charabiat... :p
merci pour ton aide