Waarde niet zichtbaar in rapport

Status
Niet open voor verdere reacties.

Busselw

Gebruiker
Lid geworden
20 feb 2017
Berichten
16
Hallo allemaal,

Ik heb het volgende probleem:
Ik heb de volgende tabellen:
Werknemers
Klanten
Uren opvoeren

Bij de tabel klanten is er een gekoppelde werknemer geselecteerd.
Wanneer ik dan de uren ga opvoeren en er heeft iemand anders bij de klant gewerkt dan kies ik een andere werknemer.
Wanneer ik ik de tabel urenopvoeren kijk dan zie ik precies wie er gewerkt heeft en hoeveel uur er gewerkt is.

Nu heb ik een rapport waarbij ik ik werknemer selecteer en kan zien hoeveel uur en bij wie er gewerkt is. Als ik dit op de voornaam doe dan klopt het wel (deze staat ook in de tabel urenopvoeren) Maar wanneer ik in het rapport ook de tabel werknemers bijvoeg en dan de achternaam van de werknemer ook op het rapport wil plaatsen dan laat hij deze alleen zien als de werknemer gekoppeld is aan de klant.

bijv: Piet heeft 5 uur gewerkt bij Jan (omdat Piet heeft ingevallen voor iemand anders is klant Jan niet gekoppeld aan Piet in de tabel klanten)
Nu zie ik in mijn rapport deze uren niet terugkomen bij Piet. ipv 5 uur zie ik er 0.

Heeft er iemand een idee wat ik fout doe?
 
Ik heb geen idee wat je precies aan het doen bent, laat staan wat je fout doet. Mijn gevoel zegt me dat je een tabel mist...
Bij de tabel klanten is er een gekoppelde werknemer geselecteerd.
Dat riekt er naar alsof je per klant maar één medewerker kan selecteren, en als je die dan wijzigt, dat je gelijk de andere persoon kwijt bent.

Dit vind ik ook heel ongelukkig:
Als ik dit op de voornaam doe dan klopt het wel (deze staat ook in de tabel urenopvoeren)
Je hoort in zo'n urentabel helemaal geen voornaam op te slaan, maar het WerknemerID. Dan maakt het helemaal niks uit wat je daarnaast nog laat zien op het formulier of rapport. Dus zowel voornaam als achternaam is dan geen enkel probleem.
In je tabel [Uren opvoeren] zou je dus op zijn minst een WerknemerID moeten hebben en een KlantID zodat je de registraties kunt vastleggen. Als een werknemer altijd voor een aantal vaste klanten werkt, en niet alle klanten, dan wil je nog een koppeltabel hebben (denk ik) waarin je de klanten en werknemers koppelt, zodat je bij het indelen van de uren bij het kiezen van een klant alleen die werknemers ziet die voor die klant werken. Al heb je dan in beginsel een probleem bij vervanging, maar goed daar gaat het hier nu niet om.

Een rapport op basis van de uren zal ofwel de uren/werknemers per klant laten zien, ofwel de uren/klanten per werknemer. En meer smaken zijn er volgens mij niet.
 
Bedankt voor je reactie. Na overleg hebben we besloten dat we onze opzet opnieuw moeten gaan indelen.

Om later geen problemen te krijgen willen we nu vanaf het begin een goede opzet neerzetten.
Wij hebben te maken met:
- Werknemers (deze hebben ook geregeld dezelfde voor- óf achternaam)
- Klanten (deze hebben ook geregeld dezelfde voorletters óf achternaam)
- Uren die opgevoerd moeten worden per periode van 4 weken.

Medewerkers zitten standaard gekoppeld aan een klant. Hier moet bij het opvoeren van de uren voorkomen worden dat de verkeerde 'Linda' geselecteerd wordt, zodat de uren bij de juiste werknemer opgevoerd worden. Daarnaast hebben wij te maken met ziekte of iets dergelijks waardoor er geregeld een andere medewerker wordt ingezet bij de klant.

We weten dat we met werknemersID's moeten gaan werken. Dit willen we dan ook gaan invoeren. Zijn hier nog suggesties voor?
Wij zitten nu zelf te denken aan: Jaartal in dienst - Werknemer - aantal, dat wil zeggen iemand die in 2016 in dienst kwam krijgt 16w1, de 2e krijgt 16w2 etc. Werknemers die in 2017 in dienst zijn gekomen krijgen respectievelijk 17w1, 17w2 etc.

Echter hebben wij de voorkeur om de klanten op de urenbriefjes niet als 'nummer' te vermelden. Dit om het persoonlijk te houden.
Is dit werkbaar of komen wij hier niet onderuit om het juist te registeren?

Ter verduidelijking zal ik een aantal schermprints toevoegen.
Zie:
1. Print wat wij opvoeren van een nieuwe klant
2. Print wat wij opvoeren van een nieuwe medewerker
3. Print van hoe wij de uren opvoeren
4. enkele rapporten welke wij draaien
klantprint.jpg
medewerkersprint.jpg
urenopvoerprint.jpg
rapportenprint.jpg

Tips/suggesties zijn meer dan welkom.

Groeten,

Wil
 
Je Id's in je verschillende tabellen apart benoemen (ID_klant,ID_werknemer,Id_uren, etc...) gewoon numeriek (al dan niet gegenereerd via autonummering) houden waardoor je die gemakkelijkst kunt koppelen, in relaties gebruiken, etc..... en al de rest zoals je "anciënniteit" zijn bijkomende gegevens die je in de andere kolommen van die tabellen gebruikt.
 
Laatst bewerkt:
Ik heb nu de tabellen met verschillende gegevens aangemaakt.
Wat is nu de beste manier om bij bepaalde klanten een werknemer te kiezen? Voorheen had ik de tabellen Werknemer en Klanten.
In mijn formulier klanten had ik een lookup voor de werknemers waarvan ik er dan 1 kon kiezen. Deze werknemer is "vast"maar kan wel ooit wisselen.
Wanneer ik wissel van werknemer dan zijn is de koppeling tussen klant en werknemer weg en zie ik ook bepaalde informatie niet meer terug in mijn rapporten.

Wat is dus de beste manier om een klant aan een werknemer te koppelen? Ik moet ook snel kunnen zien welke werknemer bij een bepaalde klant werkt.
 
Als werknemers bij meerdere klanten kunnen werken, dan is er maar één juiste weg: een tabel tWerknemer_Klant. Hierin hou je bij wanneer een werknemer voor een bepaald klant werkt, dus met begindatum en einddatum. Dat is de enige manier om de historie te behouden en in te kunnen kijken.
 
Zo ga ik het doen Octafish.

Even ter bevestiging.
Wanneer ik mijn tabellen maak doe ik dit dan op de goede manier (zie foto)
Ik maak voor iedere keuze zoals bijvoorbeeld man/vrouw een apparte tabel aan.

Bij de tabellen werknemers en klanten krijg ik dan dus een dropdown waarin ik een de keuzes kan maken.
Is dit de juiste manier of moet ik anders te werk gaan?

tabellen database.jpg
 
Even ter bevestiging. ... Ik maak voor iedere keuze zoals bijvoorbeeld man/vrouw een aparte tabel aan.
Nee, dat is compleet fout. De tabel tblAanhef zul je in een database van mij nooit tegenkomen; nergens voor nodig. Die tabel kent, als het goed is, maar twee opties. Laten we sommige mensen het voordeel van de twijfel geven en er drie van maken. Maar dat hoeft echt niet in een tabel, dat kan gewoon in een keuzelijst met waarden. Een tabel tblDagen? Daar zie ik het nut ook niet van. Maar ik ken je db verder niet, dus daar onthou ik me nog even van verder commentaar. Tabel Opmerkingen? Zodra je ergens een opmerkingenveld nodig hebt, zet je in die tabel een Memoveld en is dat ook geregeld.
Bij de tabellen werknemers en klanten krijg ik dan dus een dropdown waarin ik een de keuzes kan maken.
Nee, dat is niet de bedoeling. Je moet een aparte tabel maken waarin je dan wel een WerknemerID en KlantID zet, maar daarnaast nog velden als Startdatum, Einddatum, eventueel Uren, Vergoeding, etc. Alles wat specifiek slaat op die werksituatie. Omdat je twee koppelvelden hebt, kun je het formulier op beide hoofdformulieren (Klanten en Werknemers) laten zien als subformulier. Bij de klanten zie je dan welke werknemers er zijn (geweest), bij de werknemer zie je dan welke klanten er zijn (geweest).
Maar daar komt dus verder geen dropdown aan te pas. Ja, in het subformulier uiteraard wel, want dat is wel zo makkelijk.

Je eerste opmerkingen doen mij vrezen dat je het principe van tabellen maken nog niet helemaal scherp hebt. Tabellen maak je op basis van entiteiten. Een werknemer is een entiteit, een klant ook. En een werkverband dus ook. Man/Vrouw onderscheiden in aparte tabellen? Waarom? Is een man geen werknemer, of een vrouw niet? Het geslacht is een eigenschap (noemen we: attribuut) van de entiteit Werknemer. Dus gewoon één tabel, met een veldje met een keuzelijst met het geslacht er in is meer dan voldoende. En aangezien die keuzelijst maar drie, maximaal vier waarden kent is een tabel wel een beetje overdreven.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan