Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Access 2003]Gekoppeld Subform wijzigt ongewenst records*

Pagina: 1
Acties:

Verwijderd

Topicstarter
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!

Verwijderd

Topicstarter
*bump*

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Je hoofdformulier is ook gekoppeld aan de urentabel? Dan verbaast het me niet dat werknemer wijzigt als je werknemer wijzigt eerlijk gezegd. :?

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
Ah, ik snap het. Ik heb mijn hoofdformulier nu laten werken met niet-afhankelijke lijsten, en nu werkt het wel gewoon, zowel het wijzigen als verdwijnen gebeurd nu niet meer. Harstikke bedankt!

edit2: nog even getest, en het verdwijnen gebeurt nog steeds af en toe, voornamelijk als ik in het subformulier op een nieuwe record klik van bijv werknemer1 die dan 2 records heeft, maar die dan niet echt een maak, dan wijzig naar bijv werknemer 2 en klik ik daar ook op een nieuwe record, dan weer terug naar werknemer1, dan krijg ik nog maar 1 record te zien. En het is als het verdwijnt altijd de bovenste record, de laatste(n) blijven wel in beeld. Als ik het formulier sluit en weer open, of als ik de navigatieknoppen onderaan gebruik komt de record ook weer in beeld.(die van het hoofdformulier) Bij het subformulier geeft access ook aan dat er maar 1 record is als die andere helemaal verwijderd is.

Dit is niet zo heel erg, maar enig idee waar dat aan kan liggen?

[ Voor 139% gewijzigd door Verwijderd op 15-04-2008 14:28 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Imho is een een hoofd/subform helemaal niet de goede constructie voor wat je wilt. In feite wil je één formulier met in de kop een aantal comboboxjes die het onderliggende formulier filteren en een aantal defaultwaarden instellen. Het 'hoofdformulier' zou sowieso geen navigatieknoppen mogen bevatten.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Topicstarter
Okay, nu weet ik alleen niet zo goed hoe ik dat kan aanpakken. Als je maar 1 formulier hebt is er de optie niet om velden te koppelen. IME Modus met woorden voorspellen werkt dan ook niet. Op wat voor manier kun je dat dan doen?

Als er VB aan te pas komt houd het op voor mij :)
Pagina: 1