Prijzen up-to-date houden

  • Onderwerp starter Onderwerp starter VREG
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

VREG

Gebruiker
Lid geworden
11 sep 2007
Berichten
29
Ik werk in Acces 2007 aan een eenvoudig stockbeheerprogramma. Ik probeer me zoveel mogelijk te behelpen met macro's (wegens te weinig kennis van VBA). Ik heb een tabel met artikelen, met daarin een veld 'Laatste aankoopprijs'. In een andere tabel worden aankopen geregistreerd. Bij elke nieuwe aankoop moet de aankoopprijs gekopieerd worden naar het veld in de tabel Artikelen, zodat daar steeds de recentste prijs staat. Hoe kan ik dit doen?
 
ik doe niets met macro's maar als je in VBA wilt duiken dan kan ik je helpen. Als je je een beetje uit kan drukken in het engels dan moet je hier maar eens kijken.
 
Ik werk in Acces 2007 aan een eenvoudig stockbeheerprogramma. Ik probeer me zoveel mogelijk te behelpen met macro's (wegens te weinig kennis van VBA). Ik heb een tabel met artikelen, met daarin een veld 'Laatste aankoopprijs'. In een andere tabel worden aankopen geregistreerd. Bij elke nieuwe aankoop moet de aankoopprijs gekopieerd worden naar het veld in de tabel Artikelen, zodat daar steeds de recentste prijs staat. Hoe kan ik dit doen?

Access is een krachtig tool om inderdaad gegevens te koppelen.
Maar veel kractiger is Access om gegevens ook te tonen (Formulieren of rapporten)
Belangrijk bij jouw vraag is, wil je de gegevens volgens jouw vraag tonen of wil je je ze alleen "maar aan elkaar plakken" .
Want daar in zit een wereld van veschil.

Laat dat even weten

Wim
 
Ik heb een formulier, waar alle gegevens over een artikel worden getoond, dus ook de laatst ingegeven prijs. Die prijs veranderd telkens ik dit artikel terug aankoop. Daarom dacht ik bij elke aankoop dit gegeven (de aankoopprijs) te kopieren naar de tabel artikelen. Voorlopig probeer ik mij te behelpen met macro's, maar probeer me ondertussen wel te verdiepen in VBA.
 
Ik heb een formulier, waar alle gegevens over een artikel worden getoond, dus ook de laatst ingegeven prijs. Die prijs veranderd telkens ik dit artikel terug aankoop. Daarom dacht ik bij elke aankoop dit gegeven (de aankoopprijs) te kopieren naar de tabel artikelen. Voorlopig probeer ik mij te behelpen met macro's, maar probeer me ondertussen wel te verdiepen in VBA.

Je hebt dus twee aparte tabellen.
Een met aankopen en een met artikelen.
De tabel aankopen wordt gebruikt in het formulier.
Als nu iedere keer dat de aankoopprijs veranderd moet deze worden opgenomen in de tabel artikelen.
Ik weet niet precies de namen van de tabellen en de rubrieken maar zoiets als hieronder zou moeten werken in VBA.
Hiervoor moet je een 'gebeurtenisprocedure' opnemen bij de rubriek [Aankoopprijs] bij 'Na bijwerken' zodat iedere keer dat deze rubriek wordt bijgewerkt onderstaande query wordt opgestart.

Code:
Private Sub Aankoopprijs_AfterUpdate() 
Dim stsql as string
stsql = "UPDATE [Artikelen]  SET [Laatste aankoopprijs] = " & Me![Aankoopprijs] & WHERE [Artikelnr] = "& Me![Artikelnr] & ";"
DoCmd.Runsql stsql
End Sub

Succes
Wim
 
Hallo Wim en Guus,

Bedankt voor uw reacties. Maar voorlopig lukt het niet. Misschen omdat mijn tabelstructuur iets complexer is dan ik heb uitgelegd.In bijlage stuur ik de tabelstructuur en de database. Ik heb een formulier gemaakt van de tabel artikelen en een formulier van de aankoopfactuur. In dat laatste formulier zit een subformulier op basis van de tabel aankopen. Bij elke aankoop vul ik dus in het subformulier de aangekochte artikelen in. De aankoopprijs moet dan ook in de tabel artikelen terechtkomen om daar steeds de recentste prijs te krijgen.
 

Bijlagen

  • Knipsel.JPG
    Knipsel.JPG
    25,1 KB · Weergaven: 51
  • Artikeltest.zip
    Artikeltest.zip
    47,6 KB · Weergaven: 19
Op de een of andere manier kan ik je zip-file niet openen. Wil het nog een keer poberen?
Maar ik heb wel een idee over waarom deze UPDATE niet werkt.
De Me! werkt alleen als alles op het zelfde formulier staat. Als een van de waardes op een hoofdformulier staat en de andere op een sub-formulier dan moet het iets anders.
Maar dan moet ik wel weten vanuit welk formulier (hoofd of sub) de update gedaan moet worden. Ik denk het subformulier, maar zeker weten doe ik het niet.

Wim
 
Ik had al het vermoeden dat daar de fout ergens lag. Ik geef de prijs van het artikel inderdaad in het subformulier in. In bijlage de database (ik heb enkel de velden die van belang zijn er in gezet)
 

Bijlagen

Ik had al het vermoeden dat daar de fout ergens lag. Ik geef de prijs van het artikel inderdaad in het subformulier in. In bijlage de database (ik heb enkel de velden die van belang zijn er in gezet)

Ik hou problemen met het openen van jouw zip file, maar wellicht is dit de oplossen.
Code:
Private Sub Aankoopprijs_AfterUpdate() 
Dim stsql as string
stsql = "UPDATE [Artikelen]  SET [Laatste aankoopprijs] = " & Me![Aankoopprijs] & WHERE [Artikelnr] = "& Forms![[COLOR="Red"][B]hoofdformuliernaam[/B][/COLOR]]![Artikelnr] & ";"
DoCmd.Runsql stsql
End Sub

Op deze manier wordt vanuit het actieve formulier (hier dus het subformulier) gebruik gemaakt van een waarde uit een nieut actief formuier (hoofdformulier).

Alleen nog even de naam van het hoofdformulier invullen en alles zal moeten werken.

Wim
 
Ik heb uw code ingeplakt en de bestandsnamen aangepast. Krijg als melding: Cmpileerfout - Verwacht: instructieeinde.
In bijlage probeer ik nog eens een zip-file door te sturen.
 

Bijlagen

Ik heb uw code ingeplakt en de bestandsnamen aangepast. Krijg als melding: Cmpileerfout - Verwacht: instructieeinde.
In bijlage probeer ik nog eens een zip-file door te sturen.

Ik heb nogsteeds problemen om jouw zip-file opene te krijgen.
Kan je misschien een .rar aanmaken of zelf even proberen of je het .zip file openen kan.

Wim
 
Hallo Wim
Hopelijk is de rar-file nu wel leesbaar. De zip-file die ik doorstuurde kan ik wel openen. Ik heb het bestandje oorspronkelijk gemaakt met Access 2007, maar omgezet naar 2003 omdat ik niet zeker wist met welke versie jij werkt. Hierdoor kan de indeling er wat vreemd uitzien.
 
Hallo Wim
Hopelijk is de rar-file nu wel leesbaar. De zip-file die ik doorstuurde kan ik wel openen. Ik heb het bestandje oorspronkelijk gemaakt met Access 2007, maar omgezet naar 2003 omdat ik niet zeker wist met welke versie jij werkt. Hierdoor kan de indeling er wat vreemd uitzien.

Kan hem nu inderdaad lezen.

Ik zie dan ook meteen dat ik een foutje heb gemaakt in het gebruik van dubbele aanhaningstekens.
Onderstaande code moet dit probleem oplossen\

Code:
    stsql = "UPDATE [tblArtikelen]  SET [LaatsteAankPrijs] = " & Me![AankPrijs] & " WHERE [ArtikelID] = " & Forms![frmAankoopfactuur]![ArtikelID] & ";"

Succes
Wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan