contributie betaling bijhouden.

Status
Niet open voor verdere reacties.

Strange Bird

Gebruiker
Lid geworden
13 apr 2004
Berichten
154
Wie kan mij helpen?
Ik heb een opzet van een contributietabel gemaakt.
(zie bijlage)
Nu wil ik het jaartal kunnen selecteren en dan alle leden kunnen zien.


Helaas moeten alle leden minimaal 1 kwartaal betaald hebben voordat ik ze zie.
Dat is dus niet de bedoeling want als ik een nieuw jaar selecteer zie ik helemaal geen leden!

Alvast bedankt voor het meedenken.
 

Bijlagen

Even een gokje zonder de db gezien te hebben...

In een query komen bij gekoppelde tabellen standaard alleen de gegevens naar voren waarvoor in beide tabellen gegevens aanwezig zijn. In het query design venster kun je dat gedrag aanpassen. Klik rechts op de relatie tussen de tabellen en kies voor de instelling die je wilt hebben.


Grtz,
 
Zoiets heb ik ook geprobeerd maar dan werkt heel de zoekfunctie niet meer.

het probleem is natuurlijk dat er een jaartal wordt geselecteerd waar nog geen leden instaan en dan blijft het formuliertje leeg:(
 
Tja, dat is logisch, nietwaar.
Wat je dus zult moeten doen is niet uit de tabel selecteren waarin je je resultaten wilt opslaan.
Je zult dus de selectie van personen en jaartal los moeten koppelen van je resultaat tabel.
Op het formulier krijg je dus een lijstje met alle personen, een lijstje met jaren en een lijstje met de gegevens uit je resultaat tabel.
selectie van een ander jaartal betekent dat je de gegevens uit je resultaat tabel met verversen.
Door bijvoorbeeld te dubbelklikken op een persoon voer je dan een nieuw record op in je resultaat tabel en kun je daar de gegevens voor dat jaar bijwerken.
 
ik denk niet dat bij mij het kwartje helemaal valt...

Ik heb nu een formulier gemaakt met de persoonsgegevens.
Ik heb daarna een formulier met contributie gemaakt.

En die heb ik tezamen op één formuliergezet (naast elkaar ongeveer hetzelfde als mijn basis opzet.

Maar dan krijg ik het nog niet voor elkaar om de leden gelijk te laten lopen aan de contributie kwartalen.

Dus ik denk dat jij wel de oplossing heb maar dat ik het (nog) niet begrijp.
 
Wat ik ook probeer, ik krijg het niet voor elkaar om ook de lege velden te tonen van mensen die in een jaar nog niks betaald hebben. Enig idee waar ik dan nog meer naar zou moeten kijken?
 
Plaats de database even. Ik denk dat dat e.e.a. inzichtelijk zal maken.


Grtz,
 
Heel fijn Beheer25.

Eigenlijk is het een uitbreiding van de opzet die ik al had.

In F_Contributie is de "oude" situatie.
(kies eerst jaartal en vul dan de contributiebetalingen in)

F_Q_Persoonsgegevens is de andere situatie.
Maar als je die runt zie je dat er dezelfde jaartallen aan het unieke ID gekoppeld kunnen worden, dus dubbele gegevens.

En bv lid met unieknummer 0 heeft alleen een jaartal bij 2004 staan. Terwijl ik toch ook 2005 enz erin wil hebben.

Volgens Bartuls moet het kunnen door de gegevens naast elkaar (los) te zetten dus heb ik aparte Query's gemaakt maar helaas... Ik kom er niet uit.
:confused:

Alvast bedankt voor het meedenken
 

Bijlagen

Hmm, ingewikkeld...

Eigenlijk wil je dus gegevens invoeren in records die nog niet bestaan? Dat gaat mis.

Ik denk dat de handigste optie is om voor alle jaartallen en alle leden een record in de contributietabel aan te maken. Dat kun je met een append query redelijk eenvoudig doen.


Grtz,
 
Dat kun je met een append query redelijk eenvoudig doen.
:eek:

Ik weet niet wat een append query is maar daar zal ik dan wel eens naar gaan zoeken.

Dus als ik het goed begrijp maak je dan (bv bij een "nieuw" jaar) een leegrecord aan bij alle leden in mijn tabel?
 
Inderdaad. Voor alle leden voeg je een record toe aan je contributietabel. Zo krijg je die records in ieder geval te zien.

In de nederlandse versie van access heet het trouwens een "toevoeg-query".


Grtz,
 
Ik krijg het niet voor elkaar.
Hoe kan ik ervoor zorgen dat alle leden een leeg record krijgen toegewezen met een bepaald jaar?

Het enige wat ik nu voorelkaar krijg is dat de Access een hele tijd aan het rammelen is en dan er duizenden lege records zijn toegevoegd. Niet echt de bedoeling.:(
 
Controleer bij het kiezen van het jaartal op het formulier F_Contributie of de gegevens al in de tabel zitten. Als er nog geen records voor dat jaartal inzitten kun je ze op dat moment toevoegen. Dat klinkt moeilijker als het is, dat kun je met een simpel stukje code doen.

Dim db As Database
Dim strSQL As String

If DCount("Jaartal", "Contributie per kwartaal", "Jaartal = " & CStr(Me![Combo4])) = 0 Then
strSQL = "INSERT INTO [Contributie per kwartaal] (UniekID, Jaartal) "
strSQL = strSQL & "SELECT UniekID, " & CStr(Me![Combo4]) & " FROM Persoonsgegevens "
Set db = CurrentDb()
db.Execute strSQL, dbFailOnError
Set db = Nothing
Me.Contributie_per_kwartaal_SubForm.Requery
End If

Deze code moet je onder de gebeurtenis Bij Kiezen van de jaartal combo zetten.
 
Bedankt bartuls voor je reactie.

Helaas krijg ik de melding dat Dim db As Database niet gedefinieerd is.
Enig idee waar dat aan ligt?
Zo te zien aan je code heb je mijn voorbeeldprojectje gedownload maar bij mij werkt het (nog) niet.:confused:
 
Moet je even een referentie leggen naar de Microsoft DAO library.
Open een module, menu extra, optie verwijzingen.
 
bedankt!

Ik heb het nog anders opgelost.

Ik heb domweg "Dim db As Database " weggehaald en Nu werkt het perfect!


Vriendelijk dank!
 
Zo zie je maar weer, met een paar regeltjes programmeren kun je alles doen wat je wilt.
En zo moeilijk is het nu ook weer niet.
 
dan zou ik maar niet vertellen hoelang ik hier al op aan het broeden ben...
 
Leer programmeren, mijn waarde, dat bespaart je een hoop tijd.:p :D :cool:
 
Niet goed gelezen

Strange Bird

Ik had je probleem gelezen en gezocht naar een oplossing voor jouw probleem. Echter je probleem was al opgelost. Toch wil ik jem ijn oplossing toch laten zien. Hierbij.

Groetjes
JJ
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan