Aantal records in Formulier met subformulieren

Status
Niet open voor verdere reacties.

TheoH

Nieuwe gebruiker
Lid geworden
23 dec 2014
Berichten
4
Ik heb in MS Access 2013 een formulier met 3 subformulieren

Tabel Leden heeft 445 records
Tabel Betalingen heeft 849 records
Tabel Documenten heeft 4 records
Tabel Wijzigingen heeft 38 records

In de relaties zijn er jointtypes allemaal "Alle records uit Leden opnemen en alleen de records opnemen van ... waarvoor de gekoppelde velden identiek zijn"

Dan verwacht ik dat het formulier 445 records heeft, maar er staan 856
Er zal ergens iets fout staan , want dit aantal komt er dicht bij het aantal records uit betalingen.
Maar weet even niet meer waar ik het moet zoeken

Heb in verleden wel met access 2003 gewerkt, maar access 2013 is nieuw voor me.

Heeft iemand een idee wat ik fout doe?
 
Allereerst welkom bij HelpMij!
In de relaties zijn er jointtypes allemaal "Alle records uit Leden opnemen en alleen de records opnemen van ... waarvoor de gekoppelde velden identiek zijn"
Dat heeft geen enkele zin; in je Relaties venster moet je eigenlijk alleen optie 1 gebruiken (de standaard). Het aanpassen naar 2 of 3 heeft in ieder geval niet het effect dat je nastreeft.
Je subformulier koppelt op basis van overeenkomende velden. Dus je ziet (en volgens mij moet je ook niet anders willen) alleen die records in een subformulier die bij het bijbehorende hoofdrecord horen. Maar leg eens uit wat je eigenlijk wilt, want er zal vast een gedachte achter je systeem zitten!
 
records in ledenadministratie

Wat is wil is een ledenadministratie maken, eerst maar een soort basis.

Ik heb 4 tabellen
- Leden - vaste gegevens van lid, zoals naam adres, woonplaats etc
- Betalingen - hierin staat de contributie, de betaling etc per jaar. (in mijn geval nog maar 2 jaar 2013 en 2014)
- Wijzigingen - hierin staan wijzigingen die ik maak in tabel leden, zoals adres wijziging of bank
- Documenten - hierin heb ik een lijst met documenten van de leden, zoals de incasso machtiging, equens bank rekening wijziging etc (met hyperlink om pdf te opeen)

Alle tabellen zijn gelinkt via een veld 'lidnummer'

In een formulier probeer ik dit samen te brengen
-Hoofdformulier Leden
-Subformulier Betalingen
-Subformulier Wijzigingen
-Subformulier Documenten

De formulieren zijn gekoppeld en werken op zich wel.
Als voorbeeld heb ik 3 leden ingevoerd, 6 betalingen (alle leden 2 jaren), 4 documenten en 4 wijzigingen.
Alles lijkt te werken tot ik onder aan het scherm zie ... record 1 van 10
Heb voorbeeld hier bij gedaan.

Uiteindelijk zou ik het wel willen uitbouwen zodat je ook SEPA incasso's kunt doen en koppelen aan administratie.
Mogelijk heeft iemand anders ook al eens zoiets gemaakt en mag ik die als basis gebruiken.
 

Bijlagen

Je bijlage is helaas niet te openen, dus dat moet je misschien nog een keer proberen. Dus ik hou het nu even bij de opmerkingen die je hebt gemaakt. Deze vind ik wel interessant:
- Wijzigingen - hierin staan wijzigingen die ik maak in tabel leden, zoals adres wijziging of bank
In een administratie hou je de wijzigingen doorgaans bij in de tabellen waarin die wijzigingen plaatsvinden. Als een lid dus verhuist, dan verander je het adres in de tabel [Leden]. Meestal heb je er ook weinig aan om de historie op te slaan, al mag dat natuurlijk wel. Maar zelfs dan: je wijzigt de gegevens in de brontabellen, en slaat dan de mutatie extra op in een mutatietabel. Dus waarom deze aanpak?
Met incasso's heb ik geen enkele ervaring, dus daar kan ik niks van zeggen. Maar eerst maar eens een goede kopie van de db posten :)
 
Maar zelfs dan: je wijzigt de gegevens in de brontabellen, en slaat dan de mutatie extra op in een mutatietabel. Dus waarom deze aanpak?
Doe ik ook,
De wijziging doe ik in bestand Leden. En sla de mutatie extra op, met name voor de wijziging in incasso bankrekening
 
In je voorbeeldje zitten een paar fouten, zoals de hierboven al aangehaalde Outer Join in je relaties (moet je echt veranderen). Veel groter probleem (in je voorbeeldje althans) is dat de tabellen niet te koppelen zijn! Er is namelijk met de huidige instellingen geen Referentiële integriteit mogelijk, en dan maakt het natuurlijk helemaal niet uit hoe en wat je koppelt. Je kunt dan net zo goed [Voorletters] koppelen aan [Datum gewijzigd], dat is net zo'n valide koppeling als [Ref] op [Ref]. Nul en gener waarde dus.
Sowieso moet het veld [Ref] in [Leden] een sleutelveld zijn, dat is het nu niet.
Ik zou voor de sleutelvelden ook niet Dubbele precisie gebruiken, maar Lange Integer. Je gaat toch niet achter de komma werken?

Grootste probleem (je formulier): het formulier Leden is gebaseerd op een query, met daarin een combinatie van alle records in alle tabellen. Nergens voor nodig. Baseer het formulier op de tabel [Leden] en je probleem is opgelost.
 
Bedankt voor de hulp

Als je in de ontwerpscherm het besturingselement subformulier gebruikt, dan maakt het zelf een query.
Ik heb nu eerst een formulier gemaakt van uit de tabel en daarna in het besturingselement aangegeven een bestaand formulier te gebruiken .
En dan werkt het naar behoren :)

En iedereen fijne kerstdagen
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan