Toon posts:

[Access] gebeurtenis in tabel of formulier

Pagina: 1
Acties:
  • 147 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Goedendag,

Ik ben bezig met een eenvoudige uren-facturatie aan het opzetten. Nou heb ik o.a. een tabel Werknemer waarin o.a. het uurtarief per werknemer staat. Daarnaast heb ik de tabel Factuur en Factuurregel. In de tabel Factuurregel moeten worden ingevoerd welke werknemer welke werkzaamhden heeft verricht. Hierbij moet per werkzaamheid een starttijd en een eindtijd worden ingevoerd. Als laatste moet achter iedere werkzaamheid komen te staan hoeveel het kost (hoeveel er gefactureerd wordt). Dit moet met de volgende "formule:"

Prijs = (Eindtijd - Starttijd) * Tarief werknemer

Hoe krijg ik deze formule in het veld Prijs van de tabel Factuurregel?

Alvast bedankt!

Ps. Uiteraard werkt het geheel mbv formulieren.

Verwijderd

eerst de tijden ophalen uit de formulieren:

als soucre iets van: form.formnaam.veldnaam (dit 2x begin en eindtijd) en natuurlijk je tarief.
in expression builder kan je dit heel mooi aangeven en ook gelijk je code opbouwen.
deze code die koppel je dan aan het veld (de properties source) waar je deze data wilt hebben.\


Ik hoop dat ik het een beetje duidelijk heb uitgelegd :)

Verwijderd

Topicstarter
Bedankt voor je reactie, maar nee kan je niet helemaal volgen. Moet dat met een query? Of waar vul ik dat anders in?

groet,

Verwijderd

als je eigenschappen neemt van het veld waar je de waarde "Prijs" in wil zien. Heb je daar onder het tabblad "data" de optie "source". als je hier achter klikt op het knopje met "..." dan kan je kiezen voor expression builder.
hier kan je dan aangeven dat je van je (huidige / openstaande) formulier waardes kan kiezen. iets van form > loaded form > en dan een veld (bijv. eindtijd) << hiermee haal je de waarde uit het veld van het formulier >>
hier kan je dan mee rekenen...

Hoop dat het duidelijker is... Ik zit namelijk op mijn werk en heb hier geen access ;)

of je zou VB code moeten gebruiken, maar dan moet je even kijken bij:
http://office.microsoft.com/nl-nl/access/HP051866341043.aspx

Verwijderd

Topicstarter
Ja, op deze manier had ik het al geprobeerd, maar ik krijg dan #Naam?
Dit komt misschien omdat per werknemer een tarief wordt gehanteerd. Er zijn dus verschillende tarieven. Ik zal het iets uitgebreider uitleggen, dan is het denk ik wat makkelijker te begrijpen.

Ik heb 5 tabellen:
Klant, hierin staan de klantgegevens (NAW), ieder met een klantnummer (autonummering)
Werknemer ,hierin staan de werknemergegevens, ieder met een werknemer#, daarnaast staat hierin het (uur)tarief voor deze werknemer.
WerkID, WerkID# en werkomschrijving
Factuur, factuurnummer (autonummering) en klantnummer (opzoeken uit tabel Klant)
Factuurregel(subformulier van Factuur), met dus factuurnummer, Werknemer#, WerkID, starttijd, eindtijd en prijs.

Van deze tabellen zijn formulieren gemaakt. Nu moet dus in het formulier Factuur(met subformulier Factuurregel) worden ingevoerd met welke klant men bezig was, dus klantnummer. In het subformulier moet worden ingevuld wie met die klant bezig was (werknemernummer), welke werzaamheid is uitgevoerd (WerkID), wat de starttijd en de eindtijd van die werkzaamheid was. Vervolgens moet worden berekend wat die werkzaamheid koste, in veld "Prijs". Dus de eindtijd - starttijd * tarief van de werknemer die met die klant bezig was (tarief uit de tabel Werknemer).

Hoop dat het zo iets duidelijker is?!

  • Boss
  • Registratie: September 1999
  • Laatst online: 17:42

Boss

+1 Overgewaardeerd

Dan moet je de query achter het formulier zo aanpassen dat je werknemer erbij pakt, zodat je zijn tarief kan gebruiken in het formulier.

Wat doe je overigens als van een werknemer zijn tarief hoger wordt? Dan is je hele historie niet meer kloppend...

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Het gaat hier maar om 3 werknemers, dus voorlopig zullen de tarieven gelijk blijven. Hier hoeft dus geen rekeing mee gehouden te worden.

Het werkt alleen nog steeds niet :|

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15-07 20:48

Janoz

Moderator Devschuur®

!litemod

Een factuur regel is toch geen werkzamheid? Waar is de tabel werkzaamheden?
Het gaat hier maar om 3 werknemers, dus voorlopig zullen de tarieven gelijk blijven. Hier hoeft dus geen rekeing mee gehouden te worden.
Deze aanname is de grootste fout die je in de informatie analyse en software ontwikkeling kunt maken. Over 3 jaar is er zo lang aan deze applicatie lopen kloten onder het motto 'het werkt, maar net niet, hang dit er even aan' en dan ineens moet het wel. De hele bedrijfs geschiedenis staat in een verouderd formaat en in het kort ben je op dat moment gewoon borked...

Andere dingen: Misschien wil je nog andere dingen in je factuur opnemen dan werkzaamheden (denk aan vaste kosten als voorrijkosten en geleverde producten/diensten/licenties).

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
Werkzaamheden staan in de tabel WerkID, met een werkIDnummer en een omschrijving. In de factuurregel moet dus worden opgenomen welk WerkID van toepasssing is. Het gaat hier om een hele eenvoudige toepassing voor alleen werkzaamheden zoals telefoontjes, emails beantwoorden etc. Overige kosten worden dus niet gemaakt.

Het gaat hier om een tijdelijke toepassing, omdat de uiteindelijke toepassing in de maak is. Tot die tijd willen we het op deze manier doen. Voor die tijd veranderen de tarieven zeker niet.

Maar kan mij worden uitgelegt welke query ik moet gebruiken en hoe ik deze toepas?

  • Boss
  • Registratie: September 1999
  • Laatst online: 17:42

Boss

+1 Overgewaardeerd

Ik geef hierboven het antwoord... achter het subformulier zet je in de recordsource een query die bij de gekozen werknemer zijn juiste tarief opzoekt. En die kan je dan weergeven op het formulier en verder mee rekenen (dat rekenen kan je dan ook beter in de query doen).

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.

Pagina: 1