Filteren op basis van meerdere rijen en kolommen

Status
Niet open voor verdere reacties.

Stephan1188

Gebruiker
Lid geworden
1 mei 2014
Berichten
7
Beste Allemaal,

Als MS Access dummy zit ik met een probleem waar ik tot op heden nog geen oplossing voor heb kunnen vinden. Hopelijk is iemand in staat om mij te helpen.

Het betreft het volgende. Ik heb een dataset van +/- 600.000 records met inkoopinformatie (Tenders). Echter wil ik niet alle tenders gebruiken, alleen die waarin het land van herkomst van de leveranciers voldoet aan bepaalde criteria (<=100).

De data ziet er als volgt uit:

Sourcing_Nr Part_Nr Supplier_Code
xxxxxxx 1 100
xxxxxxx 1 96
xxxxxxx 2 100
xxxxxxx 2 100

yyyyyyy 3 100
yyyyyyy 3 104
yyyyyyy 3 105

cccccccc 4 98
cccccccc 4 100
cccccccc 5 88
cccccccc 5 92

Nu wil ik het volgende doen: Ik ben alleen geinteresseerd in die Tenders waarin de Supplier_Code kleiner of gelijk is aan 100. Oftewel, tenders met alleen suppliers die een code van 100 of hoger hebben wil ik eruit filteren. Echter wil ik dit op basis doen van een tweetal kolommen.

In het bovenstaande voorbeeld heeft de tender met "yyyyyy" alleen maar leveranciers met een code van 100 of hoger. Wat ik nu wil is dat alle records "yyyyy" eruit gefilterd worden, ook al is er maar 100 of hoger.

Hoe kan ik ervoor zorgen dat Access alle records (met hetzelfde Nr) in kolom 1 als groep behandelt en dat als binnen deze groep er een niet voldoet aan mijn criteria (in kolom 3), alle records van de groep eruit gehaald worden..

Hopelijk is er iemand die mij hierbij kan helpen!
 
Zo'n lang verhaal, en toch zo onduidelijk! Het filterprobleem is heel simpel op te lossen met een criterium op Supplier_Code. Daar zet je dan <=100 in. Dan zie je alle suppliers van 100 of kleiner. Het tweede deel snap ik dus niet helemaal, maar ik vermoed dat je, ondanks dat je alle suppliers wil zien t/m 100, je toch níet alle suppliers wil zien t/m 100... Da's in een contradictio in terminis wat mij betreft. Maar je zou eventueel een extra veld kunnen maken met de functie DCount op het veld Supplier_Code, waarbij je het criterium maakt op basis van Sourcing_Nr en Supplier_Code <100. Dan telt hij alle codes op per Sourcing_NR die kleiner zijn dan 100. Daar zou bij "yyyyyy" dan 0 moeten staan, en bij de rest een waarde. Dat veld filter je dan op >0, en dan zou "yyyyyy" er alsnog uit moeten vallen.
 
Kleine aanvulling nog: Die DCount formule die je gebruikt om te filteren (de andere heb je dan niet nodig) ziet er zo uit:
Code:
Expr1: DCount("[Sourcing_Nr]";"[Blad1]";"Sourcing_Nr = '" & [Sourcing_Nr] & "' AND [Supplier_Code] <100")
En als criterium zet je dan >0.
 
Beste OctaFisch,

Bedankt voor je reactie. Je hebt helemaal gelijk, het is een onduidelijk verhaal. Desalniettemin ben ik blij met je reactie en dit heeft me weer op een nieuwe weg gezet. Echter heb ik nog een vraag omtrent de DCount functie.

Voor de duidelijkheid: ik ben niet geinteresseerd in groepen leveranciers die allemaal een LBI hebben van 100 of hoger. Ik heb nu de volgende DCount functie (werkzaam):

Expr1: DCount("[Sourcing_Nr]";"[Table2]";"[Sourcing_Nr] = '" & [Sourcing_Nr] & "' AND [Supplier_LBI] <100")

Echter zou ik hier graag nog een criteria aan toevoegen. Het is namelijk mogelijk dat er in 1 tender, meerde producten(nummers) zitten, dus zou ik hier ook op willen selecteren. Zie het voorbeeld bovenaan: in de groep "xxxxx" worden 2 type producten vergeven (1 en 2). Echter doen er bij 2 alleen leveranciers met een code van 100 of hoger mee. Deze wil ik er, als dat gaat, ook uit filteren. Ik heb de volgende DCount opgesteld.

Expr1: DCount("[Sourcing_Nr]";"[Table2]";"[Sourcing_Nr] = '" & [Sourcing_Nr] & "' AND [Part_Nr] = '" & [Part_Nr] & "' AND [Supplier_LBI] <100")

Helaas krijg ik hier een error.. Heb jij een idee waar het hier fout gaat?

Alvast bedankt!
 
Ik snap niet wat je bedoelt. "xxxxxx" is toch één leverancier? Maak voorbeelden die met bruikbare gegevens duidelijk maken wat je bedoelt, want zo kan ik er niks mee.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan