Problème de syntaxe dans une requête sur Access
Résolu
renan.michel
-
tessel75 -
tessel75 -
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
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
A voir également:
- Problème de syntaxe dans une requête sur Access
- Acer quick access - Forum Logiciels
- Access appdata - Guide
- Exemple base de données access à télécharger gratuit ✓ - Forum Logiciels
- Exemple de base de données access - Forum Access
- Syntaxe precise - Forum Mail
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.
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.