• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

MS Query / Excel: Oude voorraad uitfilteren

Status
Niet open voor verdere reacties.

bugattibuilder

Nieuwe gebruiker
Lid geworden
16 jan 2008
Berichten
4
We werken met Multivers / Unit 4, en de database daarvan kan dmv een ODBC koppeling ingelezen worden. (een woud aan tabellen...)

Nu wil ik een overzicht maken van de artikelen, welke nog wel op voorraad staan, maar al een bepaalde tijd niet meer ingekocht zijn.

Wat ik dacht te doen, is het maken van een lijst, waarin:

artikelnummer - omschrijving - voorraad - voorraadwaarde - datum laatste inkoop

Daarna de records uitfilteren, waarvan de laatste inkoop bijv een jaar geleden is.

Ik kom echter niet verder dan een lijst, waarin alle inkopen genoemd worden.

Hoe zou ik uit die lijst alleen de rijen kunnen selecteren, die de meest recente datum bevatten? Dan kan ik er daarna een filter op loslaten, wat de recente inkopen verwijdert.
 
Wat is er mis met de antwoorden die je hier gekregen hebt?

Willem
 
Daar is niets mis mee, maar zoals ik daar aangaf, blijf ik problemen houden met de implementatie van de SQL query.
Ik krijg de query niet opgebouwd zoals het hoort, of MS Query weigert de query te accepteren, of een combinatie van beide.

Op dat forum krijg ik op het probleem geen antwoorden meer, dus hoop ik met een nieuwe, iets andere omschrijving wellicht iemand te vinden met wellicht een heel andere kijk op de zaak / oplossing.
 
Zal ik hier verder reageren of ginder opnieuw gaan posten?

Anyway, ik heb een beetje getest met volgende opzet.


Opzet: tabel met 3 velden: ProductID, Aankoopdatum, Voorraad
Het veld voorraad geeft de voorraad weer nadat aangekocht is op die datum. Om nu de laatste aankoopdatum voor elk product te krijgen en zijn op dat moment overeenkomstige voorraad, kan je volgend SQL statement gebruiken in MS-Query:

Code:
SELECT Data.ProductID, Data.Aankoopdatum, Data.Voorraad
FROM Data, (SELECT max(data.aankoopdatum) as maxdate, productID FROM data GROUP BY productID) maxdata
WHERE data.productID=maxdata.productId AND data.aankoopdatum=maxdata.maxdate;

Zoals ik al eerder aangaf is het een hele tijd geleden dat in nog "serieus" met SQL heb gewerkt, dus misschien kan het nog eenvoudiger. Maar dit werkt in mijn testbestand.

Nu is het aan jou om dit te vertalen naar jouw situatie. Moest het nog niet lukken, horen we het wel.
 
Dit ga ik naar mijn situatie vertalen, en toepassen. Heel hartelijk bedankt. Ik hoop dat ik spoedig kan melden dat het gelukt is.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan