Verschonen van rapport na verzending

Status
Niet open voor verdere reacties.

gangstalaz

Gebruiker
Lid geworden
13 sep 2010
Berichten
131
Hallo!

Ik werk met een access 2003 en heb een formulier waar ik verschillende leveranciers, artikelen etc. in kan voeren. Deze krijg ik daarna opgeslagen in een rapport en krijg ik het rapport ook verzonden.
Nu wil ik dat het rapport na iedere verzending weer clean is. Zodat ik niet iedere keer dezelfde producten terug krijg. Hoe krijg ik dit?
Want deze worden alsmaar toegevoegt aan het huidige rapport.
Voor een verduidelijking geef ik een voorbeeldje:

Bestelling 1:
- Handschoenen
- Brillen
Bestelling 2:
- Handschoenen
- Brillen
- Boormachine
Bestelling 3:
- Handschoenen
- Brillen
- Boormachine
- Afbraamschijf

Alvast bedankt!
 
Laatst bewerkt:
Dat mag je nog een keer uitleggen! Een rapport is normaal gesproken gebaseerd op een tabel/query, en bevat dus de gegevens uit de onderliggende recordset. Eventueel filter je nog m.b.v. een formulier, maar er zal altijd iets inzitten, tenzij de tabel of query leeg is.
 
Dat mag je nog een keer uitleggen! Een rapport is normaal gesproken gebaseerd op een tabel/query, en bevat dus de gegevens uit de onderliggende recordset. Eventueel filter je nog m.b.v. een formulier, maar er zal altijd iets inzitten, tenzij de tabel of query leeg is.

De gegevens worden opgeslagen in de tabel LEVERANCIERS en ook in Q_Bestel.
Dus eigenlijk is het de bedoeling dat de tabel LEVERANCIERS en Q_Bestel leeg zijn na verzending van bestelling. Dan zal het rapport ook leeg zijn.
 
Laatst bewerkt:
Ik denk dat er een hoop mensen met gefronste wenkbrauwen naar je laatste opmerking hebben gekeken; het lijkt mij toch niet de bedoeling dat je de tabel Leveranciers leegmaakt? Hoe moet je de volgende keer dan een bestelling maken? Je blijft dan je leveranciersgegevens elke keer opnieuw inkloppen! Of zie ik dat vekeerd?
Ik kan me wel voorstellen dat je de query voor het rapport baseert op een query qBestel, waarbij je filtert op reeds afgedrukte bestelbonnen. Bon afgedrukt, checkbock Geprint aanvinken, en rapport verdwijnt uit de lijst. Of zoiets.
Maar dan nog: als je een lege recordset hebt voor een rapport, omdat er geen records in de query zitten, dan krijg je op je rapport foutmeldingen, die je ook niet wilt zien. Meestal wordt dan ook het tonen/afdrukken van een leeg rapport afgevangen met een Msgbox, waarin je de gebruiker meedeelt dat er deze keer geen records zijn.
 
Ik denk dat er een hoop mensen met gefronste wenkbrauwen naar je laatste opmerking hebben gekeken; het lijkt mij toch niet de bedoeling dat je de tabel Leveranciers leegmaakt? Hoe moet je de volgende keer dan een bestelling maken? Je blijft dan je leveranciersgegevens elke keer opnieuw inkloppen! Of zie ik dat vekeerd?
Ik kan me wel voorstellen dat je de query voor het rapport baseert op een query qBestel, waarbij je filtert op reeds afgedrukte bestelbonnen. Bon afgedrukt, checkbock Geprint aanvinken, en rapport verdwijnt uit de lijst. Of zoiets.
Maar dan nog: als je een lege recordset hebt voor een rapport, omdat er geen records in de query zitten, dan krijg je op je rapport foutmeldingen, die je ook niet wilt zien. Meestal wordt dan ook het tonen/afdrukken van een leeg rapport afgevangen met een Msgbox, waarin je de gebruiker meedeelt dat er deze keer geen records zijn.

Yep je hebt helemaal gelijk. Op DIT MOMENT worden ze allemaal ingeklopt ja.
Eigenlijk hoort het helemaal niet zo te zijn.
Ik heb een tabel LEVERANCIER waar alle informatie instaat en een tabel LEVERANCIERS plus Q_Bestel (Query) waar alle ingevulde formulieren inkomen.
In de tabel LEVERANCIER staan alle leveranciers, artikelen, prijzen etc in.
Deze KAN ik in het formulier tervoorschijn halen. Dus hoef je ook niet alles in te voeren. Keuzelijst met invoervak inzetten (gebaseerd op artikelen) en alle velden worden automatisch ingevuld.
Alleen DAN krijg ik het probleem dat ik deze niet in de tabel LEVERANCIERS krijg.
Dus eigenlijk moet ik dan een opdrachtknop hebben om de geselecteerde artikel te kopieren naar tabel LEVERANCIERS. Maar ik zie aan de onderkant van de formulier wel staan dat het 1 van 872 is. Dus het is niet de bedoeling dat ze allemaal naar tabel LEVERANCIERS gaan.

Dus kort gezegd. Ik wil de tabel LEVERANCIERS gebruiken als een tijdelijke opslagplek. En wil dat de gegevens hiervoor uit de tabel LEVERANCIER gehaald worden.
Als je mij eerst daarmee kan helpen. Daarna dat we gaan kijken of we zo'n tabel schoon kunnen krijgen.
 
Laatst bewerkt:
Met de oplossingsrichting die je zoekt zit je geheel op het verkeerde spoor.
Wat je lijkt te willen is het volgende

