Requête : Générer plusieurs enregistrements selon la valeur d'un champ.

Fermé
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 - 6 mars 2019 à 20:09
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 - 18 avril 2019 à 10:10
Bonjour,

Nous avons une BD qui liste les commandes des clients, et pour chaque enregistrement, il y a le nombre de boite reçue.

Nous avons un état qui permet l'impression d'étiquette pour chaque commande, mais nous devons imprimer plusieurs fois la même page s'il y a plusieurs boites.

Si par exemple, nous avons les enregistrements suivant :
commande A125 qui contient 3 boites
commande B126 qui contient 2 boites

Nous aimerions avoir une requête qui retourne
CMD Boite
A125 1
A125 2
A125 3
B126 1
B125 2

Avec cette requête, nous allons pouvoir générer une page par boite au lieu d'une page par commande et devoir modifier à chaque fois la quantité à imprimer..

Donc, comment peut-on avoir un enregistrement "dupliqué" selon la valeur d'un champ.

Merci

3 réponses

jee pee Messages postés 40579 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 21 décembre 2024 9 460
6 mars 2019 à 22:27
Bonjour,

Plutôt qu'en sql, il faudrait le faire dans un langage procédural (du plsql par exemple avec Oracle). Je ne sais pas ce qui existe avec Access.

En sql pur (façon de parler) on pourrait imaginer un artifice :

select cmd, 1 from table where boite =1
union
select cmd, 2 from table where boite >1
union
select cmd, 3 from table where boite >2
...
union
select cmd, 20 from table where boite >19

0
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
Modifié le 7 mars 2019 à 14:53
Re-Bonjour,

J'aide une collègue, je n'ai pas accès direct aux données.

Les 2 options que j'entrevois pour elle:
- à l'entrée des commandes, boucler selon le nombre de boite et créer dans une table bidon des enregistrements selon le nombre de boite, ces enregistrements vont être inutiles jusqu'à temps qu'on termine la commande et imprime les étiquettes.
- Ou faire la même chose au moment de l'impression des étiquettes pour immédiatement les supprimer après.

Je me demandais si un peu comme Jee Pee le suggère, il était possible de le faire au niveau de la requête. Changer de BD n'est évidemment pas une option.

Pour résumer, en ce moment, on génère un état, basé sur une requête qui fait une page par commande;
il faudrait plutôt faire, pour chaque commande, une page par boite.
Mais les boites n'ont pas d'enregistrement distinct, c'est seulement une valeur dans un champ.

Merci
0
castours Messages postés 2955 Date d'inscription lundi 18 septembre 2006 Statut Membre Dernière intervention 31 août 2019 217
18 avril 2019 à 10:10
bonjour peux tu mettre ta base compressée dans un lien avec ci joint
0