Problème de syntaxe dans une requête sur Access

Résolu/Fermé
renan.michel - 15 févr. 2013 à 13:56
 tessel75 - 15 févr. 2013 à 15:01
Bonjour,
Je travaille actuellement sur access pour tenter d'optimiser le traitement d'un tableau de donnée. Et je suis bloqué par un problème que je pense être de syntaxe, mais je n'arrive pas à voir où est l'erreur depuis ce matin. Voilà mon problème pour ceux qui auraient la gentillesse de s'y intéresser.

J'effectue une requête à partir de trois table de données, parmi lesquelles est "ImportDonnées" qui contient le champ "Volume m3" qui est le volume occupé par un produit. Je cherche à construire un champ contenant le nombre de containers nécessaire sur chaque enregistrement. Pour cela j'utilise la requête suivante avec création de table:

Champ: ImportDonnées.* Nb containers: [Volume m3]/54

Table: ImportDonnées

Tri:

Afficher: V V

Critère:

Ou:


54 étant bien entendu le volume d'un container.
Et le soucis c'est que lorsque j'exécute, la requête me demande la valeur du paramètre "Volume m3". J'ai aussi essayé avec un: "Nb containers: [ImportDonnées].[Volume m3]/54". Ça ne fonctionne pas mieux.

Je serai très reconnaissant si quelqu'un pouvait m'aider là-dessus.
Bonne journée à vous, merci

2 réponses

Bonjour,
Pour ces calculs, il faut sortir du groupe représenté par "*" les champs nécessaires au calcul (ici [VolumeM3]) et les rendre visible (en mode Création de requête cocher case "Afficher") parce que Access ne les reconnait pas, et créer le champs du calcul.

Précaution 1 ) le champ VolumeM3 va être doublé, donc lui donner un autre nom: par ex [VolM3] : [VolumeM3] , la formule du champ calculé sera donc [NbContainers]: [VolM3]/54
Precaution 2 ) Proscrire les espaces dans les noms d'objets si vous voulez que votre base reste stable. Préférer "VolumeM3" à "Volume m3" et [NbContainers] à [Nb containers]. Cela permet en outre de pouvoir se passer des crochets dans la syntaxe VBA.

Précaution 3 ) Pourquoi créer une table? Il faut toujours limiter la quantité de données stockées, et donc préférer les calculs séquentiels qu'Access effectue sans difficulté.
Bonne suite.
2
Merci beaucoup une fois de plus Tessel75 pour la réponse, les conseils et la rapidité avec laquelle tu me réponds.
Bonne journée
0
De rien, il se trouve que j'étais là.
0