- je maakt een bestelling
- die bestelling geef je weer op een rapport
- rapport verstuur je
- je maakt een nieuwe bestelling
- die bestelling geef je weer op een rapport
- rapport verstuur

Enzovoorts.

Je oplossing ligt erin om je bestellingen vast te leggen.
Dat doe je door 2 tabellen te gebruiken:

- een tabel tblBestelling (hierin zet je de kopregel, leverencier, bestedatum, ...)
- een tabel tblBestelregel (hierin zet je het bestelde artikel, aantal, prijs,...)

Kortom, je oplossing moet je vormgeven door eerst je gegevensstructuur netjes op te zetten.

Tardis
 
Ik ben nu lichtelijk :confused:...
Je hebt een tabel Leveranciers, en een tabel Leverancier? En je vindt dat niet verwarrend??? Als ik het zo lees, dan is de tabel Leveranciers eigenlijk de tabel Bestellingen, Orders, desnoods Leveranties. Doe jezelf een lol, en pas dat zo snel mogelijk aan, want geheid dat daar ooit iemand de verkeerde tabel gaat leeggooien...

Om het verhaal voor iedereen begrijpelijk te houden, heb ik het nu dus maar even over de tabel [tLeveranciers] (met de leveranciersgegevens) en de tabel [tBestellingen], met daarin de bestelgegevens. Voor de tabel [tBestellingen] heb je een formulier met de velden uit de tabel [tBestellingen], neem ik maar even aan voor het gemak. Op dat formulier maak je inderdaad een keuzelijst op basis van het veld [LeveranciersID] uit de tabel [tLeveranciers], die dus in de tabel [tBestellingen] wordt opgeslagen in het veld [LeveranciersID]. En zo zijn die twee tabellen aan elkaar gekoppeld.
Tabellen hoef je, als je het goed doet, zelden leeg te maken. Ik gebruik nog wel eens tijdelijke tabellen voor samenvoegen met Word, maar daar houdt het wel zo'n beetje op. Gebruik datum- of selectievakjes, of keuzelijsten om de Status van een bestelling aan te geven, en filter hier je rapport op.
 
Met de oplossingsrichting die je zoekt zit je geheel op het verkeerde spoor.
Wat je lijkt te willen is het volgende

- je maakt een bestelling
- die bestelling geef je weer op een rapport
- rapport verstuur je
- je maakt een nieuwe bestelling
- die bestelling geef je weer op een rapport
- rapport verstuur

Enzovoorts.

Je oplossing ligt erin om je bestellingen vast te leggen.
Dat doe je door 2 tabellen te gebruiken:

- een tabel tblBestelling (hierin zet je de kopregel, leverencier, bestedatum, ...)
- een tabel tblBestelregel (hierin zet je het bestelde artikel, aantal, prijs,...)

Kortom, je oplossing moet je vormgeven door eerst je gegevensstructuur netjes op te zetten.

Tardis

Nou ik heb ook 2 tabellen. Een tabel Leverancier en een tabel Leveranciers.
In de tabel Leverancier komen de zelfde velden voor als in tabel Leveranciers want deze horen in het rapport te verschijnen.
Is het niet de bedoeling dat ik 1 tabel heb met gegevens (leveranciers, artikelen, aantallen, prijzen, contactpersoon, etc.) EN een ander tabel die dezelfde velden heeft alleen dan niet ingevuld? Want in de lege tabel horen dan de geselecteerde artikelen te komen.
Deze worden dan uiteindelijk verwezen naar het rapport.

Sorry ik ben ook echt een beginner met access :$
 
Is het niet de bedoeling dat ik 1 tabel heb met gegevens (leveranciers, artikelen, aantallen, prijzen, contactpersoon, etc.) EN een ander tabel die dezelfde velden heeft alleen dan niet ingevuld?

Je begint zo te lezen net met Access.
Nee dit is absoluut niet de juiste aanpak.
Ik denk dat het handig is als je je eerst eens meer verdiept in de basis en pas daarna aan de slag gaat.
Volgende sites kunnen je helpen om meer wegwijs te worden in Access

http://www.gratiscursus.be/access_2003/index.htm

http:/www.softwijs.nl/cursusboeken.html

Tardis
 
Ik zal is kijken.
De database die ze hier hebben heeft me ook helemaal verward.
 
Lijkt mij inderdaad geen slechte tip... Ik krijg het vermoeden dat je een Excel bestand letterlijk over hebt genomen in Access, en dat is geen goed uitgangspunt.
Je moet bij het opzetten van je db uitgaan van verschillende gegevens: zoals ik al zei, Leveranciers, maar daarnaast ook Artikelen, en Klanten om het simpel te houden. Dit zijn je Brontabellen. In al die tabellen heb je voor elke klant, leverancier, artikel etc. één record.

Vervolgens maak je om bestellingen vast te leggen een tabel Bestellingen, waarin je een LeverancierID, en KlantID vastlegt, samen met Leverdatum, Prijs etc. De tabel Bestellingen bevat dus, als je begint, geen enkel record, in tegenstelling tot de brontabellen. Bij elke nieuwe bestelling maak je een nieuw record aan, waarin je dus een klant en een Leverancier vastlegt. Voor de volledigheid (hoewel, wat is volledig) zou je aan de tabel Bestelling nog een tabel BestelGegevens moeten hangen, waarin je de Artkelen opslaat. In deze tabel sla je ook de BestellingID op, zodat je voor elk besteld artikel in de tabel BestelGegevens een eigen record aanmaakt.
En dat is nog maar het begin....
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan