Actiequery
Er zijn vier verschillende soorten actiequeries, die elk een eigen functie hebben:
De eerste drie varianten worden vooral gebruikt bij het opschonen van tabellen, waarbij men overtollige records afvoert. De meest eenvoudige vorm is om een delete query toe te passen, waardoor die records gewoon verdwijnen. Men kan er ook voor kiezen om alles wat men gaat verwijderen eerst in een verzameltabel met alle ooit verwijderde gegevens op te slaan. In dat geval zal men eerst een append query naar de verzameltabel uitvoeren en vervolgens pas een delete query op de oorspronkelijke tabel loslaten. Tenslotte is het mogelijk dat men van tijd tot tijd de inhoud van een bepaalde tabel wenst vast te leggen om die als een historie later te kunnen raadplegen. Men kan dan een kopie van de tabel maken, maar als men slechts belangstelling heeft voor een aantal velden binnen de tabel, of als het om een combinatie van gegevens uit verschillende tabellen gaat, kan men ook voor een make table query kiezen.
De algemeen gehanteerde werkwijze bij actiequeries is om te beginnen met een selectiequery. Die wordt een keertje uitgevoerd om te controleren of men de juiste selectiecriteria heeft gehanteerd. Als in het query resultaat records worden getoond die men niet via de actiequery wil laten verwerken, weet men dat de gebruikte criteria nog moeten worden verbeterd.
Als de selectiequery uiteindelijk precies de gewenste records oplevert, klikt men met de rechtermuisknop op de query, kiest voor 'design view' en verandert men, via de eigenschappen, het query type. Afhankelijk van het type dat men kiest, verschijnen er dan nog schermen met aanvullende vragen en/of wordt het selectiegrid met nieuwe regels uitgebreid.
Make table query
Met een make table query plaatst men een queryresultaat in een nieuwe tabel. Zo'n nieuwe tabel heeft nog geen sleutel en de velden in de tabel erven alleen het veldtype en de veldlengte van de velden in de oorspronkelijke bestanden. Na het ontstaan van de nieuwe tabel is het dan ook zaak om op te geven wat de sleutel moet worden en om eventueel de eigenschappen van de velden te herzien.
Een make table query wordt bijvoorbeeld gebruikt als men de historie van een jaar in een aparte tabel wil opslaan. Men maakt dan eerst een selectie query om alle records van dat jaar op te sporen en na controle van het resultaat verandert men de query in een make table query. Let wel op de volgende zaken:
Delete query
Normaal gesproken verwijdert men per delete query records uit één tabel. Het is alleen mogelijk om meerdere tabellen te gebruiken als die tabellen een 1:1 relatie hebben. Als men een query bouwt waarin de tabellen een 1:n relatie hebben, kan men wel gegevens verwijderen uit de n-tabel, maar niet uit de 1-tabel. Denk bijvoorbeeld aan een tabel met orderkopgegevens en een tabel met orderregelgegevens. Bij één orderkop kunnen meerdere orderregels behoren. Binnen een delete query kan men wel regels verwijderen, maar geen kop. Om gegevens uit de koptabel weg te gooien, gebruikt men naderhand een tweede delete query.
Append query
Met een append query kan men niet alleen geselecteerde records aan een tabel met een overeenkomstige indeling toevoegen. De records kunnen namelijk ook worden toegevoegd aan een tabel met een indeling die afwijkt van de oorspronkelijke tabel. Dit maakt het mogelijk om records uit meerdere tabellen te verzamelen in een nieuwe tabel. Dit is iets heel anders dan het gebruikelijke koppelen van tabelgegevens in een query, zoals bijvoorbeeld het koppelen van een artikelomschrijving uit een tabel met artikelstamgegevens aan een artikelnummer uit een statistiektabel. Bij zo'n koppeling worden gegevens samengevoegd in één record. Bij het verzamelen van records uit meerdere tabellen worden de gegevens van die tabellen niet in in één record samengevoegd, maar krijgt elk record een eigen plek in de nieuwe tabel. Stel bijvoorbeeld dat men een tabel met inkoophistorie heeft en een tabel met verkoophistorie en die twee graag zou willen combineren tot een tabel met voorraadveranderingen gesorteerd op artikel en week. In zo'n geval biedt een append query uitkomst. Elders is een praktijkvoorbeeld uitgewerkt.
Update query
Bij een update query heeft de uit te voeren actie geen betrekking op een heel record, maar op één of meer velden. Een update query kan men bijvoorbeeld gebruiken om prijzen met een opgegeven percentage te verhogen. Als men bij een poging tot update een melding krijgt dat er records door een andere gebruiker gelocked zijn, is het aan te raden om de query af te breken. Als men de query namelijk laat uitvoeren, is naderhand moeilijk te achterhalen welke records niet zijn herzien.
| Menu |