Variabelen automatisch terug zetten op 0

Status
Niet open voor verdere reacties.

Juules

Gebruiker
Lid geworden
28 jun 2010
Berichten
18
Hallo,

Ik loop tegen een probleem aan met betrekking tot het terug zetten van variabelen. Hieronder de situatie:

Een gebruiker maakt een bestelling van laten we zeggen 3 pennen. De gebruiker moet nu zijn naam selecteren en de datum invullen in een formulier. Access maakt nu dus een nieuw record aan.
Het getal 3 (aantal producten) moet handmatig worden ingevuld.

Via de knop 'voorraad bijwerken' (macro) worden deze 3 pennen van de voorraad afgetrokken.
Echter als je door de records heen bladerd zie je bij elke record nog het aantal bestelde producten. Zodra je op de knop 'voorraad bijwerken' klikt worden deze opnieuw van de voorraad afgetrokken wat dus niet de bedoeling is.

Nu is mijn vraag of het mogelijk is om deze bestelde aantallen automatisch na het bewerken van het record te laten terug zetten op 0 en de nieuwe aangemaakte record te kopieren naar een nieuwe tabel waarin deze variabel niet wordt terug gezet op 0.

Is dit mogelijk?

Met vriendelijke groet,

Juules
 
Vergeet om te beginnen het werken met macro's, dat is veel te beperkt. Zet dus je macro eerst om naar een VBA module. De code kun je dan heel simpel uitbreiden, want je hoeft alleen maar het tekstveld leeg te maken na het bijwerken van de tabel. Dat is een opdracht die er ongeveer zo uitziet: Me.txtAantal="". Bovendien zou ik eerst een check doen of het record is opgeslagen is of niet. Zodra een record is bewaard, kun je dan de knop Opslaan disablen, en pas als er een nieuw record is ingevoerd, of een nieuwe waarde, zet je de knop weer aan. Je wilt uiteraard voorkomen dat per abuis een aantal keer achter elkaar een mutatie wordt ingevoerd.

Ik heb een redelijk goed werkend mutatie voorbeeldje gepost.
 

Bijlagen

  • Voorraad Mutaties.rar
    62 KB · Weergaven: 18
Ik heb totaal geen ervaring met VBA dit is dus ook geen optie voor mij.
Lees ook even je mail
 
Laatst bewerkt:
Als je een bound form gebruikt, wat je volgens mij doet, dan hoef je alleen maar naar het volgende lege record te gaan. De velden worden dan automatisch leeg gemaakt.

Verder weet ik niets van macro's

HTH:D
 
Als ik naar het volgende record ga maakt hij dus een nieuwe record aan. Velden worden dan inderdaad leeg gemaakt maar dit is de bedoeling als je een nieuw record maakt.
Oude records blijven wel navigeerbaar maar blijven dus ook ingevuld. Dit is niet de bedoeling omdat de variablen van de bestelling van iedere record worden afgetrokken van de voorraad. Dus één bestelling wordt meerdere keren van de voorraad afgetrokken wat niet de bedoeling is.

Mijn vraag is dus ook of het mogelijk is om deze waarde na het verwerken op nul te zetten.
 
Ik snap je niet; als je door records bladert, wil je zien wat er eerder is ingevuld. Daarom koppel je een formulier ook aan een tabel, lijkt mij. Het mag niet zo zijn dat je dan automatisch een mutatie uitvoert, maar dat zal het formulier uit zichzelf ook niet doen. Dat gebeurt alleen als je op de knop klikt. En daarvoor moet je dan een gebruiker denk ik op zijn vingers tikken.... Je moet van de eerder waarden afblijven lijkt mij, want dat zijn je gegevens. Wil je muteren zonder problemen, dan is mijn oplossing (een niet-gebonden formulier) een oplossing. Of, zoals ik suggereerde, voorkomen dat de knop actief is. Wat jij wil, e.e.a. regelen met een macro, is bijna niet te doen. Ik zou daar zeker geen tijd in steken. Sterker nog: ik heb een dermate hekel aan macro's, dat ik het zeker niet doe :)
 
twee dingen. pas niet het totaal aan in je tabel. anders weet je nooit waarmee je begonnen bent.
voeg een kolom toe met als naam "update" ofzo.

tweede ding: voer na een druk op de knop niet de macro uit op dat ene record maar op alle records van dat product. zet het totaal in de kolom update

als je nu wilt weten hoeveel je er nog hebt dan hoef je alleen maar het update veld van het totaal af te trekken. als je dan negatief wordt dan weet je dat je update veld niet goed is ingevuld. het toaal laat dan altijd zien waarmee je begonnen bent.

HTH:D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan