Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
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 28/02/2011, 12h34   #1
Invité régulier
 
Inscription : avril 2010
Messages : 45
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 45
Points : 6
Points : 6
Par défaut Requête sélection et affectation automatique

Bonjour,

J'ai une liste de produits qui peuvent se trouver à plusieurs emplacements, A, B ou C.
Quand un produit est utilisé souvent, ce que l'on fait c'est que l'on va masquer et FERMER les emplacements A et B par exemple et ne laisser que C OUVERT : ainsi, on dit que le produit est triple, l'adresse de prélèvement sera C mais le produit sera présent dans A, B et C à la fois pour s'assurer qu'il y ait toujours des produits de dispo quand ils sont populaires.

A partir d'une requête, je peux obtenir la liste des emplacements masqués, exemple :

-Produit 1 : A/B
-Produit 2 : B/C
...

L'objectif : c'est de créer une requête qui permettrait à partir de la liste ci-dessus d'affecter automatiquement le statut OUVERT ou FERMER en fonction des données.

En reprenant l'exemple ci-dessus, voici la démarche :

-Produit 1 : A/B ==> A et B fermés / C ouvert
-Produit 2 : B/C ==> B et C fermés / A ouvert
...

Comment procéder ?

Merci d'avance
Stoo69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/02/2011, 21h00   #2
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 242
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 242
Points : 11 037
Points : 11 037
Bonjour,

J’essayerais volontiers de t’aider si je comprenais le problème.

Peux-tu afficher ta table avec quelques données concrètes et un exemple de ce que tu veux.
ClaudeLELOUP est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 19h43   #3
Membre Expert
 
Inscription : mars 2006
Messages : 1 331
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 1 331
Points : 1 460
Points : 1 460
Bonsoir,

Il est possible de commencer par le statut ouvert qui correspond au max. Dans un module :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Public Function fMax(ParamArray abc() As Variant)
    Dim lgDonnees As Long
    Dim varOuvert
 
    For lgDonnees = 0 To UBound(abc())
        If IsEmpty(varOuvert) Or IsNull(varOuvert) Or IsMissing(varOuvert) Then
            varOuvert = abc(lgDonnees)
        End If
        If IsMissing(abc(lgDonnees)) = False _
            And IsNull(abc(lgDonnees)) = False _
            And IsNumeric(abc(lgDonnees)) Then
            If abc(lgDonnees) > varOuvert Then varOuvert = abc(lgDonnees)
        End If
    Next lgDonnees
 
    fMax = varOuvert
 
End Function
Ce qui permet un bon début pour travailler dans une requête genre :
Code :
1
2
3
SELECT A, B, C, 
fMax([A],[B],[C]) AS Ouvert
FROM Tatable
Cordialement.
__________________
Questions techniques par MP
Le peu que je sais, c'est à mon ignorance que je le dois.
...............................................................................Sacha Guitry
francishop est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h13.


 
 
 
 
Partenaires

Hébergement Web