Hoe verwijder je een record in een formulier gebaseerd op query

Status
Niet open voor verdere reacties.

hausi

Gebruiker
Lid geworden
17 jan 2010
Berichten
84
Hallo experts,

Ik heb een formulier gebaseerd op een selectquery. Het formulier is bedoeld om me de resultaten te laten zien van de query maar ik wil bepaalde records (of rijen) kunnen verwijderen.
Om het een beetje minder abstract te maken, in mijn recepten database selecteer ik een aantal recepten. Alle ingrediënten van de geselecteerde recepten worden middels een query berekend en gegroepeerd .
Deze resultaten worden op het genoemde formulier gepresenteerd en vormen zo een boodschappenlijst. Maar natuurlijk heb ik een aantal ingrediënten al in huis en die wil ik dus uit het formulier verwijderen en dan
als een rapport (met het formulier als recordbron) afdrukken.
"DoCmd.RunCommand acCmdDeleteRecord" werkt dan uiteraard niet. Hoe los ik dit op of is er een meer voor de hand liggende manier om dit te doen?

Bedankt voor het meedenken,
Hans
 
Laatst bewerkt:
Een recept bevat ingrediënten, en die heb je altijd nodig, of je ze in huis hebt of niet. Je kunt pas aan de slag als je alles voor je neus hebt staan, dus als er spullen ontbreken moet je die kopen. Daar maak je een boodschappenbriefje voor. Dat is dus niet hetzelfde als een ingrediëntenlijst, want de boodschappenlijst is afhankelijk van de voorraad. Ik denk dus dat je een aparte query nodig hebt die is gebaseerd op je voorraad tabel. En daar rolt dan vanzelf uit welke spullen je nog nodig hebt. En die zet je in je rapport.
 
Hoi Mies,

Een recept bevat inderdaad ingrediënten en die die staan in de tabel ReceptIngrediënten met een relatie naar de ID van de tabel Recepten.
Als ik nu een aantal recepten heb geselecteerd dan zorgt een query ervoor dat al die ingrediënten worden opgesomd.
Als er meerdere keren knoflook voorkomt dan wordt dat ingrediënt gegroepeerd en de hoeveelheid bij elkaar opgeteld zodat in de gepresenteerde lijst maar 1 keer knoflook voorkomt.
Dat is voor mij de opzet van een boodschappenlijst.
Die query-resultaten worden gepresenteerd in een formulier, er bestaat geen tabel van dus ook geen records en je kunt dus ook geen records verwijderen.
Toch moet ik die data kunnen verwijderen want knoflook heb ik al in huis, dus.... uit de boodschappenlijst.
Een voorraadtabel ga ik beter niet onderhouden want die verandert te vaak.

Ik heb het volgende bedacht:
De selectiequery heb ik gewijzigd in een tabel maakquery en deze tabel is de recordbron van het boodschappenformulier. Nu kan ik wel records verwijderen.
De tabel wordt bij uitvoering van de query telkens verwijderd en opnieuw aangemaakt want nadat de boodschappenlijst is aangemaakt is de tabel niet meer nodig.
Ik moet nog wel de waarschuwingen onderdrukken die komen als je de query opnieuw uitvoert.

Of heb jij betere ideeën, ik sta er altijd voor open.


Groeten,
Hans
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan