De oplossing hangt een beetje van de inrichting van de database af. Om een prijsvergelijking te kunnen maken heb je minstens drie tabellen nodig, die je aan elkaar koppelt met Relaties.
Ik geef een klein opzetje, om het voorbeeld te demonstreren.
De velden in cursief zijn de sleutelvelden.
tblLeverancier
LeverancierID
LeverancierNaam
LeverancierAdres
etc.
tblProdukten
ProduktID
ProduktNaam
ProduktGroep
MinVoorraad
etc.
tblLeverancier_Produkt
le_LeverancierID
pr_ProduktID
Prijs
Via Relaties maak je een koppeling tussen deze tabellen, waarbij je het veld [LeverancierID] koppelt aan [le_LeverancierID] en [ProduktID] aan [pr_ProduktID] waarna je de hoofdtabellen vult met leveranciers en produkten en vervolgens in de Koppeltabel [tblLeverancier_Produkt] een [le_LeverancierID], [pr_ProduktID] en [Prijs] invult.
Op basis van deze tabellen en gegevens kun je nu een Query maken om van elk produkt de goedkoopste leverancier te vinden, of, als je dat handig vindt, van elk produkt de 5 goedkoopste leveranciers.
Eerst maar de eerste variant, want die is vrij makkelijk.
Je maakt dus een query, waarbij je alle drie de tabellen toevoegt aan de query. Van de tabel [tblLeverancier_Produkt] neem je het veld [le_LeverancierID], [pr_ProduktID] en Prijs en van de tabel [tblLeverancier] neem je bijvoorbeeld het veld [LeverancierNaam] en van de tabel [tblProdukt] tenslotte het veld [ProduktNaam]. Daarna klik je op de knop Totalen. Je krijgt nu een extra regel in de query, waarbij voor elk veld de optie <Group By> is geselecteerd. Dit houdt in, dat elke unieke combinatie van velden één record wordt getoond. Omdat je niet alle prijzen wilt zien, maar de laagste, verander je de optie bij het veld [Prijs] naar Min, waarna je de query kunt uitvoeren. In deze opzet zie je nu één Leverancier, en wel degene die voor het getoonde produkt de laagste prijs hanteert.