Tabellen, formulieren en query

Status
Niet open voor verdere reacties.

Nadinev1986

Gebruiker
Lid geworden
12 mei 2010
Berichten
8
Hallo

Ik ben voor ons bedrijf (werving en selectie kantoor) een database aan het maken waar alles in staat.
Zowel de vacatures waar we voor mogen zoeken, de kandidaten en alle acties die we doen met de bedrijven.
Dit alles is tot nu toe goed gelukt tot ik op een probleem stuitte.

Ik heb een tabel met alle gegevens van de kandidaat in (Kandidaatgegevens). (naam, voornaam, postcode, gemeente, gewenste functie, loonindicatie ...)

Ik wil dan ook graag de starters invoeren dus heb ik een nieuwe tabel gemaakt met als opzoeking naar 'Kandidaatgegevens' om de voornaam en naam op te zoeken. (sleutelkolom verbergen, Voornaam, Naam: opzoekingskolominhoud).
In deze tabel staat dan ook nog de startdatum en nummer van aanvraag( ook opzoekingskolom naar de beschikbare vacatures die wij hebben).

Dus ik heb

Kandidaatgegevens
Kandidaat ID
Voornaam
Naam
Postcode
Gemeente
Functie
Diploma
etc.

Starters
Kandidaat ID (opzoekingskolom)
Startdatum
Nummer aanvraag (opzoekingskolom)

Om een formulier te maken om een nieuwe starter in te geven maak ik dan een query van Starters en Kandidaatgegevens.
Hierin staat dan

Starters query
Kandidaat ID (uit de tabel starters)(hier kan je dan de voornaam en naam van de kandidaat kiezen)
Naam (dit wordt dan automatisch ingevuld)
Startdatum
Nummer aanvraag

Tot hier lukt het goed.

Maar dan...
Ik wil ook graag een evaluatieformulier maken. We contacteren de kandidaten altijd na 1 maand, 3 maanden en 6 maanden (deze formule heb ik wel gevonden via DateAdd).
Dus dan dacht ik een tabel te maken met de nieuwe informatie in.

Evaluatie
Kandidaat ID
Opvolgingsdatum 1
Feedback kandidaat 1
Feedback bedrijf 1
Opvolgingsdatum 2
Feedback kandidaat 2
Feedback bedrijf 2
Opvolgingsdatum 3
Feedback kandidaat 3
Feedback bedrijf 3

In deze tabel had ik dan ook graag automatisch de startdatum en aanvraagnummer gehad (vanuit de tabel starters), maar als ik deze dingen samen in 1 query steek dan kan ik de query niet meer gebruiken om een formulier van te maken. Ik krijg alleen maar gegevens en kan niets meer aanpassen. Ik moet eerlijk zeggen dat ik niets van VBA ken... en ik vrees dat daar mijn oplossing ligt.

Ik hoop dat jullie me kunnen helpen met mijn vraag!
 
Waarom wil je de Startdatum en Aanvraagnummer uit Starters opslaan in Evaluatie? Zijn dit per Evaluatie record andere gegevens?
 
Je moet je database verder normaliseren. Je repeating groups zitten je dwars. Kijk naar je kandidaat gegevens. Als iemand van functie verandert dan ben je de historie kwijt op het moment dat er een nieuwe functie wordt ingevuld. Maar misschien is die historie niet belangrijk?
Tweede punt is dat je geen rekening hebt gehouden met het feit dat sommige mensen meerdere diploma's halen. Je weet nooit hoeveel dus daar moet je rekening mee houden. Dit is hetzelfde probleem als je evaluatie tabel. Als je kolom namen een cijfer hebben dan moet je meestal verder normaliseren.
Dat betekent dat je een tabel krijgt:

Tabelnaam: Evaluatie
Veld1: Id - Autonummer
Veld2: KandidaatID - Long (lookup link naar je kandidaat tabel)
Veld3: Opvolgingsdatum - Datum (default: Date())
Veld4: FeedbackKandidaat - Tekst
Veld5: FeedbackBedrijf - Tekst

Tabelnaam: KandidaatFunctie
Veld1: Id - Autonummer
Veld2: KandidaatID - Long (lookup link naar je kandidaat tabel)
Veld3: FunctieId - Long (lookup link naar je Functie tabel met daarin alle beschikbare functies)
Veld4: Datum - Datum

Tabelnaam: KandidaatOpleiding
Veld1: Id - Autonummer
Veld2: KandidaatID - Long (lookup link naar je kandidaat tabel)
Veld3: DilplomaId - Long (lookup link naar je Dilpoma tabel met daarin alle beschikbare diploma's)
Veld4: Datum - Datum

Als je dit gedaan hebt dan kan je nog steeds verder zonder gebruik te maken van VBA.

Succes!
 
@ Guus2005 Ik denk dat je mij verkeerd begrepen hebt. Dat gedeelte van mijn database werkt goed...

Het is het gedeelte van de starters en hun evaluatiegesprekken dat niet goed loopt. Ik heb dus starters en ik wil na een tijdje daar evaluatiegesprekken van ingeven in een apart formulier. Zodat we alleen maar de naam moeten ingeven van de kandidaat en dat we dan automatisch zien voor welke "nummer aanvraag" hij gestart is en op welke datum, en dat we dan alleen maar moeten ingeven wanneer we het gesprek doen en de feedback van de kandidaat en het bedrijf.


@ OctaFish
Ik heb dat misschien een beetje verkeerd uitgelegd, dat moet van mij niet in de tabel maar wel in de query tevoorschijnkomen en ik krijg het wel klaar dat de startdatum en de nummer van aanvraag erin voorkomen maar ik kan de query dan niet meer bewerken...

Aangezien dat ik niet weet hoeveel evaluatiegesprekken er gaan worden ingegeven per starter/aanvraag dacht ik dat ik een aparte tabel moest maken van de evaluatiegesprekken.
 
Om een query te kunnen bewerken, moet je hem baseren op één tabel, de tabel die je wilt opslaan. De velden die je uit andere tabellen wilt laten zien in de query kun je dan uit de gerelateerde tabellen halen, en worden getoond op het moment dat je een waarde invult in de tabel.
De reden dat je een query niet kunt bewerken/toevoegen ligt vaak in het feit dat je uit de gerelateerde tabel het sleutelveld meeneemt in de query. Dit zorgt ervoor, dat je een query niet meer kunt bewerken, al was het maar omdat je een sleutelwaarde maar één keer kunt toevoegen aan die koppeltabel. Je zult dus moeten kijken naar de tabel waaraan je de koppelwaarde hebt gehangen.
Voorbeeldje: je kunt bijvoorbeeld in je query het veld [Kandidaat ID] uit de tabel [Evaluatie] halen, of uit de tabel [Starters]. In de tabel Starters is het veld een sleutelveld. Gebruik je dit veld, dan is de query niet bij te werken. In de tabel [Evaluatie] is het veld een gekoppelde waarde. Gebruik je deze tabel, dan is de query wel bij te werken.
 
Dit lukt op zich wel, maar dan zou ik de kandidaten moeten opzoeken aan de hand van hun ID nummer aangezien ik die zo laat opzoeken in de starterstabel. Natuurlijk is dit wel mogelijk maar niet echt praktisch.
 
Ik vermoed dat we een beetje langs elkaar heen aan het werken zijn.... je hebt het over een query die niet meer bij te werken is. De reden waarom dat zo is of zou kunnen zijn, heb ik hierboven uitgelegd.
Verder vermoed ik dat je deze query als basis gebruikt / wilt gebruiken voor je formulier, en dan moet hij uiteraard records kunnen wegschrijven... Op dit formulier gebruik je neem ik aan een keuzelijst met invoervak om de kandidaat te selecteren? Deze keuzelijst stel je zo in dat je de naamgegevens ziet; hij moet echter de KandidaatID opslaan. Je selecteert dus op naam, maar slaat het KandidaatID op in de tabel Evaluatie.
 
@ OctaFish
Ik denk dat je mij goed hebt geantwoord, ik heb gewoon teveel vragen :p
 
Teveel vragen? Dat wil ik nog wel eens meemaken :d
Kom je er nu uit?
 
Ik zal nog eens een poging doen om mijn ander probleem uit te leggen :).

Ik heb mijn tabel met Kandidaatgegevens waaronder
Kandidaat ID
Voornaam
Naam

En dan heb ik een tabel Starters waaronder
Kandidaat ID (zoek ik in mijn tabel Kandidaatgegevens (sleutel verbergen, voornaam, naam)
Startdatum
Aanvraag nummer

Hier maak ik dan een query van die ik noem Starters query waaronder de velden
Kandidaat ID (zoek ik in mijn tabel Kandidaatgegevens)
Naam (wordt dan automatisch ingevuld)
Startdatum
Aanvraag nummer

Van deze query maak ik dan een invulformulier.


Van deze starters zou ik ook graag gegevens van het evaluatiegesprek toevoegen. Ik dacht ik maak dan weer een tabel Evaluatie, met daarin
Kandidaat ID (zoek ik in mijn tabel Starters)
Datum gesprek
Feedback kandidaat
Feedback bedrijf
Positief?

En dan een query die ik noem Evaluatie query met daarin
Kandidaat ID (vanuit mijn tabel Evaluatie)
Startdatum
Aanvraag nummer
Datum gesprek
Feedback kandidaat
Feedback bedrijf
Positief?
Hier zou ik dan ook graag de naam in laten zien van de kandidaat die automatisch wordt ingevuld en dat mijn kandidaat ID de voornaam bevat maar op dit moment krijg ik alleen de kandidaat ID te zien

Hier zou ik dan ook weer een formulier van willen maken om deze evaluatiegesprekken in te voeren...

Misschien zou ik toch beter een VBA cursus volgen? :o
 
Ik zal nog eens een poging doen om mijn ander probleem uit te leggen :).

Ik heb mijn tabel met Kandidaatgegevens waaronder
Kandidaat ID
Voornaam
Naam

En dan heb ik een tabel Starters waaronder
Kandidaat ID (zoek ik in mijn tabel Kandidaatgegevens (sleutel verbergen, voornaam, naam)
Startdatum
Aanvraag nummer

Hier maak ik dan een query van die ik noem Starters query waaronder de velden
Kandidaat ID (zoek ik in mijn tabel Kandidaatgegevens)
Naam (wordt dan automatisch ingevuld)
Startdatum
Aanvraag nummer

Van deze query maak ik dan een invulformulier.


Van deze starters zou ik ook graag gegevens van het evaluatiegesprek toevoegen. Ik dacht ik maak dan weer een tabel Evaluatie, met daarin
Kandidaat ID (zoek ik in mijn tabel Starters)
Datum gesprek
Feedback kandidaat
Feedback bedrijf
Positief?

En dan een query die ik noem Evaluatie query met daarin
Kandidaat ID (vanuit mijn tabel Evaluatie)
Startdatum
Aanvraag nummer
Datum gesprek
Feedback kandidaat
Feedback bedrijf
Positief?
Hier zou ik dan ook graag de naam in laten zien van de kandidaat die automatisch wordt ingevuld en dat mijn kandidaat ID de voornaam bevat maar op dit moment krijg ik alleen de kandidaat ID te zien

Hier zou ik dan ook weer een formulier van willen maken om deze evaluatiegesprekken in te voeren...

Misschien zou ik toch beter een VBA cursus volgen? :o

Want als ik deze kandidaat ID uit de query Evaluatie ga opzoeken bij Kandidaatgegevens dan wordt mijn startdatum en aanvraag nummer niet meer ingevuld
 
Ik heb een simpel voorbeeldje gemaakt, maar i.v.m. de nieuwe weblayout kan ik 'm niet uploaden op het werk. Doe ik dus vanavond wel...
 
:thumb: dankjewel!!!! Ik zit vol ongeduld te wachten, want ik ben nu al een paar dagen alleen maar hierover aan het denken hoe ik dit nu voor elkaar ga krijgen!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan