Ik heb een database met de volgende eigenschappen:
tabel: werknemers
-werknemerID, primaire sleutel, handmatige nummering.
-werknemer, bevat een naam.
tabel: cliënten
-cliëntID, primaire sleutel, handmatige nummering.
-cliënt, bevat een naam.
tabel: uren
-urenID, primaire sleutel, autonummering
-uren, bevat een getal.
-type, bevat tekst, de activiteit die van toepassing is.
-jaar, bevat jaartal 2007,2008, etc.
-maand, bevat maand in tekst, januari,februari, etc.
-werknemer, gekoppeld aan tabel werknemers om daar de namen uit te halen.
-cliënt, gekoppeld aan tabel cliënten om daar de namen uit te halen.
Nu heb ik een 2 formulieren gemaakt met daarin het volgende;
formulier: Uren invullen kolomweergave
-werknemer, invoervak met keuzelijst
-jaar, invoervak met keuzelijst
-maand, invoervak met keuzelijst
-ondergenoemde subformulier
formulier: Uren subformulier gegevensbladweergave
-cliënt, invoervak met keuzelijst
-uren
-type, invoervak met keuzelijst
gegevens voor formulieren worden alléén uit de uren tabel gehaalt.
Nou heb ik voor het subformulier de velden werknemer, jaar en maand gekoppeld.
Als ik dus bijv in het hoofdformulier werknemer1, januari, 2008 kies, krijg ik alleen de cliënten en uren te zien die met die criteria overeenkomen. Dit werkt gewoon.
Echter als ik in bijv in het hoofdformulier van werknemer wissel, of maand, of jaar, en dat een paar keer dan wijzigen soms de records; cliënt1 bij werknemer1 in januari 2008 wijzigt in cliënt1 bij werknemer2 in januari 2008. En mogelijke variaties daarop treden ook op als ik veelvuldig wissel in het hoofdformulier, dus maand, jaar veranderen ook.
Ook komt het voor dat als ik bij bijv. werknemer1 kijk die 3 records heeft, en dan bij werknemer2, en vervolgens weer terug bij werknemer1 dat er dan nog maar 2 records te zien zijn. Sluit ik het formulier af, en kijk ik in de tabel, of start ik het formulier weer op, dan is de ontbrekende record weer wel terug. Ook als ik bijv de recordnavigatieknoppen van het subformulier gebruik als dit gebeurt en even doorblader komt de record ook weer terug.
Ik heb deze opzet gekozen omdat me dat wel handig leek bij het invoeren van uren zo hoef je maar 1x het jaar en de maand in te vullen, terwijl je tegelijkertijd meteen een overzicht hebt dat ook nog eens 'gefilterd' is, maar dat ongevraagd wijzigen van bestaande record is niet de bedoeling, evenals het 'verdwijnen' uiteraard.
ik heb al geprobeerd om bijv in het hoofdformulier wijzigingen niet te laten toestaan, maar dan kun je geen andere mogelijkheden uit de keuzelijsten selecteren. Records vergrendelen is ook niet de oplossing omdat ik ook wil kunnen invoeren/bewerken. Ik heb ook al verschillende dingen geprobeerd zoals wel autonummering i.p.v handmatige nummering, de verwijzingen voor de formulieren uit de 3 tabellen apart te laten ophalen. Dus werknemers uit werknemers tabel i.p.v uit de uren tabel. Maar het maakt allemaal geen verschil.
Is er een manier om een opzet zoals deze die ik nu heb te maken zondat dat deze problemen optreden? Alles wat me in de goede richting kan wijzen word enorm gewaardeerd. Alvast bedankt voor enige hulp!
tabel: werknemers
-werknemerID, primaire sleutel, handmatige nummering.
-werknemer, bevat een naam.
tabel: cliënten
-cliëntID, primaire sleutel, handmatige nummering.
-cliënt, bevat een naam.
tabel: uren
-urenID, primaire sleutel, autonummering
-uren, bevat een getal.
-type, bevat tekst, de activiteit die van toepassing is.
-jaar, bevat jaartal 2007,2008, etc.
-maand, bevat maand in tekst, januari,februari, etc.
-werknemer, gekoppeld aan tabel werknemers om daar de namen uit te halen.
-cliënt, gekoppeld aan tabel cliënten om daar de namen uit te halen.
Nu heb ik een 2 formulieren gemaakt met daarin het volgende;
formulier: Uren invullen kolomweergave
-werknemer, invoervak met keuzelijst
-jaar, invoervak met keuzelijst
-maand, invoervak met keuzelijst
-ondergenoemde subformulier
formulier: Uren subformulier gegevensbladweergave
-cliënt, invoervak met keuzelijst
-uren
-type, invoervak met keuzelijst
gegevens voor formulieren worden alléén uit de uren tabel gehaalt.
Nou heb ik voor het subformulier de velden werknemer, jaar en maand gekoppeld.
Als ik dus bijv in het hoofdformulier werknemer1, januari, 2008 kies, krijg ik alleen de cliënten en uren te zien die met die criteria overeenkomen. Dit werkt gewoon.
Echter als ik in bijv in het hoofdformulier van werknemer wissel, of maand, of jaar, en dat een paar keer dan wijzigen soms de records; cliënt1 bij werknemer1 in januari 2008 wijzigt in cliënt1 bij werknemer2 in januari 2008. En mogelijke variaties daarop treden ook op als ik veelvuldig wissel in het hoofdformulier, dus maand, jaar veranderen ook.
Ook komt het voor dat als ik bij bijv. werknemer1 kijk die 3 records heeft, en dan bij werknemer2, en vervolgens weer terug bij werknemer1 dat er dan nog maar 2 records te zien zijn. Sluit ik het formulier af, en kijk ik in de tabel, of start ik het formulier weer op, dan is de ontbrekende record weer wel terug. Ook als ik bijv de recordnavigatieknoppen van het subformulier gebruik als dit gebeurt en even doorblader komt de record ook weer terug.
Ik heb deze opzet gekozen omdat me dat wel handig leek bij het invoeren van uren zo hoef je maar 1x het jaar en de maand in te vullen, terwijl je tegelijkertijd meteen een overzicht hebt dat ook nog eens 'gefilterd' is, maar dat ongevraagd wijzigen van bestaande record is niet de bedoeling, evenals het 'verdwijnen' uiteraard.
ik heb al geprobeerd om bijv in het hoofdformulier wijzigingen niet te laten toestaan, maar dan kun je geen andere mogelijkheden uit de keuzelijsten selecteren. Records vergrendelen is ook niet de oplossing omdat ik ook wil kunnen invoeren/bewerken. Ik heb ook al verschillende dingen geprobeerd zoals wel autonummering i.p.v handmatige nummering, de verwijzingen voor de formulieren uit de 3 tabellen apart te laten ophalen. Dus werknemers uit werknemers tabel i.p.v uit de uren tabel. Maar het maakt allemaal geen verschil.
Is er een manier om een opzet zoals deze die ik nu heb te maken zondat dat deze problemen optreden? Alles wat me in de goede richting kan wijzen word enorm gewaardeerd. Alvast bedankt voor enige hulp!