Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/08/2011, 16h00   #1
Invité de passage
 
Inscription : août 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 4
Points : 0
Points : 0
Par défaut Probleme SQL 2 lignes en une

Bonjour,

Après avoir retravaillé un fichier, je me retrouve avec des lignes du genre:

Numéro_commande, Num_Client,Nb_Ref1,Nb_Ref2

Le "souci", est que le numéro de commande peut apparaitre plusieurs fois.

ex:

17023, C2223, 1, ,
17023, C2223, , 2

Comment puis-je faire pour que cela apparaisse sous une seule ligne
17023,C2223,1,2

Le nombre de reference pouvant aller jusqu'à une quinzaine, faire autant de requetes prenant en compte toutes les possibilités ne me parait pas etre la bonne solution.

Voici la requête utilisée pour afficher les commandes sont le total des objets est 2 :

Code :
1
2
3
4
SELECT DISTINCT orders_modif.Field1, "S29-2011" AS Semaine, orders_modif.Numero_Membre, orders_modif.Quantite_pieces, orders_modif.Poids, orders_modif.Societe, orders_modif.Client, orders_modif.Adresse1, orders_modif.Adresse2, orders_modif.region, orders_modif.ZIP, orders_modif.Ville, orders_modif.Pays, orders_modif.Phone, orders_modif.Email, orders_modif.Ref_colis, orders_modif.Qty_028, orders_modif.Qty_044, orders_modif.Qty_045, orders_modif.Qty_047, orders_modif.Qty_048, orders_modif.Qty_516, orders_modif.Qty_517, orders_modif.Qty_522
FROM orders_modif
WHERE (((orders_modif.Quantite_pieces)=2))
ORDER BY orders_modif.Quantite_pieces;
Avec ça, les clients ont une ligne pour chaque référence différente..Une idée pour tout mettre sur la même ligne ?


Merci
naiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 10h02   #2
Invité de passage
 
Inscription : août 2011
Messages : 4
Détails du profil
Informations forums :
Inscription : août 2011
Messages : 4
Points : 0
Points : 0
Bon, et bien j'ai trouvé une solution via une macro excel, pour ceux que ca interesse :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub add()
'Recherche de la dernière ligne de la colonne du numéro de commande
  derli = Columns(1).Find("*", , , , , xlPrevious).Row
  ' boucle qui commence à la fin à cause des suppression de cellules
  For i = derli To 2 Step -1
    'Si la valeur de la cellule au dessus est égale à la valeur de la cellule (colonne du numéro de commande) alors
    If Cells(i, 1) = Cells(i - 1, 1) Then
      'on additionne les montants dans les cellules qui ont le même numéro de commande
      Cells(i - 1, 24) = Cells(i - 1, 24) + Cells(i, 24)
      Cells(i - 1, 23) = Cells(i - 1, 23) + Cells(i, 23)
      Cells(i - 1, 22) = Cells(i - 1, 22) + Cells(i, 22)
      Cells(i - 1, 21) = Cells(i - 1, 21) + Cells(i, 21)
      Cells(i - 1, 20) = Cells(i - 1, 20) + Cells(i, 20)
      Cells(i - 1, 19) = Cells(i - 1, 19) + Cells(i, 19)
      Cells(i - 1, 18) = Cells(i - 1, 18) + Cells(i, 18)
      Cells(i - 1, 17) = Cells(i - 1, 17) + Cells(i, 17)
      'on supprime les cellules
      Range(Cells(i, 1), Cells(i, 26)).Delete Shift:=xlUp
    End If
  Next
End Sub
naiku est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/08/2011, 15h37   #3
Membre éclairé
 
Homme Michel
Développeur informatique
Inscription : février 2008
Messages : 262
Détails du profil
Informations personnelles :
Nom : Homme Michel
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : février 2008
Messages : 262
Points : 308
Points : 308
Par défaut Veux bien essayer...

Code :
SELECT Commande, Client, Sum(Ref1) AS Nb_Ref1, Sum(Ref2) AS Nb_Ref2, Sum(Ref3) AS Nb_Ref3, Sum(Ref4) AS Nb_ref4 FROM Table1 GROUP BY Commande, Client
ou alors si tu veux regrouper par commandes...

Code :
SELECT Commande, Sum(Ref1) AS Nb_Ref1, Sum(Ref2) AS Nb_Ref2, Sum(Ref3) AS Nb_Ref3, Sum(Ref4) AS Nb_ref4 FROM Table1 GROUP BY Commande

Dès lors que pour tes Ref, il s'agit d'un nombre ... rien n'empêche me semble-t-il de les ajouter.

Michel
Orion34080 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h10.


 
 
 
 
Partenaires

Hébergement Web