Stock bijhouden in Access

Status
Niet open voor verdere reacties.

Sven2007

Gebruiker
Lid geworden
8 feb 2007
Berichten
113
Hallo iedereen,

Ik probeer een database te maken met de stock van ons magazijn. Ik heb een tabel met 5 kolommen: Artikelnummer, Artikeltype, Artikelnaam, Gewicht en Stock.

Ik zou nu graag een formulier hebben om een nieuw artikel toe te voegen. Dus een formulier met deze 5 kolommen en een knop 'Opslaan'. Nadat er op de knop wordt gedrukt zou het artikel moeten toegevoegd worden aan de tabel.

Ik heb dit al op verschillende manieren geprobeerd maar duidelijk nog niet de juist want ik kom niet in de buurt. Ik werk met office 2007.

Alvast bedankt voor de moeite.

Sven
 
Nadat er op de knop wordt gedrukt zou het artikel moeten toegevoegd worden aan de tabel.
Begrijp ik het goed, en wil je een niet-gebonden formulier gebruiken om je artikelen toe te voegen? Waarom niet gewoon het formulier baseren op de tabel Artikelen, dan hoef je geeneens een knop te hebben, want dan slaat het formulier de records al gelijk op. Het kan uiteraard prima met een niet-gebonden formulier, maar je haalt jezelf nogal wat overbodig werk op de hals.
 
Als ik dat formulier baseer op die tabel dan heb ik altijd alle gegevens van die tabel terwijl ik eigenlijk gewoon een record wil toevoegen.
 
Daar heb je een knop voor (Nieuw record). Andere optie: zet je formulier in Toevoegmodus (Gegevensinvoer = Ja). Maar dan kun je weer niet bladeren. Ik gebruik meestal 1 formulier met 2 knoppen: bladeren en nieuwe invoeren. De knop verandert de status van Gegevensinvoer.
Luie mensen maken een kopie van het formulier, en veranderen de status per formulier :)
 
Bedankt. Heb nu 2 formulieren. 1 met een tablelvorm waar alles in staat en kan aangepast worden en 1 zoals ik wou om een record toe te voegen.

Ik zou ook een formulier willen maken waarin ik kan zoeken naar een artikel en dan zijn waarden eventueel aanpassen. Dan moet ik met een query gaan werken? Kan ik daar voorbeelden van vinden? Heb niet veel ervaring met Access.
 
Wordt in de cursus uitgelegd, maar het onderwerp komt regelmatig voorbij in dit forum, dus ik denk dat je wel wat voorbeeldjes kunt vinden.
 
Ik wil graag mijn leveringen bijhouden in een tblLeveringen in dezelfde database. Ik heb de tabel aangemaakt met velden: zaaknummer, werfnaam, Adres, Artikelnaam, Aantal, Gewicht, Prijs per dag en datum. Per levering is het zaaknummer, werfnaam en adres hetzelfde en per levering zijn er verschillende artikels. Als er nu dus 20 artikels moeten geleverd worden moet ik 20 keer dezelfde zaaknummer, werfnaam en adres toevoegen. Dit is nogal tijdrovend, kan ik in Access form niet zoiets instellen als automatisch invullen zoals excel wanneer je de eerste letter ingeeft?
 
Per levering is het zaaknummer, werfnaam en adres hetzelfde en per levering zijn er verschillende artikels. Als er nu dus 20 artikels moeten geleverd worden moet ik 20 keer dezelfde zaaknummer, werfnaam en adres toevoegen. Dit is nogal tijdrovend
Dan doe je het toch verkeerd, vrees ik. Als je een database normaliseert, dan kijk je in je tabel naar (bijvoorbeeld) herhalende gegevens die elke keer terugkomen. Zodra je die hebt (in jouw geval: zaaknummer, datum, werfnaam en adres) weet je dat je de structuur moet aanpassen. Bij bestellingen/leveringen met meerdere artikelen, heb je dus een tabel [Leveringen], en een tabel [Geleverde_Artikelen] Leveringen bevat dan de hoofdgegevens per levering met een sleutelveld LeveringID, en [Geleverde_Artikelen] heeft alle unieke artikelen met prijs, en LeveringID zodat je per levering ziet wat er geleverd wordt. Qua formulieren is Leveringen dan een hoofdformulier, en [Geleverde_Artikelen] een doorlopend subformulier.
 
Ik heb het veranderd. Ik ga gewoon een tabel bijhouden met Artikels en hun stock. En dan een formuliertje om stock in te boeken en een formuliertje op stock uit te boeken.

Ik heb een formulier aangemaakt om stock in te boeken. Ik heb een keuzelijst met invoervak 'lijst1' met daarin alle artikelnamen van de tabel Artikels. Ik heb ook een tekstvak 'txtAantal' waarin het aantal binnenkomende stuks van dat artikel zal invullen. Daaronder heb ik een knop 'Opslaan'. Onder die knop opslaan zou ik dit willen maar mijn syntax klopt blijkbaar niet:

Private Sub Knop9_Click()
Update tblArtikelen Set [Stock] = [Stock] + txtAantal.Value
WHERE [Artikelnaam] = lijst1.Value

End Sub
 
En dan een formuliertje om stock in te boeken en een formuliertje op stock uit te boeken.
Daar gebruik je natuurlijk hetzelfde formulier voor; inboeken of afboeken is dezelfde handeling, maar met omgekeerd resultaat. En een aparte knop <Opslaan> is al helemaal niet nodig als het formulier op de tabel is gebaseerd. Tenzij je een niet-afhankelijk formulier gebruikt natuurlijk. Maar waarom zou je voor zoiets simpels?
 
Ik heb niet zo grondige kennis van Access. Ik wil gewoon een eenvoudig formulier waar ik mijn artikel kan kiezen in een keuzelijst en een tekstveld met daarin het aantal dat er bij of afgaat. Ik weet alleen niet hoe ik die update query in gang moet zetten? De keuzelijst en het tekstveld kan ik maken, de keuzelijst kan ik opvullen met mijn artikelen maar de bewerking lukt mij niet. Hoe moet ik dit dan eenvoudiger doen ? Zonder SQL achter de knop?
 
Zoals ik al zei, heb je geen update query nodig. Als je formulier op een tabel is gebaseerd, werk je rechtstreeks op je gegevens en wordt alles gelijk opgeslagen. Ik zou hooguit iets bouwen als je een aparte tabel Voorraad hebt waarin de fysieke getallen staan. Maar in beginsel heb je dat niet nodig. Laten we eens uitgaan van je tabel, met normale veldnamen ;)
Artikelnummer, Artikeltype, Artikelnaam, Gewicht en Aantal, Mutatie, Besteldrempel.
Het veld Mutatie is een keuzelijst met de opties Bij/Af/Correctie. De rest spreekt voor zich. Als de tabel leeg is, en je magazijn ook, begin je met aankopen. Dus voor elk artikel bestel je tig artikelen, en die boek je in met de status Bij. Vervolgens ga je uitleveren. Die records boek je onder mutatie Af. Als de voorraad de drempel nadert, ga je bijbestellen. Die artikelen boek je weer onder Bij. Wil je de voorraad weten, dan tel je dus de records van <Bij> op en daar trek je de records met <Af> vanaf. E Presto: je voorraad!
En zonder één letter te programmeren...
 
We zouden toch graag een formulier hebben apart voor in en uit zodat we ons zeker niet kunnen missen.

Ik weet dat je een formulier kan baseren op een tabel en zo de stock kan aanpassen. Maar het is de bedoeling dat we in een apart formulier het artikel selecteren en dan in een tekstvak ingeven hoeveel er bij komt. Zodat we zelf niet moeten gaan rekenen om de stock aan te passen.
 
Je moet het uiteraard bouwen zoals je het zelf wilt, of dat nu de slimste oplossing is of niet doet niet ter zake. Ik kan hooguit aangeven dat je op een vreemde weg zit, maar meer ook niet. Ik heb regelmatig mutatieformulieren gemaakt, en altijd op basis van één formulier. En ik blijf dat doen :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan